BusyBox contains GNU software
Posted Jan 5, 2007 19:34 UTC (Fri) by
landley (guest, #6789)
In reply to:
BusyBox contains GNU software by JoeBuck
Parent article:
New special purpose distributions - Firmware Linux and NSLU2-Linux
> I'm not sure what the motivation of the Firmware Linux guy is: does he
> want to avoid GNU software because it's too bloated for embedded
> systems,
I initially started looking at BusyBox, years ago, when I made the
mistake of looking at the source code for the gnu implementation of cat,
which at the time was 833 lines of C code. There's just no excuse for
that.
A development environment using glibc and coreutils and gnu tar/gawk/gnu
sed etc is over 30 megabytes _compressed_. One using busybox and uClibc
is 12 megabytes, and 90% of that is gcc/binutils. (A surprising part of
the rest is /usr/include.)
Using tcc, I might be able to get it down under 2 megs.
> or does he just dislike RMS and tired of the FSF taking credit for
> everything?
I find them taking undeserved credit for stuff annoying, yes. (Linux
forked off of _Minix_, the GNU project was already dead.) But the fact
they regularly produce _crap_ is what motivates me to actually do
something about it.
FSF-sponsored projects tend to bloat until they stagnate and die,
although it's not always obvious. (The original gcc died, forked off
egcs, then egcs inherited the name (gcc 2.95) and was suckered into
letting the fsf take over again at 3.0. A similar thing happened with
glibc->glibc2 (another "fork inheriting the name from the FSF's failed
attempt"). The most _successful_ gnu ones are the ones like tar that go
5 years between releases (tar 1.13 1999, tar 1.14 2004. And don't tell
me "there was nothing that needed doing", tar 1.13 didn't support -j to
do bzip2 and everybody who distributed it patched that in.)
> but if the latter, much of the BusyBox code is copyrighted by the Free
> Software Foundation; many of the BusyBox applets are just stripped-down
> versions of the corresponding GNU programs.
Hi, I wrote my first busybox applet in 2003, and was the de facto BusyBox
maintainer by 2005, and official maintainer in 2006. BusyBox has well
over 100 commands, and a quick grep shows that the only files with FSF
copyright notices are ash, printf, uname, expr, fold, gzip, stty, sum,
uuencode, state, md5, xgetcwd, time, our built-in copy of the shadow
support code, and some of the menuconfig infrastructure taken from the
linux kernel. Most of the busybox applets are our own implementations.
I personally wrote lots of 'em: sed, sort, mount, bunzip2, netcat, df,
dmesg, halt, losetup, mkswap, umount, seq, switch_root...
Being FSF free someday is to prove a point (GNU/Linux/Dammit is a
misnomer), but it's also a todo item rather far down on the list.
Working well in 4 megs of ram on a NOMMU system _and_ an x86_64 laptop
with 16 gigs is a lot more important. And having simple clear code you
can read and understand, with minimal environment dependencies... That's
what keeps me going.
(
Log in to post comments)