After several years of debate and more than 18 months of sometimes passionate public comments and revisions, the latest GNU General Public License Version 3 (GPLv3) software license will officially be released Friday by the Free Software Foundation (FSF).
Now the question becomes how GPLv3 will be viewed and accepted in the free software and open source development communities -- and whether developers will adopt it in their works to replace the older GPL Version 2. GPLv2 was released in 1991 when the open source and free software development worlds were very different places.
Among the key changes in GPLv3 are:
- Compatibility with version 2.0 of the Apache Software License, making it easier for developers to bundle Apache applications with their GPLv3-licensed software without inherent license conflicts, which is often a problem today.
- The inclusion of language to address the controversial cross-licensing and co-development deal last November between Microsoft and Novell's SUSE Linux division, when Novell agreed to pay Microsoft a percentage of revenues from open-source products, while Microsoft agreed to waive patent claims against users of SUSE Linux. The new GPLv3 language says that software companies that "make discriminatory patent deals...may not convey software under GPLv3. Novell is not prohibited from distributing this software because the patent protection [it] arranged with Microsoft last November can be turned against Microsoft to the community's benefit," according to a FSF statement.
- Prohibitions against the use of GPLv3-licensed software in consumer devices that would prevent users from having freedom of choice in using the software and device. For example, a television-recording device that uses GPL-licensed software but stops working if a user tries to change its embedded code to get improved performance from the machine, would not be permissible under GPLv3. Such a prohibition on what the FSF calls "Tivoization" is not available under the existing GPLv2.
The 12-page draft of the GPLv3 is scheduled to be available at the Boston-based FSF's Web site by noon Friday.
The GPL is the world's most widely used free software license today, according to the group. The inclusion of language related to the Microsoft-Novell deal added controversy to the task of updating the GPL. Some members in the open source software development community challenged the action, while Richard M. Stallman, founder and president of the FSF and creator of the GNU Project -- and a longtime advocate of free software -- said that addition is critically important.
"The Novell-Microsoft deal shows how Microsoft intends to use software patents to attack our community" by forcing users to pay fees to use free software, Stallman said. "We don't want that to happen. If Microsoft can make people pay for permission, it wouldn't be free software anymore, so we will undertake ways to block such deals.
"When we see new threats, we do things to respond to them," he said.
The new provisions offering better compatibility with the Apache Software License is good for developers, he said, because it will make it easier for them to create applications and bundles of applications.
Not everyone is convinced of the benefits of the new GPLv3, however. And after GPLv3 is released, developers can still use the existing GPLv2 license to offer their free software if they want to, according to the FSF.
"It concerns me a little bit that we're kind of getting politics into the legal documentation," said John Weathersby, executive director of the Open Source Software Institute (OSSI), a Hattiesburg, Miss.-based non-profit group that promotes the adoption of open source software by governments. Weathersby said the inclusion of the Microsoft-Novell language went too far because it targeted that specific contract. "That is mixing apples and oranges," he said.
The introduction of the latest version of the GPL doesn't mean it will overtake the use of GPLv2 any time soon, he said. "Just because GPLv3 is out there doesn't mean that someone is compelled to use it. We see it as just another tool in the toolbox. Unfortunately, it's kind of complicating things a little bit."
Theo de Raadt, the founder of the OpenBSD operating system, which is licensed under the Berkeley Software Distribution Unix license, said in an e-mail that he believes the "FSF is overextending themselves, and there will be a backlash" related to the new GPLv3 license. "Over the last 10 years, open source/free software has become less free and less open," de Raadt wrote. "The GPLv3 is the next step in taking away more freedom from users and developers. I believe that one cannot add freedoms by imposing more restrictions. Freedom of the code does not require enforcement. I don't know what the OpenBSD developer community (or other BSD communities) will do about the GPLv3. I cannot promise that what we do will be good for the FSF."
Cliff Schmidt, vice president of legal affairs for the Apache Software Foundation, said the changes in GPLv3 are beneficial for developers and, ultimately, for users. "I think it does a good job about being more explicit about several of the things GPLv2 left many of us confused about," he said.
Mark Spencer, chairman and CTO for Huntsville, Ala.-based Digium Inc., a vendor of open source enterprise telephony software, called GPLv3 "a big leap generally," but said his company has not made a decision on whether it will switch its software licensing from GPLv2. While there is a lot of good language cleanup in the new license, he said, "I'm not sure it's really worth the extra stuff that's in there. I don't think it's got a whole lot of compelling arguments for our project."
One concern Spencer has is that by adding a new version of the license, there could be a forking of development streams allowing products to be taken in different directions based on which version of the GPL they run.
Linus Torvalds, the creator of the Linux kernel, could not reached for comment on the new GPL and how it might affect the operating system's licensing. A spokesman for Microsoft declined to comment about GPLv3.