No Open Source or Free Software license is perfect. The BSD licenses allow closed-source proprietors to swipe code created under it and turn it into non-free software. And while the GPL license (authored by Richard Stallman and the Free Software Foundation) seems to be completely unrestrictive in its freedom, in actuality, some say, it ends up more restrictive. In fact, opponents of the GPL say that it infects code like a virus. The offending part of the GPL license, according to the BSD guys, is section 2b, which states: "You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License." (For a GPL perspective, see Part 1.)
The way anti-GPL'ers see it, even the tiniest code snippet can force an entire project to be handed over to the GPL, which could be disastrous for a proprietary software company, and extremely distasteful for a programmer who just wants to maintain control over his own creations.
"If you modify GPL'd code, then Richard Stallman is telling you what you can do with your creativity," say some Open Source advocates. Say you write one line of code to insert a tweak in your favorite Linux tool. The tool happens to be under the General Public License, therefore, say some, your code snippet must be licensed under the GPL as well.
But Georg C. F. Greve doesn't see Stallman holding any sway over programmers. Greve frequently represents the GNU project at conferences, and he writes a column called "Georg's Brave GNU World," which is published in the German Linux-Magazin," the French Linux Magazine, the U.K. Linux-Magazine, and others. He's also a Free Software programmer.
"An author puts his or her code under the GNU General Public License and not under Richard M. Stallman's control," says Greve. "What the GPL says is very much open and can be checked by anyone willing to read it. Those are the terms that a program is being distributed under. Of course what the GPL says has been influenced by the work and thoughts of Richard Stallman, but short of travelling back in time to reverse-modify the GPL there is nothing he could do to gain [that] power."
Here's what the GPL license says about code snippets: "...when you distribute [outside] sections [of code] as part of a whole which is a work based on the [GPL] Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it." BSD translation: GPL is hungry, GPL say, "feed me, Seymour."
Tim Kientzle, former executive editor of Dr. Dobb's Journal, owns a software consultancy and development company by day, and spends part of his spare time in the evenings working on Open Source projects. He says he is careful to avoid working with GPL'd code on these volunteer projects because there's always the possibility the commercial code could be infected by the GPL.
"If I copy code from a GPL project into one of my client's commercial projects, I've placed my client into a precarious legal position. On the other hand, if I'm working on a BSD-licensed project
during the evenings, I can reuse that work in commercial projects or other free projects as I see fit," says Kientzle, who holds a PhD in mathematics from the University of California at Berkeley.
Professor Eben Moglen of the Columbia University Law School, who has given his time for the last seven years as volunteer General Counsel of the Free Software Foundation, the author of the GPL, disagrees. "[Kientzle] may not have fully grasped the legal situation. Any code he writes himself he can both add to existing GPL'd programs and also give to his clients," for inclusion in their projects, says Moglen.
"The GPL isn't greedy, just protective of the work of programmers," he says. "If you devote time and energy to working on a programming project and want to be sure that no subsequent modifier can ever 'take the program private' by making whizzbang improvements or necessary repairs and only releasing that work on proprietary terms, you need the GPL."
To a casual observer, it appears that the two sides are diametrically opposed. But the insiders say that whatever side they take, they all just want freedom of choice. "The GNU movement and the FreeBSD movement have very much common goals, we only differ about how to achieve them," says Greve.
To that sentiment, Kientzle adds: "I think the majority of software users probably feel the same way I do: If you don't like the terms, don't use it. GPL-licensed, BSD-licensed, closed-source are all ultimately just different choices for the consumer, who has the right to make that choice in whatever way suits them. Likewise, software developers have the right to not release their original work or release it under the
terms that suit them."
Even the founder of the Free Software movement, and author of the GPL license Richard Stallman, says the two groups are not squaring off for battle. "This is not just a 'side' issue," says Stallman. But he is adamant that the differences between the Open Source Movement and the Free Software Movement are real and fundamental.
"The Open Source Movement gets a lot of publicity nowadays, with the
result that people often think they have absorbed or replaced the Free
Software Movement," he says. "Media articles labeling our work as 'open source'
often feed this confusion; every week I get mail from someone
addressing me mistakenly as a fellow 'open source developer.' There
must be thousands of people who support the Open Source Movement
because they think I do."
Author's note: I am available to respond to questions, comments, and criticisms. Please post your thoughts in our discussion forum -TG.