Patents and GPLv3

For printing, there is also available a PDF of this document.

For more information about GPLv3 and the consultation process, see FSFE's GPLv3 project page.

This document shows the changes which are proposed for version three of the GNU General Public License which deal with patents. It includes public comments made by Richard Stallman and Eben Moglen.

Headings

1 About this document

This document is published by FSFE to aid understanding of the proposed changes to the GNU General Public License (GPL) with respect to patents. It quotes version two of the GPL, the first published draft of version three of the GPL, Richard Stallman (the author of the GPL), and Eben Moglen (the legal counsel of FSF).

The above people had no part in the compilation of this document or the selection of material for inclusion. Ciaran O'Riordan was responsible for those activities.

2 Basic Permissions

GPLv2 GPLv3, first draft
(no corresponding section in version two) 2 Basic Permissions.

This License explicitly affirms your unlimited permission to run the Program. [...]

This License gives unlimited permission to privately modify and run the Program, provided you do not bring suit for patent infringement against anyone for making, using or distributing their own works based on the Program.

2.1 Eben Moglen speaking at the GPLv3 launch, January 16th 2006

http://www.ifso.ie/documents/gplv3-launch-2006-01-16.html#em-pat-ret

[This passage reflects] the one narrowly targeted form of direct patent retaliation we have elected to include in this license.

We are not grand theorists of patent retaliation. We have been saying for 20 years, for nearly 20 years, that patents would be a terrible problem threatening the very existence of software freedom. I hope that it is clear to all now that we were right.

None the less, we believe that broad patent retaliation clauses in licenses promise more to users than they can really deliver.

Because the deterrent effect of denying the right to have and use and distribute free software is not enough in and of itself to break most patent aggression schemes. Where we have satisfied ourself that narrow targeted patent retaliation may have true deterrent affect, we have however incorporated it into the license as part of a general attempt to do everything we can about the patent problem. Here we believe that one narrow form of retaliation may actually have meaningful effect, so this license gives unlimited permission to privately modify and run the program provided that you do not bring suit for patent infringement against anyone for making, using, or distributing, their works based on the program. And as Richard has already told you, we believe the operative effect of this clause would be to deny continued opportunity to maintain privately modified versions on the part of any party who seeks to use its patent claims to prevent similar or equivalent modifications from being made by others. In this very narrow field we think retaliation may actually deter aggression and we wish therefore to include it.

2.2 Richard Stallman, speaking in Turin, March 18th 2006

http://fsfe.org/campaigns/gplv3/torino-rms-transcript.html#limited-retal

The GPL itself does contain one very limited kind of patent retaliation[...]. It says if you make changes in a GPL-covered program and then somebody else makes similar changes and you sue him for patent infringement then you lose the right to continue making changes and copying the program to your own machines.

This is a very limited situation and it's meant to protect against one particular kind of abuse on the part of server operators where they make an improvement, which they're free to do, and run it on their servers and they don't release their source code and if the code does not have the Affero clause on it then they don't have to release the source code, and then you decide that you are going to implement a similar improvement and then they sue you for patent infringement.

3 Compatibility with broader retaliation

GPLv2 GPLv3, first draft
(no corresponding section in version two) 7 e) They may impose software patent retaliation, which means permission for use of your added parts terminates or may be terminated, wholly or partially, under stated conditions, for users closely related to any party that has filed a software patent lawsuit (i.e., a lawsuit alleging that some software infringes a patent). The conditions must limit retaliation to a subset of these two cases: 1. Lawsuits that lack the justification of retaliating against other software patent lawsuits that lack such justification. 2. Lawsuits that target part of this work, or other code that was elsewhere released together with the parts you added, the whole being under the terms used here for those parts.

3.1 Eben Moglen speaking at the GPLv3 launch, January 16th 2006

http://www.ifso.ie/documents/gplv3-launch-2006-01-16.html#em-section7e

Part (e), which is phrased with some complexity, unfortunately, but it is necessary, states again a position on a subject of great controversy on which we wish to secure flexibility. Part (e) contains a two-part definition of what we consider defensive patent retaliation, and we say that you may put defensive patent retaliation additional requirements on your parts of a GPL'd work, if you wish to, and those parts will bear that requirement but can be ad-mixed with other GPL'd code.

Again, we do not enforce those requirements, but we do not prohibit code bearing such requirements to be mixed with GPL'd code. The definition we have offered is a meta-language definition of defensive patent retaliation terms. We have worked it very carefully, we have subjected it to formal verification process, and we believe that it correctly describes all of the cases that it is our intention to include, and none of the cases that it was our intention to exclude. I will say here about those conclusions that the patent retaliation provisions of the ASL 2 and the patent retaliation provisions of the Eclipse license, in our working of this example, meet this standard.

