GPLv3 draft 3 arrives, adds “anti-tivoization”
Mar 28, 2007 — by LinuxDevices Staff — from the LinuxDevices Archive — 1 viewsThe Free Software Foundation (FSF) on March 28 released the third discussion draft of the GPLv3 (GNU General Public License, version 3). As expected, the draft contains modified language designed to prevent “tivoization,” as well as language aimed at busting patent partnerships, such as the recent Microsoft/Novell deal.
digg this story |
New “anti-tivoization” language
The FSF is trying, once again, to address the “tivoization” of code covered by the GPL. The GPL code in the popular TiVo digital video recording device uses signature checks in hardware to prevent anyone from modifying its code. Since a fundamental principle of the GPL is the right to read and re-use this code, this appears to fly in the face of the GPL's intent.
Previous drafts of the GPLv3 attempted to stop vendors from this course of action by defining “Corresponding Source” to include any encryption or authorization keys necessary to install new versions of the software. However, there has been a lot of doubt as to whether this would have the intended effect.
So, in this third discussion draft, the revised section 6, according to the FSF's explanation, requires that “parties distributing object code provide recipients with the source code through certain means. Now, when those distributors pass on the source, they are also required to pass on any information or data necessary to install modified software on the particular device that included it. We believe that this will more precisely accomplish our goals, and avoid potential problems with expanding the definition of source code.” This is a similar approach to the one already used in the LGPL (GNU Lesser GPL) for enabling users to link proprietary programs to modified libraries.
In a sop to TiVo-style vendors, the scope of these requirements has also been narrowed: “This draft introduces the concept of a 'User Product,' which includes devices that are sold for personal, family, or household use. Distributors are only required to provide installation information when they convey object code in a User Product.”
At the same time they release the User Product with the object code on it, however, they must provide the source code to the world on a public network server. This code can be hosted on different servers from the object code, the actual running program code, provided that the source is made available simultaneously with the object code.
Anti-patent collusion additions
Controversy over such deals as the Novell-Microsoft patent partnership has greatly delayed the release of the GPLv3.
In an explanatory note, the Free Software Foundation explained that, “We have also added new terms to stop distributors from colluding with third parties to offer selective patent protection, as Microsoft and Novell have recently done. The GPL is designed to ensure that all users receive the same rights; arrangements that circumvent this make a mockery of free software, and we must do everything in our power to stop them.”
What this means, according to the Free Software Foundation, is that its strategy in the new GPLv3 will have two parts, namely: “First, any license that protects some recipients of GPLed software must be extended to all recipients of the software. Second, we prohibit anyone who made such an agreement from distributing software released under GPLv3.”
The FSF is also “considering whether or not this ban should apply when a deal was made before these terms were written, and we look forward to community input on this issue.” In other words, the FSF is contemplating trying to make it impossible for Novell to distribute GPLv3-licensed software because of its existing Microsoft patent agreement.
Other changes
The FSF has also modified its new license compatibility clause in a manner intended to make it both simpler and cheaper for developers to comply with the license. The new discussion draft simplifies section 7, in part by removing sections 7b4 and 7b5. Compatibility with the Affero GPL, which is meant to extend the GPL to cover software running on a network, is take care of by an explicit upgrade clause in section 13.
Draft 3 also includes a number of small improvements aimed at clarifying particular requirements, and at making the license easier to use worldwide.
For example, the definition of System Libraries in section 1 has been adjusted to more clearly include standard libraries in all programming languages. It also makes it clear that System Libraries do not have to be included with the program's source.
The warranty disclaimer in section 15 now includes an additional paragraph intended to make the entire section more applicable worldwide. Additionally, section 7 gives licensors the option of adding their own warranty disclaimers that meet any relevant local requirements.
GPLv3 draft text
The complete text of GPLv3 Draft 3 can be found on the Free Software Foundation's website, here.
— by Steven J. Vaughan-Nichols, chief blogger of LinuxDevices.com's sister site, Linux-Watch.com
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.