People in the Open Source community have their opinions and convictions about the superiority of one Unix-derived OS over another. Everyone has his favorite, and a list of reasons why his favorite should be yours, too.For example, there are lots of differences between Linux and freeBSD, two free operating systems that are competitors for world domination. Even Linux people agree, though perhaps somewhat reluctantly, that BSD is more secure, more stable, and wrapped in a neater package, like the birthday present your mom shopped every store in town for and kept hidden in the closet for months.
And the BSD camp might be a little jealous of Linux -- with its
never-say-die attitude, like a sometimes hurriedly thrown together,
slathered in dayglow spray paint, fast-as-hell homemade go-cart. Sure it
breaks down sometimes, but it goes back together with a little help from
friends, and it's a ton of fun.
Other differences: BSD makes good large-scale server software, while Linux does
better on the desktop. Linux supports more hardware, BSD supports most Linux applications.
BSD is led by a core team, Linux is led by Linus Torvalds.
And while all these differences have been the subject of debate, none cuts to the heart of the perceived gap between BSD and Linux like the issue of licensing differences. "The various free BSDs are under the BSD license, which allows someone
to take the code private," says Bruce Perens, primary author of "The Open
Source Definition," and a founder of the Open Source Initiative. The
BSD license allows developers to modify the source code of software, in much
the same way as the General Public License (GPL).
But unlike the GPL, the BSD license also allows developers to create proprietary software from modified code, without giving those modifications back as Open Source. That causes some consternation among many in the Open Source community, including Perens.
"Suppose I spent a long time writing BSD code, and then someone else took it, made a commercial system out of it, and didn't distribute the source to their modifications under the same license I use," says Perens. "Say they
wouldn't even give out source code at all, and they'd charge a fee for binary copies, and, of course, they'd not compensate me for my work. I'd feel like a dupe. In a way, I would have put in all of that effort as a sort of unpaid
employee. To me, it just doesn't make sense." The reluctance to contribute to such a patently unfair system could be what leads many programmers to avoid BSD and concentrate their energies on Linux, he adds.
By contrast, anything created with GPL code remains Open Source. The software can be sold, but the source code must be included, for free. "The GPL requires that everyone in the market play by the same rules," says Jay Sulzberger, secretary of LXNY, New York's free software support organization. BSD advocates put it another way, claiming that the GPL tries to force everyone to live by its tenets.
Martin Cracauer, a German programmer and Open Source apologist says there are problems with the GPL. "You are not allowed to ship a program in runnable form when the program is built from modules where one of them is licensed under the GPL and another is licensed under a license that has a requirement that isn't part of the GPL's requirements. No matter if these additional requirements are 'evil' or 'good.'"
According to Cracauer, this only serves to discourage the innovations that would come from combinations of software packages. He says that a better choice for developers, one that "doesn't damage other software," is the LGPL, or Library General Public License, which states, "This Library General Public License is intended to permit developers of non-free programs to use free libraries, while preserving your freedom as a user of such programs to change the free libraries that are incorporated in them. The hope is that this will lead to faster development of free libraries."
Author's note: I am available to respond to questions, comments, and criticisms. Please post your thoughts in our discussion forum -TG.