“When fate hands you a lemon,” wrote Dale Carnegie many years ago, “make lemonade.”
Replace the word “fate” with “Microsoft” and you’ll have a pretty good idea of a key argument the folk at the Free Software Foundation (FSF) are making to encourage adoption of version 3 of the GNU General Public License – or GPLv3 – released last Friday.
The FSF is a non-profit corporation founded in 1985 by software freedom activist Richard Stallman to support the free software movement.
The widely used GNU GPL – or simply GPL – was originally written by Stallman for the free software GNU project that initiated the GNU operating system.
Version 2 of the license was released in 1991.
Over the next 16 years, however, many in the open source community expressed concern over how some software and hardware vendors were taking advantage of “loopholes” in the GPL, enabling GPL-licensed software to be exploited in ways contrary to the developers’ intentions.
Common “exploits” included:
Tivoization – inclusion of GPL-covered software in appliances that shut down when the software is modified; Stallman faults the manufacturers of such appliances for taking advantage of the benefits that free software provides – but not allowing users to do likewise;
Masking – Use of closed-source, modified versions of GPL software behind Web interfaces;
Patent deals – such as those between Microsoft and Linux and Unix distributors that many free software advocates say are an attempt to use patents as a weapon against competition from the GNU/Linux system.
GPLv3 – released last Friday – seeks to address these concerns – and for this very reason is seen by many as controversial. (The GPL FAQ has been updated to reflect these changes).
For instance, an explicit patent provision in GPLv3 declares that people who contribute to free software cannot sue users for patent infringement.
Version 3 not only seeks to thwart lawsuits against GPL code users, but also to prevent indemnification agreements with a select group, while leaving others vulnerable – as exemplified by the Microsoft-Novell deal.
As part of that controversial cross-licensing and co-development deal signed last November between Microsoft Corp. and Novell Inc.’s SUSE Linux division, Novell agreed to pay Microsoft a percentage of revenue from open-source products, while Microsoft agreed to waive patent claims against users of SUSE Linux.
Several open source advocates have sharply criticized this as a “perverse pact”, and accused Microsoft of using a “divide and conquer” strategy to erode the open source community by pitting one Linux distributor against another.
To foil such deals, GPLv3 language says that software companies that “make discriminatory patent deals … may not convey software under GPLv3.
In fact, according to its authors, GPLv3 exemplifies the “lemon to lemonade” philosophy – transforming what was widely perceived as a setback for the Linux community into something positive.
“We will be turning the Microsoft-Novell deal into a patent-insurance factor for everybody,” said Eben Moglen, chairman of the Software Freedom Law Centre, who co-authored the GPLv3 draft with the Free Software Foundation’s (FSF) Richard Stallman.
Stallman himself makes the same point even more emphatically. In a commentary on GPLv3 published on the FSF site titled Why Upgrade to GPL Version 3, he claims the new version will take advantage of “mistakes” Microsoft made in the Novell deal, turning those mistakes against Microsoft – and extending the limited patent protection Redmond offered Novell to the entire community.
“Microsoft’s lawyers are not stupid, and next time they may manage to avoid those mistakes,” Stallman observed.
GPLv3 is designed to ensure they don’t get a “next time.”
Stallman suggested that releasing a program under GPLv3 primarily protects users, by foiling any attempts to make re-distributors collect Microsoft royalties from users.
The updated GPL, he said, also offers users explicit patent protection from the program’s contributors and redistributors. (Under GPLv2, users rely on an implicit patent license to make sure the company that provided them with a copy won’t sue them – or the people they redistribute copies to – for patent infringement).
But Stallman said even the explicit protection offered by GPLv3 doesn’t go as far as he would have liked.
The ideal, he said, would be an abolition of software patents, which he characterized as “vicious and absurd” and preventing free software development.
“Large programs, typically, combine thousands of ideas, so it is no surprise if they implement ideas covered by hundreds of patents.”
But he said mega-corporations treat patents as a weapon. “[They] collect thousands of patents, and use those to bully smaller developers.”
As any change to patent law can only be made by the courts, he said, GPLv3 seeks to do the next best thing – to limit and channel the risk.
“The explicit patent license of GPLv3 makes sure companies that use the GPL to give users the four freedoms cannot turn around and use their patents to tell some users: ‘That doesn’t include you.’ It also stops them from colluding with other patent holders to do this.”
Not everybody buys these arguments, however.
In fact, some observers wonder whether GPLv3 may not inadvertently produce the very opposite effect of what was intended.
One of them is Doug Levin, CEO of Black Duck Software that offers compliance management applications that help companies govern how their software assets are created, managed, and licensed.
Levin notes in his blog that while the language of version 3 seems to prohibit future deals similar to Microsoft-Novell pact, it doesn’t disallow the actual deal that caused so much discussion and concern.
“That puts other Linux providers at a disadvantage, since a similar relationship with Microsoft would not be allowed under GPLv3.”
Others, such as William Hurley, chief architect of Open Source Strategy at BMC Software are even more trenchant in their observations.
Hurley suggests the focus in version 3 on patents and digital rights management is completely misplaced. The folk at the FSF are “really hamstringing themselves with Version 3, taking the license further and further from where industry developers are heading,” Hurley writes in his blog.
Developers, he said, care about the licenses they incorporate into their products – and are really clamouring for “permissive licenses.” Ignoring or minimizing this need, he said, could lead to the death of GPL.
A permissive license allows for commercial modification and redistribution of licensed source code with no royalties to the originator of the software. This license is the easiest for developers to use in situations where they combine multiple code segments that carry different license types.
However, many free software advocates argue that permissive licenses militate against the concept of software freedom. They point out that a developer can take advantage of such a license to access the free software, create derivative works from that software, and then distribute those derivatives under a proprieta