Saturday, June 30, 2007

GPL v3 released


As I mentioned earlier this week, the GPL version three is finally out. Richard Stallman read a statement yesterday announcing the much-awaited launch, which will undoubtedly be met with both trepidation and caution in software development circles.

The text will maintain some of the more controversial features present in the drafts. Particularly, one of the most controversial additions is the restriction on some forms of technological protection measures by avoiding what is called the tivoization of software. This means that modified software is released under the GPL and the source code is made available to the public, but there are hardware restrictions on what software can be run in a device, just as is the case with the TiVo players. This addition has been so controversial that Linus Torvalds has stated repeatedly that the Linux kernel will not be released under the GPL v3.

Similarly, the final text has kept language designed to punish the patent licensing agreement between Novell and Microsoft. The original text in the last draft was modified however to make it less punishing. The original draft read:

"You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a patent license (a) in connection with copies of the covered work conveyed by you, and/or copies made from those, or (b) primarily for and in connection with specific products or compilations that contain the covered work, which license does not cover, prohibits the exercise of, or is conditioned on the non-exercise of any of the rights that are specifically granted to recipients of the covered work under this License [...]"
The final version however, has been watered-down a bit, so it now reads:
"If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients."
This is a good move by the FSF, as the previous text was not only rather awkward, but extremely specific. Something that has been bothering me about v3 is that, while it claims to be the constitutional norm regulating the Free Software movement, the actual language tended to have very narrow application. GPL v3 uses some clunky legal language to tackle technologies and applications that annoy Stallman, but such language applies only to singular cases. There's a reason why constitutions are usually drafted in the broadest possible terms, they are supposed to apply to a wide variety of situations. Regulating for specifics will usually have nefarious results.

In the end, I hope that the amendments to the text were made because the draft was unworkable, and not as a result of threats made by Microsoft about Linux patent infringement.

Personally, the bad news about the release is that I will have to write a new article on GPL v3. So much to do, so little time!

No comments: