For 15 years, the current version of the GNU General Public License (GPL) has remained untouched. One of the oldest, most widely used open-source licenses, the GPL is a foundational text and an ideological marker. When Sun Microsystems wanted to park Java in the open-source mainstream, it opted for GPL licensing, earning the company instant street credibility
Yet this spring, the GPL's author will release a controversial new version of the license, a move that's already sending tremors along the software industry's fault lines.
"It's almost like an iceberg waiting. There's been so much less awareness and discussion than I would have expected, given the likely implications of the new license," said Bernard Golden, CEO of Navica, a San Carlos, Calif., solutions provider that specializes in open-source projects and strategy.
While a heated debate about GPL 3 has raged for more than a year among hard-core open-source enthusiasts, the tempest hasn't attracted mass attention. That will change in March, when the Free Software Foundation (FSF) is slated to release a final version of the new GPL. Once GPL 3 becomes official, it will cover all subsequent code issued by the FSF, which oversees the GNU operating system components that are an essential part of all Linux distributions. As GNU and other projects migrate to GPL 3, the new license has the potential to strengthen the free- and open-source community or deepen its divisions.
License proliferation is one of the biggest banes of the open-source world, and revisions are major undertakings. The current GPL was adopted in 1991 -- when Microsoft had just shipped Windows 3.0, the World Wide Web was still in its infancy and work had barely begun on the Linux kernel. The license has proved to be remarkably durable, but it was written in a different era. GPL 3 sticks closely to GPL 2 in spirit but incorporates new sections addressing several issues confronting modern developers, including compatibility with other licenses, the problem of software patents and the restrictions of digital rights management (DRM) technology.
The DRM plank, intended to prevent developers from using GPL code in any software with modification restrictions, is a key part of the controversy engulfing GPL 3. Software source code has long been the battleground for a holy war. Proprietary software is the mortal enemy, but the share-your-code camp is divided into two factions: one ideological, one pragmatic.
NEXT: The free and open software camp: a house divided.
Free And Open Software: A House Divided
Heading the idealists' side is Richard Stallman, president of the FSF and author of the GPL. For Stallman, free software is a sociopolitical movement and an ethical imperative. His eccentricity runs as deep as his zeal: His personal Web site includes an appeal to boycott Harry Potter books because of an injunction a court granted their Canadian publisher to prohibit people inadvertently sold a new installment before its official release date from reading the book they had purchased. Everyone involved in that injunction is "the enemy of human rights in Canada," Stallman charged.
On the other side are open-source proponents more focused on the practicalities of open code than on advancing an ideology. The Linux kernel developers, including kernel creator and coordinator Linus Torvalds, are in that camp. A position paper posted in September, authored by 10 current kernel maintainers, staked out their objections to GPL 3. Rather than solving genuinely urgent problems, the proposed update unfairly restricts code users' rights in service of furthering the FSF's anti-DRM crusade, the paper argued.
"There's no substantial and identified problem with GPLv2 that [GPL 3] is trying to solve," the kernel maintainers wrote. "Since GPLv2 has served us so well for so long, and since it is the foundation of our developer contract, which has helped propel Linux to the successes it enjoys today, we are extremely reluctant to contemplate tampering with that license."
Torvalds is even more fervent in his GPL 3 animosity. A piece he posted to Groklaw laying out his objections to the update was removed by Groklaw's maintainer, who wrote, "I am sorry, Linus, but I had to remove your comment because you violated our comments policy by swearing so much."
Colorful phrasing aside, Torvalds doesn't want to see Linux used as a weapon in an ideological battle. "By being pragmatic and not being too crazy about it, the 'Open Source' people ended up making open source a lot more accessible to a lot more users, and they made the software better, too," he wrote. "Because when you make your technical choices on technical grounds, rather than on religious ones, they end up being better."
The rift between the free- and open-source factions will have profound implications for the rest of the software industry when GPL 3 is adopted. The GPL is one of the simplest and most restrictive open-source licenses. It requires that all publicly distributed derivative works incorporating GPL code must be released under the same license, which makes the GPL incompatible with later versions of itself. Anticipating that problem, the FSF encourages anyone using the GPL to license their works for use under "version 2 or later." That wording creates a seamless migration path and allows older GPL code to intermingle with GPL 3 code.
But the Linux kernel is licensed under version 2 only, which puts it on a collision path with software created under GPL 3. It's not the only significant project with a "version 2 only" limitation. MySQL recently revised its license from "GPL version 2 or later" to "version 2 only," and Sun is opening Java under version 2.
NEXT: Moving to GPL 3 -- or not.
Moving To GPL 3 -- Or Not
If significant swathes of open-source developers move to GPL 3 while others cling to GPL 2, the split could be disastrous. At best, it would be a headache-inducing obstacle; at worst, it would expand an ideological rift into an unbridgeable chasm.
Important projects that move to GPL 3 -- like the GNU OS components -- would probably fork, with one batch of developers moving forward on the GPL 3 code and another group developing around the last version of the code covered by GPL 2. The Linux kernel maintainers predict a Balkanization that would "inflict massive collateral damage upon our entire ecosystem and jeopardize the very utility and survival of Open Source."
Of course, not everyone has such a grim view, and plenty of open-source developers think GPL 3's changes are essential. Although MySQL's amended licensing terms make migration an option rather than an obligation, the company likes what it sees in the new license and hopes for quick industry adoption, according to Kaj Arno, MySQL's vice president of community relations.
"The patent issue is highly important, and it needs solving," Arno said. GPL 3 also expands and clarifies the scope of what other open-source licenses it is compatible with and features language tweaks to make it more applicable within non-U.S. legal systems -- changes important to the Swedish company.
One of the highest-profile projects to embrace GPL 3 is Samba, a widely used networking interoperability protocol included in almost all Linux distributions. Samba's maintainers have already declared that when GPL 3 goes live, they're migrating.
"We very much want to support what the Free Software Foundation is doing here," Samba lead developer Jeremy Allison said. "We're big fans of the anti-DRM stuff, and the ability to mix and match other licenses is a big deal."
Allison said he's pleased by how meticulous and restrained the GPL 3 is. "It's an incredibly well-thought-out license," he said. "It's not this radical, wild-eyed 'no DRM' stuff. It's actually a considered, measured approach to try and discourage something we don't like."
Another influential open-source steward, Sun Chief Open-Source Officer Simon Phipps, echoed Allison's comments. The FSF posted for public comment a first draft of GPL 3 early last year, and a second draft went out in July. Meanwhile, several discussion committees solicited feedback from scores of stakeholders. Phipps participated in one of those committees, and the unfolding revision process has impressed him.
"I think it's gone remarkably well. I was actually pretty skeptical at the start of the process. I was kind of assuming that what we were going to have was a plebiscite, but there's a real and forthright dialogue going on," Phipps said. "You can tell how effective it is by looking at the distance between the first and second drafts. The second draft has a tone that's more moderate and considered. The first draft was attacking DRM, where draft two was making provisions for dealing with the consequences of DRM."
Sun won't make any decisions about moving Java and OpenSolaris to GPL 3 until the license is finalized and the Java community has time to evaluate and discuss it. But Phipps is enthusiastic about the changes it features. Still, he's also mindful of the pain involved in shifting a current project and its developer community to a new license.
NEXT: Where's GPL 3 Headed?
Where's GPL 3 Headed?
Everyone agrees that whatever happens with GPL 3, its effects will take time to propagate. "I don't think it's going to, by any means, be a rapid cutover," said Mark Tolliver, CEO of Palamida, which makes software that vets code for licensing compliance. "I also think there will be some forking."
Navica's Golden said he's bracing for a schism. "I think there will be many organizations that will say, 'We will not accept GPL 3 software in our organization,' and there will be a lot that will say, 'We're going to wait and see.' I think it will be a slow acceptance," he said.
It may take years, but some industry influentials think the two sides will ultimately lay down their guns and mutually embrace GPL 3. The software industry's history is littered with cases of impassioned, vicious stand-offs that finally ended in compromise.
An eventual detente is what open-source evangelist Bruce Perens predicts. "There's usually about a two-year cycle where Linus [Torvalds] and some people have trouble with something, and then they work it out," said Perens, who co-founded the Open Source Initiative. "Despite their kicking and screaming, they eventually will go to GPL 3."
MySQL also expects the new license to eventually win over its doubters. "Industry players would not have devoted so many of their senior-most legal resources toward this process, had they not thought of GPLv3 one day becoming a widely adopted license," Arno said.
Sun's Phipps hopes that diplomacy will triumph. The GPL 3 drafting process is more open than its detractors fear, and the license being hammered out is a solid, practical tool for protecting the developer freedoms that the free- and open-source communities value, he said.
"I look at GPL 3, and I think it's going to be the foundation for a free software ecosystem," Phipps said. "There is still the potential for it be a unifying and not a dividing force. But for that to take place, there has to be a desire for unity."