GPL

In What if Linux does infringe Microsoft intellectual property, Adrian Kingsley-Hughes asks some pretty fundamental questions about how Microsoft might use the IP it claims Linux infringes. 

It is highly likely, given that Microsoft has been developing operating systems for nearly 30 years now, that their claim is true. So, let’s posit that Microsoft, in fact, does have patents that read on Linux. 

  1. As a user or distributor of Linux, you could be liable for patent infringement.
  2. The mere allegation of patent infringement (in a court of law, of course) would prevent all distribution of Linux under the terms of the GPL.

In the first scenario, it’s highly unlikely that Microsoft would go after individual users.  But, their actions vis a vis Novell seem to suggest that they’re open to using their patent muscle to get agreements from distributors.

The second scenario is a nuclear winter scenario.  Having alleged patent infringement, who would Microsoft pursue for reparations?  It would be easy enough to shut down the prominent distributors, but after that how would Microsoft go after the thousands of websites that would spring up to distribute Linux? It’s a bit like the numbskulls at the RIAA trying to shut down bittorrent. And, having alleged infringement, how quickly would the open source teams at IBM, Novell, or RedHat produce non-infringing work-arounds?

The whole thing is a legal poker game.  If Microsoft doesn’t assert the rights granted, then it will lose them.  Getting agreement from Novell to license the IP in question could be construed as an assertion of those rights, although Novell denies it.  The more licensing deals they do, the stronger the claim becomes.  The threat becomes more palpable each time. 

Let’s construct a nightmare scenario:

  1. Microsoft successfully negotiates deals with several of the major Linux distributors for paid-up licenses, as they have done with Novell.
  2. Next, Microsoft announces a royalty program for all non-licensees.  For a small, per unit royalty, you may have permission to use the IP in question.  After all, they can’t negotiate paid-up licenses with every distributor of Linux out there. Or, perhaps they choose not to license the IP broadly.

The GNU Public License (GPL) permits all licensees to freely copy and distribute the software, subject to a couple of restrictions — namely that the source code accompanies the software, and that the software is licensed under the GPL to all recipients, allowing them once again to redistribute.

Clause 6 and 7 of the license are particularly pertinent.  They read:

6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients’ exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.

7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.

Now, I’m no lawyer, but the way I read these two clauses, Novell would not be restricted from distributing Linux to its customers, but those customers would not be able to redistribute without negotiating a license with Microsoft.  Effectively this scenario shuts down the viral distribution of Linux through the GPL.

Perhaps that’s Microsoft’s game.

11/26 8:33pm UPDATE:  I’m not the only one who has spotted this gambit.  In CBR Online, writer Matthew Aslett also identifies this hole and states that the Microsoft deal could leave Novell behind other Linux vendors, as the Free Software Foundation intends to license the libraries Linux is dependent on under the GPL v3 in the new year. Novell would be forced to choose between their agreement with Microsoft, and the Linux libraries… ugly! In GPL v3 draft 2, the patent language now reads:

If you convey a covered work, knowingly relying on a non-sublicensable patent license that is not generally available to all, you must either (1) act to shield downstream users against the possible patent infringement claims from which your license protects you, or (2) ensure that anyone can copy the Corresponding Source of the covered work, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means.

{ 2 comments }

The Truth about the GPL

by alec on November 22, 2006

The spat between Novell and Microsoft over patent licenses is generating plenty of comment in the blogosphere.  Microsoft apparently believes that it might finally have found a way to use its patent portfolio effectively against Linux, and Novell is saying “No-siree Steve, that’s not what we agreed!”.  And, of course, the open source community is rushing out to try to draft language that would make Microsoft’s commitment to not pursue Novell customers over patent violations applicable to all users of Linux.

Whew!

While Microsoft’s agreement with Novell is the flashpoint for this dispute, the heart of the controversy lies deep within the open source community, in the GNU Public License itself.  It’s the GPL’s aggressive protections against software patents that are the root cause.  The GPL states:

If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.

Novell denies that the patent license they received from Microsoft has anything to do with Linux, because if it admitted as much then recipients of Suse Linux would not be able to redistribute. Novell would be in violation of the GPL.  Microsoft apparently believes that the license does read on Linux, but until a challenge is mounted by Microsoft, the point may be moot.  And, by rattling its sabre, perhaps Microsoft can inject a little FUD into the community of business Linux users. 