Accordingly, we believe that without further alteration, were this discussion draft to be GPL3 it would have attained full compatibility with both ASL 2 and the Eclipse license, which are presently separated from compatibility with GPL version 2 by their patent retaliation terms and those alone.

3.2 Richard Stallman, speaking in Brussels, February 25th 2006

http://www.ifso.ie/documents/rms-gplv3-2006-02-25.html#compatibility

Another big change - comparatively big - is that we've decided to make the GPL compatible with some additional free software licences that are incompatible with GPL version two. It's a practical inconvenience, this incompatibility, and it's nice to get rid of it. We can't get rid of all these incompatibilities because that would require eviscerating the GPL, making it null, effectively. The GPL requires that users must get certain freedoms and we can't allow the addition of absolutely any requirement but instead we decided to list a specific set of additional requires that are ok. So other licences can add requirements of those kinds.

[...] another kind of requirement that the GPLv3 is compatible with, and that is: patent retaliation. There are several free software licences that have patent retaliation clauses where they say that if you sue for software patent infringement, then you lose the right to use and distribute this program. And the details vary, because different licences work this out in different ways, so we drew up a criterion for acceptable software patent retaliation clauses and they are allowed now in GPL version three in compatible licences. So a licence can be compatible with GPL version 3 and contain a software patent retaliation clause - but only certain kinds of software patent retaliation clauses.

There are two kinds that we said are ok. One kind is where retaliation only occurs against aggression. You see, if Party A sues B for patent infringement, the thing B is most likely to do, if he can, is counter-sue. If Party B has a software patent, Party B will look for a way to counter-sue. We've decided we want retaliation only against A, not against B. We want retaliation only against those who commit the aggression. Not against those who are themselves retaliating. So we have a way to make the distinction.

The other kind of software patent retaliation clause that's okay is where it retaliates only from lawsuits directed at the same code or code that was released with it. That is, retaliation for software patent lawsuits that are targeted very close to the same program that would target them.

3.3 Richard Stallman, speaking in Turin, March 18th 2006

http://fsfe.org/campaigns/gplv3/torino-rms-transcript.html#compatibility-with-patent-retaliation

There's another kind of requirement that we've decided to permit, and this is patent retaliation clauses. Now, the reason is that there are several other free software licences that have patent retaliation clauses.

Patent retaliation means, if you sue somebody for patent infringement, then you lose the right to use this code.

Of course there are many ways to do that because every patent retaliation clause puts on some specifics, if you sue him or him for patent infringement in certain circumstances, then you lose the right to use this code, and the question is, what are those circumstances, what are the conditions under which the retaliation operates.

Now, we saw that there are some very broad and nasty patent retaliation clauses. Some of them say, "if you sue me for patent retaliation, for any reason about anything, you lose the right to use this code". Now that's bad because it means, suppose I sue you for patent infringement and you have a patent so you counter sue me, and then my free software licence retaliates against you and you lose the right to use that code, now that's not fair because in that case you are defending yourself, you're not the aggressor, so we decided to accept only patent retaliation clauses that are limited enough that they do not retaliate against defense, that they only retaliate against aggression, so there are two kinds of clauses that we identified that do this. One is, if the clause itself, makes a distinction between defense and aggression, so it says, if you sue somebody for patent infringement and it's aggression, then you lose the right to use this code, but if you are suing in retaliation for aggression, then what you are doing is defensive and then we do not retaliate against you.

This is one kind of patent retaliation clause that we accept.

The other kind is, if you sue, alleging that some free software, relating to this code is patent infringement, then you lose the right to use this code. In the broad space of possible kinds of patent retaliation clauses, we picked two kinds, each of which is limited enough that it will not retaliate against people for practicing defense with patents. It will only retaliate against aggressors. And we've said these two kinds of clauses are OK to add to your code in a GNU GPL covered program. This is a conceptually complicated thing. There's no way to make it any simpler, I hope, at least, that I've explained it clearly.

4 Explicit patent grant

GPLv2 GPLv3, first draft
(no corresponding section in version two) 11 Licensing of Patents.

When you distribute a covered work, you grant a patent license to the recipient, and to anyone that receives any version of the work, permitting, for any and all versions of the covered work, all activities allowed or contemplated by this License, such as installing, running and distributing versions of the work, and using their output. This patent license is nonexclusive, royalty-free and worldwide, and covers all patent claims you control or have the right to sublicense, at the time you distribute the covered work or in the future, that would be infringed or violated by the covered work or any reasonably contemplated use of the covered work.

If you distribute a covered work knowingly relying on a patent license, you must act to shield downstream users against the possible patent infringement claims from which your license protects you.

4.1 Eben Moglen speaking at the GPLv3 launch, January 16th 2006

http://www.ifso.ie/documents/gplv3-launch-2006-01-16.html#em-section11

Now, in section 11, we reach, as Richard told you in his opening, the next major area of change under the license. These two paragraphs point in different directions and I want to take them separately.

The first paragraph is simply a grant of patent claims that every distributor, licensor, modifier makes in the act of propagation that allows others to receive copies.

GPL version 2 depended on the implicit patent license in US patent law which is assumed to burden any manufacturer who distributes any product practising its own claims. That implicit patent license, in US law, had the protection of obscurity, and we appreciated that. Unfortunately, we can no longer afford any obscurity with respect to patents and it was a creature of US patent law, absent in most of the World's patent systems, and actively disclaimed by some. It was therefore clear to us that a deliberate and explicit grant of patent rights would be necessary in the license, and this is it.

Those who have fun making patent licenses -- a sub-group of a sub-group of a sub-group in this room -- may be able to improve on that one, and we certainly encourage the attempt.

The last sentence is a different kettle of fish altogether.

Here, we face a problem that we all, or at least those of us steeped in the patent problem as it presently exists, know is there but which everybody has been reluctant to deal with and we now serve notice that something must be done.

This is not about restrictions upon you put by that patent license. That remains covered by the, used to be section 7, now section 12, that I'm about to show you. This is not about what happens if your license contains terms incompatible with GPL, that's a separate question. This question is: what to do to prevent patent distributors from in-succinctly putting their customers or beneficiaries in a position of a danger from which they themselves are exempt by non-sublicenseable licenses.

We recognise that for parties who have extensive portfolios that are extensively cross-licensed, what we are saying here for the first time creates questions concerning their cross-licenses in relation to their distribution.

We recognise also that to say that you must "act to shield" is not explicit enough. We recognise that this is a very hard problem and though we have worked long at it we have no unique solution to offer you, even as a beginning for conversation.

In this coming year, those of us within this group who care about this problem, who are affected by the question, who have deep knowledge of this issue, who bear many patents as a badge of ...well, whatever it is that bearing many patents is a badge of, will have to work at it together, but we believe that the community must now face that question: how to prevent people from being deliberately endangered by those who are not suffering with them a common fate.

Note that the words are "if you knowingly rely on a patent license". We are not speaking about what happens if you have many 10s of thousands of patents and cross-license for many 100s of thousands more and have no idea whether a particular claim that you may have cross-licensed might read on some code you might be distributing.

And the question of what constitutes reliance on a license is also open for discussion but the basic principal is one we believe we must now deal with, that parties should act with recognition of the danger that patents pose to their customers, their colleagues, their distributees, and that we should demand of people that they affirmatively act to do what they can as part of a community to constrain the harm that patents are doing to that community at large.

4.2 Richard Stallman, speaking in Brussels, February 25th 2006

http://www.ifso.ie/documents/rms-gplv3-2006-02-25.html#patents

We decided that the implicit patent licences that we were relying on in GPL version two, were not solid enough so we put in an explicit grant of patent licence on the part of whoever distributes the software.

[Richard points at audience member] If she gives you a copy of the program, she is implicitly giving you a patent licence for any patent that she has or controls that you would need to infringe in order to use the software or use its output.

This follows various other free software licences that came out during the 90s.

Suppose someone is distributing a program, and he has a patent licence. So he thinks the program infringes some patent, but he has a patent licence so he's not going to be sued, but you might get sued if you redistribute it. That's not fair, so we put in a requirement that if he knows he's relying on a patent licence, he has to do something to ensure that he's shielding you as well when you carry out the freedoms that the GPL gives you. This is a matter of honesty.

When he distributes the program to you and says "this is under the GPL, you're free to redistribute this", and at the same time he knows that if you redistribute it you'll get sued, even though he can't get sued, that's dishonesty. So we require him to do something to make sure you won't get sued either, if he knowingly relys on a patent licence.

On the other hand, if he's just taking his chances, he doesn't have to do anything special. [skip] that's the most we can ask.

But, this is complicated because there are mega corporations that have blanket cross-licences. Two mega corporations say "we'll cross licence all our patents", and they don't even know what they have patent licences for. So this is why we put in the "knowingly rely on" part, because we don't want to impose a requirement on, say, IBM, to do something for other people when IBM doesn't even know that it has a patent licence for a certain patent. So we put in those words "knowingly rely on". This apparently is rather controversial: exactly where that line should be drawn. But it's actually a pretty small change.

4.3 Richard Stallman, speaking in Turin, March 18th 2006

http://fsfe.org/campaigns/gplv3/torino-rms-transcript.html#patent-grant

