I'm going out now. I may be some time.

Rob Landley 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[0] 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 mailing list