What a mess.

Frequently that’s the way interpretations of the GPL end up.  The intent of the drafters isn’t always clear, and creative people find ways to mold the license to their business needs.  For instance, some weeks back, Fonality acquired Trixbox.  At the time, one of the reasons given by Fonality CEO Chris Lyman for the popularity of Trixbox was that some Asterisk contributors didn’t want to sign the “double waiver” required by Digium.  It turns out that Chris was indulging in a little hyperbole.  There is in fact only one waiver required.  It just happens that there is a short and a long form — one easily understandable, and one very legalistic.  Even so, with a little investigation, it became clear that some didn’t want to sign the waiver, claiming that it gave Digium the right to commercialize third party applications.

It seems to me that this is a simple case of misunderstanding. 

The Digium waivers simply give Digium permission to use third party contributions, however they want. They don’t restrict what the contributor can do with them, however.  Moreover, the Digium waivers explicitly state that you’re allowing Digium to use, unrestricted, any changes you make to Asterisk, Gnophone, Phonecore, or libiax — Digium’s own IP, licensed under the GPL.  Paraphrased:  if you’re making a contribution to Asterisk, Digium requires your permission to use it before they will distribute it. If you’re building an application that works with Asterisk, and is merely aggregated with Asterisk in the same distribution, then you shouldn’t need to either (a) worry about GPL restrictions, or (b) subject your code to Digium’s waiver.  In other words, it’s a tempest in a teapot. 

Given that Digium doesn’t actually distribute third party applications with Asterisk, it seems clear that the real need Trixbox fulfills is in providing a “whole” product to customers, rather than some nefarious waiver-avoidance service. Trixbox, as many have noted, is nothing more than a script that “merely aggregates” other open source components with Asterisk, as is allowed by the GPL.  It just happens to be very popular.

Side note: Digium’s waiver is tame compared to the copyright assignment required by the Free Software Foundation.  If you give your software to the Free Software Foundation, you have given up all rights.  Period.  In both cases, however, the goal is to protect the core software from claims that might prevent it from continuing to be distributed as open source.  That’s good stewardship, and nothing more.

So Fonality Chief Chris Lyman threw a little mud in the water.  One might even accuse him of telling some half truths.  My point of view is that Digium is doing what a reasonable person would expect them to do, and Trixbox likewise. 

Nevertheless, there were rumblings at Astricon from some Asterisk contributors and resellers.  Over drinks, they accused Fonality of being a bad Open Source citizen.  They pointed out that Fonality’s “hardened” version of Asterisk contained core fixes to Asterisk that had never been contributed back to the Asterisk head branch.  Unfortunately for the grumblers, a read of the GPL reveals that there is no requirement that Fonality do so.  The GPL bites again!  In fact, the beginning of section 3 reads:

You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:

a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

In other words, while you are required to make any modifications to the program available in source code, you are only required to make those modifications available to people who are recipients of your code.  Fonality interprets that to mean that they must make those modifications available to their customers.  And so they do, by placing that code on a server accessible to those customers.  The miracle is that none of those customers have apparently ever chosen to exercise their own right to redistribute the software given them by Fonality, and placed that software in the wild.

Fonality has forked the Asterisk code base, which they’re within their rights to do, and by controlling the distribution of the resulting executable, they’ve also effectively controlled distribution of the source.  Whether or not that delivers them a competitive advantage is debatable, since it effectively removes their distribution from any head branch improvements, but that’s certainly how CEO Chris Lyman views it.

Legal, yes. But is this the spirit of Open Source?  That’s for you to decide. 

The GPL is turning out to be more flexible than many might have believed, and perhaps more vulnerable to software patents than has been presented.  Far from the industry destroying spectre that Microsoft presented in Microsoft’s infamous 1998 Halloween memo,  the truth appears to be between that extreme and the panacea that Open Source adherents Eric Raymond wish for.  Most importantly, there are plenty of ways to make money with open source, even within the constraints of the GPL.

{ 2 comments }

Alec on LinkedIn Alec on Twitter Alec on Facebook Calliflower on Youtube RSS Feed Contact me