GPL version two is based on an implicit grant of a patent licence. The idea is that if somebody says "here is a thing and you can use it", implicitly he's promising he's not going to sue you for patent infringement if you go ahead and do what he said; however, since in the past eight years or so some other free software licences have included explicit statements of patent licenses, patent licence grants by people distributing the software, and so we decided to do the same thing, and we've included an explicit statement that the distributors of the software all promise not to sue anybody who is using any version of that software for patent infringement based on the versions that they distributed. Basically, whatever their versions do, they're promising not to sue you for.

However, there's a subtlety that came up in this. What if somebody doesn't have a patent but he has got a licence for that patent, and he distributes the code to you. Well, does that licence he got include your exercise of the four freedoms? Including your freedom to redistribute copies yourself, with changes? Maybe not, but if it doesn't, it creates a dangerous and unfair situation. Unfair to you because he is distributing the software, or distributing his version of the software, and he is not going to get sued for patent infringement because he got a licence. He distributes it to you under the GPL and the GPL says you are free to redistribute it too, but if you do that you might get sued because his patent license might not cover you.

Well, this is unfair, this is something that's not supposed to happen. He received this program under the GPL and the GPL says when he distributes a version of it, he must really give you the freedom to do the same. If he can count on safely doing it, and he knows you will get sued if you do it, by a third party, he's cheating. So, GPL version three, along with the explicit patent licence grant, says that if he is knowingly relying on a patent licence for distributing his version, he must take some effective step to protect you as well if you distribute.

Now, the reason it talks about "knowingly relying" is that there are companies that have signed blanket cross licences with other companies, so the company distributing the program, might have some blanket cross licence with some company, and that blanket cross licence might cover a thousand patents, and they don't even know what those thousand patents say. So, if they don't even know that they have a patent licence, they're not required to pay attention, but if they know about a specific patent that would cover this program, that means they are knowingly relying on a patent licence and that means they have to keep you safe as well. This is a very controversial decision. It may seem like a subtle point, it covers a peculiar scenario, but it's not an impossible scenario. It could be a very important scenario. In this scenario, this point is essential to ensure that the GPL really does what it intends to do, which is, make sure that you do get the freedom to redistribute the software that you got. And this is typical of the ways that we are changing GPL version three. They apply to complicated scenarios but those scenarios may happen frequently, and in those scenarios we are trying to make sure that you really get the four fundamental freedoms which that free software.

So here we're talking about what is necessary to ensure that freedom two really exist for you in a certain special scenario, freedom two being the freedom to redistribute copies and also freedom three, it applies to that too.

5 Liberty or Death

GPLv2 GPLv3, first draft
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.

If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.

It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices.
12 Liberty or Death for the Program.

If 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 the Program, or other covered work, so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute it at all. For example, if a patent license would not permit royalty-free redistribution 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.

It is not the purpose of this section to induce you to infringe any patents or other exclusive rights or to contest their legal validity. The sole purpose of this section is to protect the integrity of the free software distribution system.

5.1 Eben Moglen speaking at the GPLv3 launch, January 16th 2006

http://www.ifso.ie/documents/gplv3-launch-2006-01-16.html#em-section12

We wish to point out, both in that language and in the illustration, that an agreement which imposes obligations on you, like a court order or other judgement, raises the problem which we used to call a section 7 problem and we shall now find ourselves calling a section 12 problem, ah, raises a section 12 problem because those condition because those conditions are imposed on you. Whether you have self-imposed them or they have been externally imposed, it's the fact that you have conflicting obligations that prevents you from distributing. It's not a punishment, it's the observations of a fact. It's not good enough to say "I have to violate the license", you just can't.

This has always been seen as being about the patent problem, and in some sense it is. It wasn't the only way you could get into section 12 trouble, but it was the way which was most commonly understood in the course of the last few years as the patent problem became ever more severe.

However, there were also cases in recent years where people seemed to want to use section 7 as a device of explosion -- an improvised explosive device if you please -- inside the GPL. Some people seemed to have come to the conclusion that merely by yelling "patent", or by offering a license incompatible with GPL, that they could somehow prevent GPL'd distribution of works. We knew that that was bogus, and we thought that it was important to make it clear in this license. If you impose conditions on yourself, or if conditions are imposed on you, then this clause has effect. If you are threatened, or if bloviation occurs in your neighbourhood, that has no effect, and we hope it will continue to have no effect in the future.

6 Closing comments

A year-long consultation is being held to spread awareness of the proposed changes to GPLv3, and to solicit comments. This document was produced as part of FSFE's efforts to assist this process. For more information about FSFE's efforts, see:

http://fsfe.org/campaigns/gplv3/

The official website of the GPLv3 process is:

http://gplv3.fsf.org

Free Software Foundation Europe e.V.
Talstraße 110
40217 Düsseldorf
Germany
Phone: ++49 700 - 373387673 (++49 700 FSFEUROPE)
European office e-mail: office@fsfeurope.org