This is a forensic analysis undertaken to compare BusyBox 0.25 with current
BusyBox (approximately svn 16124), for the purpose of finding and removing any
code copyrighted by Bruce Perens.
Bruce Perens created BusyBox in 1995 as a utility for the Debian bootloader,
and declared the project complete in 1996, at which point he abandoned further
development. Forks of the code were subsequently maintained by Enrique Zanardi
(for Debian) and Dave Cinege (for the Linux Router Project).
In 1998, Erik Andersen founded a new BusyBox project for Lineo, to create a
general purpose utility package for embedded Linux systems. Erik unified the
Zanardi and Cinege versions of BusyBox, and launched a website, CVS repository,
and mailing list for the new project (asking for and receiving Bruce's
permission to do so). After leaving Lineo, Erik continued this line of BusyBox
development on his own.
Later, I (Rob Landley) began contributing to Erik's BusyBox project with the
goal of upgrading BusyBox into a more efficient general-purpose replacement for
the existing standard Linux command line utility packages (the gnu utils, etc),
without sacrificing the existing simplicity or small size of BusyBox. My
initial goal was to create a busybox-powered development environment (the
Firmware Linux project) capable of rebuilding itself from source code without
any other packages but a compiler toolchain, C library, and kernel. My
eventual goal is to use BusyBox as the set of command line tools on my laptop.
My first contribution to BusyBox was in 2001 (svn 2128), and I was granted CVS
access in 2003 (svn 8252).
After BusyBox's 1.0 release (in October 2004), Erik turned his attention to his
other embedded projects (uClibc and buildroot) which had not yet achieved their
1.0 releases. In August 2005, I got Erik's permission to package and put
out the BusyBox 1.01 bugfix release, and then turned my attention to
stabilizing the development tree for a 1.1.0 release (in January 2006). This
was not an attempt to become maintianer, merely to take some of the load off of
Erik until he had more spare time.
However, the increasing popularity of
embedded Linux led Erik to instead hand off official maintainership of BusyBox
in February 2006, to its de-facto maintainer (me) so he could focus on uClibc
Bruce Perens never even posted to the BusyBox mailing list during Erik's entire
tenure as BusyBox maintainer (a period of over 7 years). In 2006, Bruce's web
page still pointed to BusyBox as hosted by Lineo, a reference which was last
current at the end of 2001. Despite this, in September 2006 Bruce posted a
series of increasingly confrontational mesages to the BusyBox mailing list
objecting to the the plans of the current maintainer (me) to release new
versions of BusyBox under GPL version 2 (rather than GPLv2 or later). This
topic had been discussed on the list for 9 months; he showed up to interrupt
its implementation. His confrontational attitude and lack of tact quickly
burned through the respect and deference his historical contributions were
due, and his repeated demands quickly turned into threats (despite being asked
to fork the project from any of the existing releases if he felt that strongly
about the issue, plus repeated assurance that existing releases remained under
the licenses they had already been released under, and a persistent failure
to explain how "GPLv2" wasn't a compatible subset of "GPLv2 or later").
In one of Bruce's messages, he stated that "you may attempt to prove that
everything I've written has been filtered out over 6 years", and implied it
would be the only way to get rid of him. Since he wouldn't take me up on my
offer to fork off, I'm taking him up on his offer to demonstrate his
This is an effort to either show that Bruce has no copyrights on any of the
current code, or to remove any code shown to have his copyrights, in hopes
that he'll shut up and go away. It's also possible that a detailed analysis
of the origins of BusyBox (predating the current source control system) will
assist future license enforcement efforts, but the motivation is definitely
making Bruce go away.
Rob Landley 暫時稱之為 ToyBox，也可能考慮稱之為 "BusyBox Lite"
After I stopped working on BusyBox I started over from scratch, and this is the result. The goal of toybox is a small, simple, complete implementation of the standard Linux command line utilities, with minimal external dependencies. This project could be considered "BusyBox lite", or perhaps a fleshed out version of Red Hat's nash.