The Free Software Foundation last week released the third version of the GNU General Public License-- GPL 3 (also known as GPLv3).
This CNET News article explains the new features of GPL 3, which the FSF hopes will be adopted by most open-source developers in place of the GPL 2 license. The older GPL 2 will remain available, however.
FSF founder and president Richard M. Stallman has devoted his entire career to making free software--and to making software free. A strong opponent of copyrights, patents, digital-rights management, and all other legal or technical constructs that limit the freedom of software developers and users, Stallman personally developed Emacs, the GNU compilers and debugger, and other programs of key importance in the computer industry.
According to the FSF's press release, the new license provides stronger protection for the freedom of users and improves compatibility with other free-software licenses.
In practice, GPL 3 will also restrict the freedom of some developers and reduce compatibility with commercial licenses.
GPL 3, for example, says that if a commercial device uses GPL 3-licensed code, it must allow modified versions of that code to be used on the device. TiVo, for example, uses GPL 2-licensed code, but prohibits modified code from being used on its products to help protect recorded TV programs from unauthorized redistribution. In such situations, GPL 3 is less "free" than GPL 2 and unacceptable for some commercial platforms.
The FSF also updated GPL 3 to prevent patent deals like that between Microsoft and Novell. I'm no lawyer, but I'm not sure the new license achieves this goal. It's a good bet that Microsoft, Novell and other companies targeted by these changes haven't pointed out any weaknesses in the new language, anyway.
One key test for GPL 3 will be whether it is accepted by Linus Torvalds, originator and coordinator of Linux kernel development. If the Linux kernel stays under GPL 2, other programs commonly associated with Linux probably will too. The many components of Linux that come from the GNU project, however, will presumably move to GPL 3. If a single Linux distribution has both GPL 2 and GPL 3 components, Linux software development will gain a legal complexity it has not previously had.
According to the FSF, all parts of a single program have to be under the same version of the GPL--but what constitutes a program? No doubt there's a definite answer, but do all developers know the answer? This wasn't much of a problem when GPL 2 came out, since it was generally agreed v2 was better than v1, and pretty much everything was moved over to v2. But the disadvantages of GPL 3 for commercial applications will force some hard choices.
I think we're about to find out whether Stallman and the FSF have gone too far in their campaign against intellectual property. Freedom isn't anarchy. True freedom includes the ability to enter into agreements that limit our future options when we believe that's in our interest.
The debate over free software is full of phrases like "free as in beer" (for things of value provided at no cost) and "free as in speech" (for actions which one has the moral right to take). To these, Stallman added the self-contradictory "free as in freedom"-- his idea of "free" being inconsistent with freedom in the ordinary sense, which entails responsibilities such as the obligation to honor one's commitments.
Now it's time to add another phrase to the list: "free as in free software," meaning the freedom to make adversaries of potential partners-- the kind of freedom one has when one's work must be carefully excluded from other people's projects. It seems to me that one of the world's biggest opponents of copyrights and patents has simply found another way to achieve the same results.