After 18 months of sometimes inflamed debate, the Free Software Foundation on Friday released version 3 of the General Public License, a highly influential legal document that embodies the principles of the free- and open-source programming movement.
The new license adjusts to software industry changes that have arisen in the 16 years since the foundation's founder and president, Richard Stallman, released GPL 2. One of the biggest changes: the free- and open-source programming movement has been transformed from an academic, legal and philosophical curiosity to a powerful force in the commercial computing industry.
Among those giving the new license a warm reception are IBM, dominant Linux sellers Red Hat and Novell, and open-source database seller MySQL.
"GPL 3 code will be flowing from IBM...We'll tell our customers we're fine with it," said Dan Frye, vice president of IBM open systems development. "As with any consensus process, you don't get everything you asked for. But we got listened to. What came out is absolutely a commercially viable license."
The text of the new license can be read on a
That popularity meant that countless affected parties wanted a say in the new license, and the foundation assembled many of them into committees to hammer out the new draft.
"These different groups have had an opportunity to find common ground on important issues facing the free-software community today," Peter Brown, the foundation's executive director, said in a statement. The final version is largely similar to the final draft released a month ago.
The big question now is whether the most prominent GPL project, the Linux kernel at the heart of the open-source operating system that often bears the same name, will move to the new license. Linux kernel leader Linus Torvalds has expressed his preference for GPL 2.
The GPL is the most widely used license in the open-source realm. More than 30,000 projects, which is about 66 percent of the open-source projects tracked by the Freshmeat site, use the GPL.
The core idea of the license is unchanged: Anyone may see, modify or redistribute the underlying source code of a GPL-governed project. However, anyone who changes and redistributes the software must also publish those changes.
The new license carries several new provisions, though:
• The license carries an explicit patent grant, meaning that any entity that contributes software to a GPL project grants with it a perpetual, royalty-free license to any of the entity's patents that apply to the software.
• A provision to block future deals similar to that struck by Novell and Microsoft, in which Microsoft sells coupons to Novell's Suse Linux Enterprise Server that mean customers don't have to worry about Microsoft patent infringement lawsuits. Under the GPL 3, the foundation argues that all GPL software users will benefit from the Novell-Microsoft deal and others like it: "If you arrange to provide patent protection to some of the people who get the software from you, that protection is automatically extended to everyone who receives the software, no matter how they get it," said Brett Smith, the foundation's licensing-compliance engineer.
• The anti-"tivoization" provision intended to ensure that the owner of a device that uses GPL software can change that software. TiVo personal video recorders use Linux, but the foundation objects to measures that mean it doesn't work if an owner modifies the software. The foundation diluted this provision in recent drafts, but it has remained one of Torvalds' prime objections.
One major possible change that was dropped from earlier drafts was a clause that could have imposed a requirement in some circumstances on those using GPL 3 software for services available over a network such as the Internet. Those using GPL software aren't required to make changes public as long as the software is only used internally, but the proposed provision could have required them to release their internal changes if the programmer who originally created the software requested it.
Eventually, the foundation scrapped the idea, but it's still an issue the foundation is monitoring--particularly in the case of Google, which uses many open-source projects. There will be consequences if those who operate network services abuse the privileges granted by open-source software.
"If you want to protect your business model, you must be model citizens of the environment. If you shrink, political pressure will grow to constrain your rights to secure the rights of everyone else," Eben Moglen, the Columbia law school professor who shepherded the GPL 3 creation and just stepped down as legal counsel for the foundation, said in a May speech. "Upon the behavior of Google much depends."
The foundation said that 15 GNU software components will be released under GPL 3 on Friday, and the rest of the GNU software will follow in coming months. But some are being more cautious.
The primary consideration in moving the MySQL database software to GPL 3 is whether the new version will be adopted, said Kaj Arnö, vice president of community for the company.
"We're happy about many changes in text," Arnö said. "What still remains to be seen is the adoption. GPL 3 is still something people are asking questions about. Our logic is that we don't want to be those that answer those very first questions."
Sun Microsystems, which selected GPL 2 to govern Java and, more unusually, the UltraSparc T1 processor design, is still evaluating the license, said Chief Open Source Officer Simon Phipps. He did call GPL 3 "a strong and market-changing document," however.
Those who create software have some digesting to do, but for those who just use open-source software, GPL 3 will soon become routine, said James Harvey, an intellectual property attorney for Hunton & Willams and legal adviser to what he described as some of the largest companies using Linux today. "Once end users spend time with this license, they will get more and more comfortable with it, and it will become another primary license in their open-source rotation," he said.
In many cases, GPL software has been explicitly licensed under GPL version 2 or later, in which case a programmer's software may be used in a project governed by both. But in cases where software is governed only by one or the other, there's a risk that software can't be moved back and forth, leaving code on separate islands.
And there might be room for compromise: Torvalds said that a GPL 3 Solaris could coax him toward a GPL 3 Linux kernel. "I don't think the GPL 3 is as good a license as (GPL) 2, but on the other hand, I'm pragmatic, and if we can avoid having two kernels with two different licenses and the friction that causes, I at least see the reason for GPL 3," he said earlier this month.
"The license has gotten much easier for lawyers to deal with and probably not as easy for engineers to deal with."
--James Harvey, attorney, Hunton & Willams
The license barrier is less of an issue when, as is commonly the case, separate projects are in different domains and source code isn't tightly linked, as for example is the case with MySQL running atop Linux.
The new GPL also lowers barriers. For example, it's now compatible with the Apache License, a feature that pleases Jeremy Allison, one of the lead programmers behind Samba, a widely used file-server software project that's governed by the GPL. "Nothing is perfect," he said, but added, "I hope to see wide adoption of the GPLv3."
Broader GPL compatibility in GPL 3 will make life easier for MySQL if the company moves to the new license, Arnö said. The MySQL database itself is under GPL, but so is "client" software that's used in other software that access the database. That's been a thorny issue because PHP, a project under a different open-source license, often is used in conjunction with MySQL databases and uses that client software.
The license initially was written by a programmer, but it's become decidedly more lawyer-oriented. For example, the provision regarding the Novell-Microsoft pact reads in part, "You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007."
"The license has gotten much easier for lawyers to deal with and probably not as easy for engineers to deal with," Harvey said.
But the legalese isn't entirely inappropriate, because lawyers at multibillion-dollar corporations now routinely deal with it. The GPL has moved into the mainstream.