Richard Stallman has not been involved in the consultation process for GPLv3. Instead, he has left consultation to the Software Freedom Law Center and focused on the issues that have been raised. The process, which has lasted nearly two years for him, has been "quite a lot of work," he says. However, he says, "I don't see how it could have been avoided. It's raised quite a lot of issues that hadn't been anticipated."
To Stallman, GPLv3 is part of a continuous evolution of the license to prevent technology and legal trends from undermining the principles of free software. "In GPLv1, I knew of two ways that people could try to make free software effectively proprietary," he says. "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. 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, 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."
Stallman says that the final wording that covers the Novell-Microsoft deal arrived less than five days before the release of the third draft. The trick, he says, was to write the language in Section 11 so that it didn't exclude such agreements as cross-licenses between companies that include a mutual patent covenant or settlements with what he calls "patent trolls" -- companies that acquire patents and earn income through litigation or the threat of it.
Reluctantly, he agreed to include a final sentence that would grandfather the Novell-Microsoft agreement, but he says, "I hope it won't be necessary." Whether that sentence remains, he says, depends on the community feedback received on the draft.
After GPLv3 is released, Stallman anticipates a revision of the GNU Free Documentation License and the Affero GPL, a license designed for software offered as a Web service. Despite the efforts to internationalize the language of GPLv3, he does not expect any official translations of the license into other languages. "It would be nice to have official versions," he says, "but it's also very risky. I am still reluctant to take that risk."
Talking about the division between open source and free software viewpoints that the GPLv3 process has often emphasized, Stallman says that both are part of the free software community. However, referring to the open source advocates, he says, "Not everyone values freedom. When people are free to choose their own views, they're not all going to agree." At the same time, Stallman says he views a consensus on the adoption of GPLv3 as essential, because "GPLv3 protects users from new threats to their freedom. If GPLv3 is not widely adopted, or if there are many programs that stay with GPLv2, then those programs' users will be vulnerable to new kinds of attack. For instance, if Linus [Torvalds] doesn't move to GPLv3, then users of the Linux kernel will be vulnerable to TiVoization. That's a substantial problem.
"When the purpose of a program is to restrict you, making it more powerful and reliable at restricting you makes it worse. It's a mistake, therefore, to say that powerful, reliable software is the goal," as the open source viewpoint maintains. By contrast, "the goal of the free software movement is to put you in control of the software you use. Then, if you want to make it more powerful, you can work at making it more powerful."
Still, Stallman retains some hope. He notes, for example, that open source advocates do not all share the same viewpoint. He points to Sun Microsystems as an example of a company that is dominated by the open source position and that is considering moving to GPLv3 for reasons of its own.
When the second draft of GPLv3 was released, Linus Torvalds was one of its most outspoken critics. Although he stresses that he is giving only a preliminary opinion on GPLv3, and may change his mind as he looks at it more closely, his first response to the third draft is to give it qualified approval.
"Is it better?" Torvalds asks rhetorically. "Hell yeah. But it's been limited in ways that at least make it much saner. I'll have to think about it. The language seems cleaner and better than GPLv2 in many places, and many of my 'that is obviously totally idiotic crap' areas have either been improved or seem to have been removed entirely."
Torvalds approves of the rewriting and clarification of additional terms in section 7, suggesting that the third draft makes dual licensing easier in special cases. Also, he says, "the total lack of any new additional restrictions is a huge relief and makes the license much more useful."
"I'm not sure that the Novell agreements [with Microsoft] really merited that much attention," Torvalds says, referring to section 11 of the draft. However, he says, "I do think that this area (unlike all the DRM hysteria) was potentially a much better reason for GPLv3 in the first place."
That "DRM hysteria" is covered by the anti-TiVoization language in Section 6. Torvalds says of the new language in this section of the current draft, which replaces a blanket ban on restrictive technologies and spyware with an obligation to include the source code for it, "It still purports to control not just software, but the hardware or environment that the software is installed on. I find that odious, but the language is a lot better, and they [the FSF] seem to have realized that their old drafts were insane (i.e., now they make it clear that if something has been designed to not be upgraded, there's no point it trying to require 'installation information' and keys). Limiting things to 'user devices' also gets rid of a whole slew of idiotic problems with the old GPLv3 drafts.
"In this new form I think the GPLv3 is at least a viable alternative to the GPLv2. I'll have to read it through a few more times and let things sink in, but my gut feeling from reading it through once is that I at least no longer have a feeling of 'I'd never have selected this license if I were to have started a new project.'"
Speaking on behalf of Novell, Bruce Lowry declined a detailed reaction to the draft, apparently reserving official comments for the final draft. However, he noted briefly that "Nothing in this new draft of GPLv3 inhibits Novell's ability to include GPLv3 technologies in SUSE Linux Enterprise, openSUSE, and other open source offerings, now and in the future."
Lowry says, "We are firmly committed to continuing the partnership with Microsoft and, as we always have, fully complying with the terms of the licenses for the software that we ship, including software licensed under GPLv3. If the final version of the GPLv3 does potentially impact the agreement we have with Microsoft, we'll address that with Microsoft."
Lowry describes Novell as "a strong supporter of free software and open source" and as "significant contributors to a range of free software and open source projects."
A foretaste of coming months
Stallman, Torvalds, and Novell are waiting on events and the final version of the license before fully committing themselves. However, their comments highlight the issues that will shape discussions in the next three months as GPLv3 moves toward its final version. Despite obvious attempts on all sides to avoid conflict, and despite some signs of movement, consensus is still some ways away, but general acceptance of GPLv3 now seems more likely than it did six months ago.
Bruce Byfield is a computer journalist who writes regularly for NewsForge, Linux.com, and IT Manager's Journal.