GPLv3, Microsoft/Novell language

In November of last year Microsoft and Novell announced a collaboration deal between the two companies. The exact terms of the deal haven’t been released yet, so it’s difficult to evaluate it in any substantial way. The two companies report that the deal involves some form of cooperative marketing, development in virtualization and interoperability, document format compatibility, and a patent agreement. It’s that last item that has sparked all the controversy.

There’s no question that the announcement could have been handled better. What is still an open question is whether the deal represents a threat to free software. We just won’t know until we see the terms. (A recommendation for the future: releasing the full terms of the deal at the time of the announcement is part of handling it better. It should come as no surprise that openness is highly valued in this context.)

The FSF started working on language for the GPLv3 in response to the deal soon after the first announcement. I have a few general objections to the added terms and a couple of objections specific to the chosen language.

The core of the added language is:

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 patent license (a) in connection with copies of the covered work conveyed by you, and/or copies made from those, or (b) primarily for and in connection with specific products or compilations that contain the covered work, which license does not cover, prohibits the exercise of, or is conditioned on the non-exercise of any of the rights that are specifically granted to recipients of the covered work under this License.

Translating that into plain English, it says: If you distribute GPLd software and make a deal with another company who also distributes (some kind of) software, we will stop you from distributing the GPLd software if:
a) you pay the other company
b) the deal mentions the GPLd software
c) you get a patent license
d) the patent license mentions the GPLd software
e) the patent license has more limited terms than the GPL license on the software

First, and most trivially, the last clause in that paragraph has grammatical problems, related to the fact that “does not cover, prohibits the exercise of, or is conditioned on the non-exercise of” changes from a negative to a positive, so that by the time it gets to “any of the rights”, it’s using the wrong class adjective for “does not cover”. You want “does not cover all the rights” or “prohibits the exercise of any of the rights”, but not “does not cover any of the rights”. (Because that would allow a patent deal that only grants some of the rights granted by the GPL, which is exactly what they’re trying to prevent.) I imagine this will be fixed in the next draft of the license.

Second, this addition to the GPLv3 is based on an assumption about the nature of the Microsoft/Novell deal. The key phrase is “conditioned on the non-exercise of any of the rights that are specifically granted to recipients of the covered work under this License.” The assumption is that the grant of the patent license applies to users of the particular distribution of Linux (SLES) only if “the user does not make or distribute additional copies of SLES” (from the rationale document for the third draft, page 25), so it would be a restriction on the redistribution of GPLd software. But we don’t actually know yet if that’s part of the agreement. So they’re adding language to the license in response to a deal, when the language may not even turn out to be relevant to the deal.

A third, and possibly most important, question is whether the terms here (however they’re phrased) are even what free software needs. At the core it’s an attempt to stop companies who distribute Linux, for example, from making patent deals with other companies. But these distributors already have hundreds of other deals with other companies. For most companies (software or hardware) the whole point of filing patents is to use them as the basis for collaborative deals with other companies. The real threat is not patent deals, they’re harmless and only give the two companies involved a small measure of comfort that their partner won’t stab them in the back for the duration and scope of the deal. It’s patent suits that are dangerous and destructive, whether they’re frivolous or not. There are really only two states of equilibrium for software patents: either they don’t exist, or they exist but are bound by so many patent agreements between so many different companies and projects that filing a patent suit amounts to legal suicide. Unfortunately, in the US we’ve already made the foolish mistake of allowing software patents, which leaves us with an extensive network of patent deals as the only way out. Preventing patent deals doesn’t help anyone.

My fourth objection is embodied in the old adage “When all you have is a hammer, everything looks like a nail.” The FSF had success in the past accomplishing one goal with a license, so now they’re trying to accomplish a broad range of goals using the same tool. But a license really isn’t the best tool to accomplish some of these goals. Particularly, it’s not a good tool for attempting to abolish software patents or prevent companies from making patent agreements.

My fifth objection is a rule of discrimination: I’m fine with establishing a set of principles and building a community around them. People who want to follow the principles belong in the community, and people who don’t can find a different community to join. But when you start redefining the principles in order to keep out specific people, even though they followed your principles, that’s discrimination (not to mention being a little too much like a game of Calvinball). There’s no room for discrimination in free software, or in any movement promoting freedom.

tags: