The third version of the GNU General Public License (GPL) won’t be released until the end of June.
Yet, already, it is proving one of the most controversial developments ever in the free and open source software (FOSS)communities.
Some question whether a new version of the GPL, the license for an estimated 75% of free software projects, is needed at all.
And, while language changes to improve international use are relatively uncontroversial, other changes in the new version are hotly debated, including the section about patents, with its language to prevent a reoccurrence of the Microsoft-Novell deal signed in November 2007, and sections that restrict the use of the license with lockdown technologies.
How legitimate are these concerns? Should software developers and distributors move to the new version or stay with the second version of the GPL?
What will happen if some parts of the FOSS world, such as the Linux kernel, stay with the second version while other software uses the third version?
These questions are not easy to answer. The language of GPLv3 has changed dramatically since the first discussion draft was released in January 2006, but many people’s perceptions of the license have not kept pace with the changes.
Myths abound, aided by the sensationalism of the mainstream computer media, which frequently — often willfully — misinterprets the hyped-up rhetoric of the FOSS world as more serious as it is.
Nor has understanding been aided by the fact that the Free Software Foundation (FSF), which is drafting the new license with the help of the Software Freedom Law Center, has adapted a policy of not answering criticisms, even when they become personal attacks, in order to avoid stifling discussion.
However, now, with the last call draft of the third version in circulation, it’s time for a closer, calmer look at the issues.
The Reasons For The New Version
Even the reason for GPLv3 is a matter of dispute. In September 2006, a group of Linux kernel developers that included Andrew Morton and Greg Kroah-Hartman released a statement that suggested that, since the second version of the GPLv2 has been so successful in the fifteen years since its release, “we are extremely reluctant to contemplate tampering with that licence except as bug fixes to correct exposed problems.”
So far, the letter continued, “we have not found any bugs significant enough to warrant such corrections.”
Similarly, Linus Torvalds, the leader of the Linux kernel project and one of the GPLv3’s most vocal critics, suggests that the reason for the new license is that the FSF “noticed that there were other things that they wanted to do, and that were not not covered by the GPLv2.”
However, to Richard Stallman, the FSF’s founder, nothing has changed in GPLv3 except that language has been added to cover new loopholes that have emerged with the development of new technology.
“In GPLv1,” Stallman says, “I knew of two ways that people could try to make free software effectively proprietary.
One was by adding additional license terms, and the other was by not releasing the source. So GPLv1 said you couldn’t do either.
Then, in 1990, I found out about another: that patent holders could threaten developers and make them impose restrictive conditions on subsequent users.”
Continues Stallman: “So GPLv2 added Section 7, which says that, no matter what other conditions are imposed on you, you can either distribute with full GPL freedoms or not at all.
Now we’ve found out about two other ways to try to make free software effectively proprietary: one of them is TiVoization [the use of hardware based lockdown technologies], and the other is the Novell-Microsoft deal, so we’re trying to block them both.
And any time we find some new threat to a user’s freedoms, we will try to block it.”
In other words, unlike the kernel developers, Stallman and the FSF do see significant bugs. Rather than radically altering direction, they are simply moving to correct them.
Many of these bugs are relatively minor and uncontested, such as the language that excludes the users of file-sharing software like BitTorrent from having to provide the source code along with binaries.
Or the new ways to distribute source code, such as including written offers for the source code or providing access to it on a network server.
As Brett Smith, FSF compliance engineer, suggests, such changes are simply “bringing GPL into the Internet culture.”
The trouble is, not all the changes are just a matter of changes in technology. The major issues, although sometimes based on technology, also invoke philosophical and personal issues.
The least controversial changes are those that make for greater clarity of the language and changes of language to make the GPL easier to use in different copyright jurisdictions.
When many of these changes were completed in the second draft, Eben Moglen of the Software Freedom Law Center, who leads the team that is drafting GPLv3, explained, “The goal is to allow people to ask lawyers about local copyright problems and to get answers that are immediately useful to them, even where the copyright lawyer consulted is not herself or himself experienced in the GPL.”
Examples of these changes are the replacement of “distribute” with “convey” and “derivative work” with “modification.”
While these changes may seem minor to lay people, according to Moglen, they are an “attempt to use a neutral word not found in other people’s copyright statutes” and to eliminate terms that, in other jurisdictions “either didn’t mean anything or didn’t mean what American law makes it mean.”
The only potential controversy in these changes is that, despite the greater acknowledgement of non-American law, official translations of the GPL into languages other than English still do not exist.
“That’s something that we have very serious reservations about because of the potential legal implications,” says Brett Smith, who raises the concern that versions of the GPL in different languages might be accidentally incompatible.
There is the difficulty, too, of finding bilingual legal experts competent to do the work.
The demand for official GPL translation exists and is likely to grow, with jurisdictions like Brazil looking for one. But, so far, such concerns have been relatively unimportant in the GPLv3 debates.
“Liberty Or Death”
GPLv2 includes section 7, the so-called “liberty or death” section that states that restrictions placed on software distribution due to court allegations of patent infringement do not release distributors from the obligations of the license — in such cases, they must simply stop distributing the software in question.
GPLv3 goes even further, adding that contributors of GPL-covered software grant all users a license that covers all patents needed to “make, use, sell, offer for sale, import, and otherwise run, modify and propagate the contribution.”
Moreover, such deals such as the one between Microsoft and Novell, which saw Microsoft redistributing Novell’s Suse distribution while offering protection against patent claims only to Novell users, are specifically prohibited.
However, given the impossibility of making such language retroactive, it applies only to deals that occurred after March 28, 2007.
These changes have been criticized by the Association for Competitive Technology (ACT), which argues in a paper entitled “GPLv3: The Legal Risks of Overreaching for Third Party Patent Rights,” that these changes “force third parties to surrender patent rights … unrelated to development of contributions to GPL code.”
In an apparent reference to the Microsoft-Novell deal, the paper accuses the FSF of making revisions “selectively to target specific parties” and claims that such changes may affect the ability to enforce the GPL.
ACT is generally seen in the FOSS community as a mouthpiece of Microsoft, and the paper was rapidly and widely denounced — but not before it started circulating the rumor that, to use the GPLv3, companies would have to surrender their entire patent portfolios.
However, as the language of GPLv3 makes clear, both the paper and the rumor are incorrect.
The language on patents clearly concerns only patents associated with GPL-covered software, and not a contributor’s entire patent portfolio.
And, just to clear up any misunderstanding, the section on patents in GPLv3 ends with an explicit statement that “Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law.”
Even more importantly, Peter Brown, executive director of the FSF, points out that the language on patents did not originate with the FSF alone.
As part of the consultation process in producing GPLv3, the FSF organized four consulting committees that included representatives of “all the largest patent holders who have an interest in or distribute free software,” Brown says.
“I’m not saying that they’re all happy, but they all came to the understanding that this was the language that represented the whole range of views that were expressed whilst recognizing the community’s desire to protect itself from software patents.”
Brown goes on to point out that such companies as IBM or Sun Microsystems would hardly have announced their intentions of using GPLv3 if they had serious concerns that doing so would open their entire patent portfolios.
Brown suggests that part of the acceptance may be a feeling that the enforcement of software patents may be diluted or eventually eliminated if current trends in patent law in the United States continue.
However, an even simpler explanation for acquiescence exists: Free software is a major source of income to such corporations.
In all likelihood, they have weighed the costs of accepting the language of GPLv3 against the costs of opposing it, and found their bottom line will be least affected by going along with the changes rather than opposing them.
As for the language that was a specific response to the Microsoft-Novell deal, Brown points out that it was developed in consultation with Novell.
In fact, he reveals that Eben Moglen received a copy of the agreement long before it was made public.
Moreover, far from being crafted in a way intended to harm Novell, the language goes out of its way to exclude the Novell deal by setting a date from which it applies.
In this way, “Novell becomes part of the GPL3 ecosystem,” Brown says, a maneuver that is far more important than punishing Novell, as many people in the FOSS community demanded.
Instead of being alienated, Novell remains a member of the FOSS community — albeit an ostracized one.
Temporarily, Novell will have an advantage over other FOSS companies, but, when its agreement with Microsoft expires, so will that advantage.
Although Brown describes the FSF as being “angry” about the deal, he suggests that this compromise is strategically sounder in the long term.