I'm going out now. I may be some time.
rob at landley.net
Sat Sep 30 13:17:08 PDT 2006
Bruce [expletive delted] Perens sucked all the fun out of this project for me,
and at the moment I really don't want to work on it anymore. He may have
lost the licensing dispute, but he did manage to suck out all my enthusiasm
for working on any project he can take credit for.
I was always a volunteer here, and now it's a chore. I could sit here a few
months to see if I get over it, but I don't think that's in the best
interests of BusyBox. I'm still putting out a 1.2.2 bugfix release (which is
purely mechanical backporting, you can't get writer's block on something like
that), but afterwards I'm leaving Denis Vlasenko in charge: he already has
write access to the downloads directory, and after 1.2.2 further releases are
up to him. As far as I'm concerned, that makes him maintainer. (Also, he's
never wanted the position, I trust his technical judgement, and he didn't run
fast enough when I asked him. These are all important qualifications.)
I'd like to thank TimeSys for letting me spend so much of my time on BusyBox
this year. I wasn't maintainer when they hired me, and there's no shortage
of other things for me to do for them, but they were really cool about it.
Some backstory: I spent a couple years tracking the SCO thing very closely and
doing what I could to help. (You may remember Halloween IX and the OSI
position paper I co-authored? There was more. I laugh at the whole "is PJ
of Groklaw a real person" thing because I was on a conference call with her.
BusyBox isn't the first hobby I've put lots of time into, late at night at
various coffee shops...)
The bit that always got my blood pressure up was the "SCO Disease" theory of
intellectual property, where code could be contaminated with nebulous
ownership claims that you cannot find by examination of the code, and can't
remove no matter what you change. I also studied a lot of detail on the USL
vs BSD case, years ago, where Berkeley had removed all of the AT&T code in
the normal course of a decade of development.
I didn't realize that I'd developed some emotional scars until Bruce showed up
after a decade long absence and arogantly lay claim to everything everyone
else had done with a project he'd abandoned, and started dictating terms. He
didn't even bother to read the archives of the discussion he jumped into. He
could not be swayed with rational argument, wouldn't go off and do something
useful (like maintain his own fork), and even a detailed forensic analysis
showing that we're not using his code anymore (shades of BSD vs USL) wasn't
enough to get him to shut up and go away (and certainly no guarantee against
a return in future), because in some nebulous way he _still_ somehow owned
the project, and always would.
So what if Bruce quickly abandoned BusyBox to the obscurity of the Debian boot
floppy until Erik restarted the project years later? So what if Bruce never
posted to this list for the whole of Erik's tenure? So what if Bruce was so
out of touch that when he finally _did_ post to the list his personal page
taking credit for BusyBox still pointed to busybox.lineo.com which was last
valid in 2001 (and which he apparently only knew about because Erik told him
about it in 1999 according to oldnews.html)? Oddly, I worked on BusyBox for
over two years before I even knew Bruce had anything to do with it, and I
didn't know the details until I did research for that lwn.net article I wrote
a few months ago.
The fact is, Bruce still founded the project, and named it, and is still
taking totally undeserved credit for seven years of Erik Andersen's hard
work, and still thinks he has some kind of moral authority over what we do
with it. And nothing I do will change that.
It's particularly annoying since Bruce didn't make a single original
contribution while founding BusyBox. I'm not referring to "all these command
line tools already existed", I mean even the idea of tying several binaries
together with different behavior based on the name it's called under comes
from gzip. (BusyBox 0.25 includes a badly mangled copy of gzip 1.2.4, and
that varied its behavior based on argv when it was released back in
_1993_.) Bruce never looked at the embedded market as Erik did, or dreamed
of a general-purpose package to replace the bloated gnu stuff like I did.
The project Bruce declared complete and abandoned was approximately as
interesting as Red Hat's "nash" package, which is another "command shell with
things like mount and insmod glued on", this time for initrd rather than boot
floppies. It's by Erik Troan, part of the mkinitrd package, and it's still
in use by Fedora: http://www.die.net/doc/linux/man/man8/nash.8.html
And if you've never heard of "nash", you're in good company, because it didn't
have someone like Erik pick it up and turn it into a general purpose tool.
The last straw was a recent conference call with the SFLC lawyers where they
confirmed that I could release a GPLv2 only version, and confirmed that files
I apply a GPLv2 only patch to can only be distributed GPLv2. But a strict
reading of the GPLv2 apparently requires preserving old license notices even
when they don't apply (since section 2 includes section 1 verbatim; it's a
bit muddy). Apparently it was ok changing them before they pointed this out
since I was acting in good faith, but they wanted me to stop now that they'd
pointed it out to me. They want me to leave the old license notices intact,
and add a new license notice to correct the old one, which is _deeply_ silly,
and probably not an enforceable requirement.
At this point I got a mental image of Bruce pointing and laughing (yes, right
in the middle of a conference call with lawyers), which just won't go away.
As usual, Bruce was wrong on substance in every meaningful way, but managed
to make trouble by harping on a technicality in hopes of finding a loophole.
After years of tracking SCO, boy did _THAT_ feel familiar. And I'm just
sick of it. It was the last straw. I have now officially wandered into "out
out damn spot" territory thinking about Bruce's claims to BusyBox. I see it
every time I look at the code, even though I can PROVE it's not there. How
do you remove something that doesn't exist?
So to me, BusyBox has now acquired Bruce Disease. To say it's no fun anymore
is an understatement: I've developed an aversion to even looking at it. I
just get sick to my stomach at the idea of working on it at all anymore.
I mentioned there's no shortage of non-BusyBox work for me at Timesys
(although they did kind of enjoy having the BusyBox maintainer on staff :).
Hobby-wise if the only way to have a _simple_ license notice is to start over
from scratch, I can do that. I've started a new project called "toybox"
(purely for my own personal amusement so far). Right now it's just a
mercurial repository with a half-dozen files in it, but I'll be porting the
applets _I_ wrote to the new base (and maybe Erik's if he doesn't object, he
already said I can use his code GPLv2 only without actively stupid broken
license notices), and that's also where I'll be writing a new shell and
mke2fs and so on. Maybe I'll put it up at http://toybox.landley.net or some
such when I get the new server I ordered set up. (Which won't be this
weekend. Memo to self: next time I check whether "barebones" includes a
processor or not. :P )
I think this is long and rambling enough. Denis wanted to make sure I'd stay
subscribed to the list, so I will, but I'm not planning on posting much.
Never bet against the cheap plastic solution.
More information about the busybox