⇥ Someone should rewrite Busybox

December 9, 2007
14 comments
 
⇥ Permalink

BusyBox is a very useful set of core UNIX utilities designed with size in mind. As such, it is often used in embedded system, where memory comes at a premium and a compact environment is necessary.


BusyBox is released under the GPLv2, a license which they have been aggressively enforcing, thanks in part to help from the Software Freedom Law Center. So far, they have sued companies like Monsoon Multimedia (note how the plaintiffs’ addresses are redacted from the complaint, but how the defendant’s was left in) and Verizon for selling and distributing products that incorporate BusyBox without disclosing their firmware’s source code as required by the GPL.

Personally, I have no problem with the BusyBox folks suing the pants off of those companies that infringe on their license. They are, after all, very clear on their adoption of the GPL and what they expect those who use their software to do.

Morally, however, I find the GPL repugnant. Its fight-fire-with-fire principle of forcing anyone who uses a piece of software to disclose all their source code in turn betrays its purported ideals of freedom in a disgusting way. There is nothing free about inflicting the GPL on someone just because they use GPL’ed software—it is no different from, say, your cellular provider preventing you from connecting anything but their devices to their network, or forcing you into a contract in exchange for a discount on the cost of your handset.

Open-source software should exist and thrive not necessarily because it is better from a technical perspective (although that is usually a consequence of its other characteristics), but because it is unencumbered with artificial limitations that throttle’s someone’s ability to use it. These could take the form of a commercial developer preventing changes that encroach on their business model, or non-commercial developers who impose limitations on usage and development on others to “encourage” transparency and openness. They are both artificial and limiting—but because the first set of limitations is enforced with profit as the ultimate goal, the peddlers of the GPL want us to think that it is somehow “wrong,” while the GPL’s viral characteristics are just and fair.

As a case in point, I am convinced that if someone came up with an alternative implementation of BusyBox that provides a compatible drop-in replacement that is not, however, encumbered by the GPL, but, say, released under a BSD-style license, BusyBox would suffer an immediate and definitive death for the simple reason that the “freedom value” of the replacement would be so much higher. I would even be willing to be that participation in the development of the replacement would be higher, simply because developers who use the software would not feel constrained by the overbearing limitations of the GPL.