Sunday, December 26, 2004

Sprucing up open source's GPL foundation

Modernization is coming to the General Public License, a legal framework that supports a large part of the free and open-source software movements and that has received sharp criticism from Microsoft Chairman Bill Gates.
GPL ( http://www.gnu.org/copyleft/gpl.html )author Richard Stallman said he's working on amendments that could deal better with software patents; clarify how GPL software may be used in some networked environments and on carefully controlled hardware; and lower some barriers that today prevent the mixing of software covered by the GPL and other licenses.

In the 13 years since the current GPL version 2 was released, the license has moved from the fringes to the center of the computing industry. GPL software is now common at Fortune 500 companies and endorsed by most large computing firms. But that prominence has made some eager for an update.

"The GPL has become the pivot point of a multibillion-dollar industry. Frankly, I don't think it was designed for that," said Mark Radcliffe, an attorney with Gray Cary who has studied the GPL and other licenses extensively.
For example, some would like to see clarifications that could help reduce the threat that using GPL software could entangle users in patent litigation. And the GPL could be better adapted to recent industry initiatives such as building sophisticated Web services on the Internet and boosting security through trusted computing methods.
Ordinarily only attorneys give much thought to the legal documents that govern how software may be used. But the GPL is different.

The license is the agreement that helped show that cooperation can work in an industry dominated by competition. And the most persuasive illustration of its power is Linux, a rising threat to computing giants such as Microsoft and Sun Microsystems.

The GPL governs the programming instructions called source code that developers write and then convert into the binary files that computers understand. At its heart, the GPL permits anyone to see, modify and redistribute that source code, as long as they make changes available publicly and license them under the GPL. That contrasts with some licenses used in open-source projects that permit source code to be made proprietary.
Another requirement is that GPL software may be tightly integrated only with other software that also is governed by the GPL. That provision helps to create a growing pool of GPL software, but it's also spurred some to label the license "viral," raising the specter that the inadvertent or surreptitious inclusion of GPL code in a proprietary product would require the release of all source code under the GPL. Gates in particular derided the license as "Pac Man-like," evoking an image of a GPL software module gobbling its way along and forcing the release of source code it touches.

Thus far, that scenario hasn't come to pass. The GPL, though, has threatened Microsoft in another way: It helped foster a vast, vibrant programming community.

Microsoft is keenly watching the arrival of the new GPL, which Stallman said likely will be labeled version 3. But the company probably won't see changes to that core provision separating GPL and proprietary code.
"Overall it's going to be the same," the globe-trotting Stallman said in a telephone interview from Morocco. "I don't expect anyone releasing software under the GPL to be unhappy with the changes."

Changes aren't going to happen anytime soon, though. "We're nowhere near ready to have anything to show people anything yet. We know what we'd like to do, but how to do it is not clear," Stallman said. Only when he's good and ready will he begin seeking comments on a draft.

Stallman wrote the GPL in the 1980s as part of his Gnu's Not Unix, or GNU ( http://www.gnu.org/ ), project to create a clone of the operating system unfettered by Unix's proprietary constraints--thus the term "free software" and the Free Software Foundation that Stallman established to promote it.

According to Freshmeat ( http://freshmeat.net/browse/15/ ), which calls itself "the Web's largest index of Unix and cross-platform software," there are more than 19,000 GPL-covered software projects, and the GPL governs 68 percent of projects in the Freshmeat index.

The most prominent GPL project is Linux, the kernel of an operating system that will underlie a $35.7 billion business in 2008, according to a forecast by market researcher IDC. Among others: the MySQL database, the netfilter/iptables protective firewall and the Samba file-sharing software.

But programmers have other choices if they're not happy with the GPL. Other licenses cover the Mozilla project, which helped launch the open-source movement in 1998, and the widely used Apache server software. And Sun Microsystems is testing its Community Development and Distribution License, which likely will be used to govern its Solaris version of Unix.

The patent problem :-
Patents are one reason Sun chose the license it did. How the GPL deals with that thorny legal area is the issue more than a dozen experts raised most often in discussions for this story.

The patent problems boil down to two issues. First, should the license explicitly require those who distribute GPL software to grant others unhindered use of whatever patented technology is involved in that software? And second, should there be some form of punishment for those who file lawsuits alleging that GPL software infringes their patents?

These issues are under discussion for the next version of the GPL. "It may possibly help protect our community from pirates armed with patents," said Stallman, an outspoken critic of the overall idea of software patents.
One interpretation of the current GPL is that patent holders who distribute GPL software "are in effect granting an implied license" to those patents, said Mark Webbink, the lead intellectual-property attorney for Linux seller Red Hat and a person who first saw revised GPL drafts in 2000. But it might be useful to have an explicitly expressed patent agreement, he said. "A distributor may not want to leave that ambiguous as to what rights they are giving."

Frank Bernstein, an attorney with Sughrue Mion, suggests Stallman look for inspiration to Apple Computer's Apple Public Source Licence ( http://www.opensource.apple.com/apsl/2.0.txt ) and the Common Public Licence ( http://www-124.ibm.com/developerworks/oss/CPLv1.0.htm ) IBM often uses. Both grant a license to use patents covering the software, and when it comes to organizations that sue for patent infringement, both licenses terminate their rights to use and distribute the software.

Bernstein said addressing patents could make the GPL more palatable among corporations--users that have become major contributors to, and customers of, open-source software.

But some would like to see the GPL be more of a political tool to overturn the idea of software patents. "We need to find some way to monkey-wrench the awful, broken software-patent oligopoly before it does more serious damage," said Eric Raymond, president of the Open Source Initiative ( http://www.opensource.org/ ). "If GPL (version) 3 can help do that, it would be extremely valuable."

And Bruce Perens, an open-source advocate, would like to see damages for a patent-infringement suit extended to prohibit use not just of the software in question but of all programs classified as free software. "I would like to see the next issue of the GPL include a mutual-defense clause regarding patents, such that if you enforce a patent against any free software, your rights to use free software terminate," Perens said.

A middle ground is possible, Linux seller Novell said in a statement. "Intellectual-property protection and open source can work hand in hand and are not mutually inconsistent," the company said.

Other changes:-

Stallman listed several other areas where modifications are under way:

The GPL will become more compatible with some other free software licenses that have minor conditions that currently prohibit programmers from intermingling the GPL and non-GPL code. None of those other licenses are very widely used, however, he said.

An area of investigation is getting GPL software to run on devices such as TiVo's digital video recorders, which use a specific version of Linux but won't run modified versions. But prohibitions on modifications violates the spirit of the GPL. "This is not what free software is supposed to be," Stallman said.

The next version likely will have a mechanism for dealing with GPL software that has been modified and that runs on publicly accessible computers. Today, a programmer who wanted his or her GPL software to run in this public fashion could insert a programming command that would let the public download a version of the software if it's been modified. However, with the current GPL, the organization running the software could simply remove that section of the code. Stallman is considering a provision that would prohibit its removal. "If the program has such a command already, and you modify the program, you must keep that working," he said.

Stallman isn't the only one looking for improvements.

Martin Fink, vice president of Linux at Hewlett-Packard, has been grappling with some thorny GPL issues. One problem he foresees--related to the TiVo issue Stallman raises--is integration with the "trusted computing" technology under development.

Trusted computing :-
Among other things, trusted computing is designed to permit execution only of software that has been cryptographically signed--but that signature process could be at odds with the goals of sharing and modification at the heart of the GPL, Fink said.

Another specific hitch is that the GPL isn't clear about what exactly "distribution" means, Fink said. How should GPL software be treated that's distributed from a corporation to a subsidiary? Or from one machine to another as the program executes? "We're dealing in a world where a program entity is not confined to a machine. You can have bits and parts of a program that are highly distributed," Fink said, as in the widely embraced Web services concept.

Attorney John Ferrell of Carr & Ferrell would like to see a better indication of the use of derivative works--software based on the original GPL product. Is it a derivative work to include a GPL component unmodified as part of a larger software suite?

Derivative works, copyrights and other concepts are central to the GPL but those concepts vary by country and state. Radcliffe of Gray Cary would prefer precise definitions that are more absolute.

GPL improvements are crucial to the open-source software realm, Fink said. Improvements could help the license become more popular and better understood, which in turn would mean a larger body of GPL software that could be shared among projects.

"I'm trying to stop people from creating new licenses," Fink said. "To the extent we can create a license that has a broader buy-in, that stops proliferation of more licenses, that to me is goodness."

No comments: