[Distutils] Packaging situation + mailing list rules

Zooko O'Whielacronx zooko at zooko.com
Tue Jul 6 16:15:26 CEST 2010


I don't want to be inflammatory, but I am a user of setuptools and
distribute and I think I have a valid concern that this list should
note.

The fact that Debian and Ubuntu made the "python-setuptools" .deb
install Distribute instead of setuptools, and that Distribute has some
bugs that setuptools doesn't, has caused major headaches for me who is
trying to distribute some software and wants it to work on Debian and
Ubuntu as well as other platforms.

https://bitbucket.org/tarek/distribute/issue/142/easy_install-will-install-a-package-that-is-already

Oh, look! Two days ago Tarek wrote a unit test for my problem! Joy!

(Dear Tarek: I'm sorry I never wrote that unit test. Now you don't
have to wear a Tahoe-LAFS t-shirt.)

So, just to be clear: I'm not contributing to this discussion to say
that the Distribute project or Tarek are bad, or that they are worse
than the Setuptools project or PJE. (Indeed, the fact that Tarek has
written a unit test for this bug is very, very good.)

But I *am* saying that swapping in a large, complicated, buggy piece
of software as a replacement for another large, complicated, buggy
piece of software is a sensitive operation that should only be done
with care and with a good plan to revert to the earlier version. The
fact that Debian and Ubuntu did this without informing their users and
without providing any way to undo this (within the context of the
Debian/Ubuntu packaging system) is a major bungle.

I plead with the members of this list:

1. Please respect the fact that some of your users will sometimes
employ another tool than the tool you are working on. They have their
own reasons, even if it is only "The Devil (bugs) you know is better
than the Devil (bugs) you don't know.". They may have values or
preferences that you don't understand or don't share. Just be
respectful in word and in deed.

2. Be extremely careful when automating such disruptive changes.
Please provide documentation warning users about the change and a
method to revert. This is primarily the job of Debian/Ubuntu in this
case, of course, but distutils-sig and python-dev can probably help by
making it clear to everyone that distribute and setuptools are two
separate, actively developed tools with different strengths and
weaknesses.

3. If you are positioning your tool as an "upgrade" or a "drop-in
replacement" then any regression that a user experiences when they
upgrade is a high-priority issue. Even if Tarek's unit test is right
and the bug fix fixes my problems, then I have to try to get Ubuntu to
patch their version of Distribute which they ship in Ubuntu 10.04
Lucid and then wait for my users to upgrade. Some step in that chain
is probably not going to work for all users, so I will probably be
having to work-around this problem for years to come. In addition, I
have had to change the source code of my own tools to include
work-arounds for this bug, so now I will be supporting my own
work-arounds for months or years.

Thanks for listening, folks. I hope we as a community will make it
easier for people to use these tools in the future. The vast majority
of the users are probably completely unaware of the flamewars on this
list, and that's for the best. :-) Hopefully they will eventually get
better tools and release processes from us and they will be grateful.

Regards,

Zooko


More information about the Distutils-SIG mailing list