Legalese and clarification
The most obvious change in the third draft is that it is more openly a legal document than GPLv2. Like earlier drafts of GPLv3, the third draft begins with a series of definitions. Many of these definitions, such as the one for "system libraries" have been tweaked for greater clarification.
Even more obviously, the draft refers to other legal documents, such as Article 11 of the WIPO Copyright Treaty of 20 December 1996 in the discussion of lock-down technologies and the Magnuson-Moss Warranty Act, 15 U. S. C. 2301 as the basis of interpretation for what constitutes a User Product.
In the case of the reference to the WIPO Copyright Treaty, which replaces a reference to the Digital Millennium Copyright Act (DMCA), the change also continues the efforts to internationalize the language to make the license easier to use in jurisdictions outside the US and to translate into other languages.
Other efforts at increased internationalization include the addition of a paragraph to the warranty disclaimer in section 15 and the provision in section 7 for additional warranty disclaimers that could be used by distributors to meet any local legal requirements.
Such changes make GPLv3 less self-contained and accessible to lay users, but the increased legal clarity presumably makes the license more enforceable. As if to compensate for any loss of accessibility, the appendix on how to use the GPL that was a feature of GPLv2 has been restored.
Among the provisions that are unlikely to prove contentious are the changes to the obligation to provide source code with object code. The second draft introduced a provision to provide source code on a public network server which is now in section 6b. In addition, section 6d now permits object code and source code to be hosted on different servers, so long as each is available so long as the other is, and that "you maintain clear directions next to the object code saying where to find the Corresponding Source."
Other housekeeping items include changes to section 7, which lists additional terms intended to make GPLv3 more compatible with other free licenses.
To simplify the license, section 7b4 of the second draft is omitted because it would conflict with the third draft's provision in section 6d about providing source code on a public network server, and section 7b5, which would conflict with the new language on patents.
In addition, compatibility with the Affero General Public License is achieved by a simple declaration in section 13. While the details of such items may still be fine-tuned, the intents behind them seem unlikely to be debated.
Language against lock-down technologies
One of the most controversial aspects of the second draft of GPLv3 was its declaration that "no permission is given for modes of conveying that deny users that run covered works the full exercise of the legal rights granted by this License."
Linus Torvalds, as well as many other prominent kernel developers, were especially vocal against this provision, considering it a violation of freedom of choice -- and not, ultimately, something that they should be concerned about. More than any other part of the GPLv3 discussion, this point highlighted the differences between the open source community, with its focus on code freedom and the free software community, with its emphasis on freedom for users.
No doubt because of this discussion, GPLv3 takes a new approach to the question of lock-down technologies or "tivioization" as it is sometimes known after one of the most famous examples. Instead of declaring all such technologies incompatible with the GPLv3, the third draft defines the "corresponding source" for object code as all source code needed to generate, install and run the object code.
In keeping with this definition, Section 6 now contains a long addition which obliged distributors to include "Installation Information" ( defined as "any methods, procedures, authorization keys or other information required to install and execute modified versions of a covered work") with any "User Product (any consumer product that includes a license to own or use it).
The Installation Information must be complete enough to allow modified versions of the product to operate properly. This requirement does not apply if no one can modify the object code -- for instance, if it is installed on ROM. Nor does it include any obligation to provide support for modified works. However, the information must be provided in a publicly documented format. Under section 10 of the new draft, installation information must be available to users, just like traditional source code.
Superficially, this new approach may seem like a retreat from the firmer position of earlier drafts. Yet since the FSF's main concern with lock-down technologies -- that they might prevent the running of free software -- is answered by this new language and relies on requirements already widely accepted, critics of earlier drafts just might accept it.
When the second draft was released in the summer of 2006, one of the major issues it did not fully address was the relationship between the GPL and patents. At the time, the writers of the draft at the Software Freedom Law Center anticipated lengthy debate with the corporate members of the committees helping to develop GPLv3.
As the FSF has acknowledged, the debate over patents became even more intense after the Novell-Microsoft deal in November 2006. Microsoft's agreement to pay a royalty to redistribute Novell's SUSE Linux Enterprise and to provide patent protection only for Novell customers if Microsoft's intellectual property were ever discovered in GNU/Linux were widely seen as violations of the spirit of GPLv2, if not the letter, so a new concern for GPLv3 became the explicit blocking of such deals.
To answer all the concerns about patents, section 11 -- which deals with patents -- of GPLv3 has been extensively reworked and strengthened in the third draft. Where the second draft consisted of a pledge by distributors not to assert patents, the third draft defines the transaction far more explicitly as "a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims in its contribution, to make, use, sell, offer for sale, import, and otherwise run, modify and propagate the contribution."
To further strengthen the language, a "patent license" has been defined as "a patent license, a covenant not to bring suit for patent infringement, or any other express agreement or commitment, however denominated, not to enforce a patent." Similarly, if software that you know falls under a patent license is distributed, then you must not only make the source code available and disclaim the patent license for it, but also extend patent protection to downstream recipients.
Dealing with the Novell-Microsoft deal
In answer to the Novell-Microsoft deal, section 11 goes on to prohibit selective patent protection with a third party as part of a business arrangement. The final sentence of this paragraph excludes any such arrangement made prior to March 28, 2007, but the fact that the sentence is in parentheses indicates that this grandfather clause is tentative.
The explanation of the third draft provided to journalists by Brett Smith, FSF compliance engineer, notes that "we look forward to community input on this issue." Novell might accept it as a way to keep in good standing with the free software community, so that it can distribute future versions of software licensed under GPLv3, but whether other companies would accept this special status for Novell might be questionable.
Where to from here?
The third draft now enters a 60 day review period in which the FSF plans to openly advocate its language and intent while producing release candidate drafts in response to community input. At the end of this period, a final draft will be released and reviewed for another 30 days.
However, whether this process will be as smooth as it sounds when summarized is another matter. While changes in language for clarity and easier internationalization are unlikely to be controversial, both the new approach to lock-down technologies and the new language about patents will probably be extensively debated -- so much so that 90 days may not be enough time to resolve every issue.
Yet, if some widespread agreement is not reached, the license may be released at the expense of weakening the alliance between the free and open source communities, and of causing widespread discontent in business. Clearly, no matter what happens, the next 90 days are not going to be dull.
Bruce Byfield is a computer journalist who writes regularly for NewsForge, Linux.com, and IT Manager's Journal.