[tahoe-lafs-trac-stream] [Tahoe-LAFS] #2077: pip packaging plan

Tahoe-LAFS trac at tahoe-lafs.org
Wed May 6 20:52:00 UTC 2015


#2077: pip packaging plan
---------------------------+--------------------------------------
     Reporter:  daira      |      Owner:
         Type:  defect     |     Status:  new
     Priority:  normal     |  Milestone:  undecided
    Component:  packaging  |    Version:  1.10.0
   Resolution:             |   Keywords:  pip packaging setuptools
Launchpad Bug:             |
---------------------------+--------------------------------------

Comment (by zooko):

 Dear Glyph: I'm so glad to have your attention on this issue. I hope you
 feel sufficiently rewarded for the time you're putting into this that you
 keep coming back for more.

 I don't have a response to most of this material at this point, but I just
 want to explain "what is the use case" that Glyph was asking about, when
 he wrote "I am trying to understand the desired user experience outlined
 on this ticket." in comment:17.

 There are at least two use-cases: developer and end-user. The one that I
 have been feeling like I am the sole defender of during the last seven
 (!?!) years has the end-user use case. That use case goes like this:

 1. You are a non-developer end-user.
 2. You read [source:trunk/docs/quickstart.rst].
 3. You follow the steps in it.
 4. You have a running tahoe-lafs locally.

 Because of this use-case, an important requirement for me is that changes
 we make do not cause regressions in the above process! If a change causes
 the above process to break, or requires us to add text to
 [source:trunk/docs/quickstart.rst], then that is an important regression
 in my view.

 For example, if a change that we make adds a new dependency, and that new
 dependency has to be manually installed (i.e. it does not get auto-
 installed when you follow `quickstart.rst`), then that fails this test. If
 we make a change and that causes the install process to become different
 on Windows than on Mac OS X, then that fails this test. If we make a
 change and it causes a working, correctly-configured C compiler to become
 a requirement for install, then that fails this test.

 Now, I'm willing to believe that this has been a fool's errand and a waste
 of time all these years. I'm kind of depressed about it, to be honest,
 because I find the alternative of "Tell the user to go find a software
 developer/operating system maintainer that has done this for them" to be
 unsatisfying. (For one reason, because that disempowers those end users by
 making them reliant on that expert, and for another reason, because
 software developers are people too! The software developer that you find
 will have the same problems you had, but just more experience at working-
 around them.)

 But, my point in writing this comment is not to argue that this use case
 is a worthy one, but instead to ''explain'' why we've done so much of what
 we have done over the years, stuff that seems inexplicable if you are
 unaware of this goal of mine.

--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2077#comment:24>
Tahoe-LAFS <https://Tahoe-LAFS.org>
secure decentralized storage


More information about the tahoe-lafs-trac-stream mailing list