LWN.net Logo

Unfortunately the FSF thinks the GPL end justifies any misleading means

Unfortunately the FSF thinks the GPL end justifies any misleading means

Posted Sep 11, 2010 17:32 UTC (Sat) by boog (subscriber, #30882)
In reply to: Unfortunately the FSF thinks the GPL end justifies any misleading means by FlorianMueller
Parent article: FSF responds to Oracle v. Google and the threat of software patents

(Florian Mueller said) "But the implicit patent grant under the GPLv2 does not help if modified code infringes the same patent."

I don't think this is right. Surely the point is that any uses of code covered by patents held by its distributor are protected by the (implicit) GPL2 patent grant. In this particular case, *any* Sun/Oracle patents reading on *anything* done by GPL Java are granted to *all* derivative code of same. What is not granted is licence to patents that are not exercised in the original code.

In other words, "The implicit patent grant under the GPLv2 should be of great help if derivative code infringes on the same patent."

As I mentioned in a comment above, it seems to me that it would be quite feasible for Google to recreate Dalvik as a derivative work of GPL Java. It would be very interesting if Google did this:
- there would be a really free telephone
- the GPL2 patent grant might be tested in court (I suspect it has remained untested for good a reason)


(Log in to post comments)

Unfortunately the FSF thinks the GPL end justifies any misleading means

Posted Sep 11, 2010 17:47 UTC (Sat) by FlorianMueller (guest, #32048) [Link]

Surely the point is that any uses of code covered by patents held by its distributor are protected by the (implicit) GPL2 patent grant. In this particular case, *any* Sun/Oracle patents reading on *anything* done by GPL Java are granted to *all* derivative code of same. What is not granted is licence to patents that are not exercised in the original code.

You're being too optimistic.

There must be a reasonable limit somewhere. A minor modification of the relevant code might not be sufficient to lose the benefit of the implicit license grant, but a fundamental architectural change probably would.

Without a limit, the implicit grant would really go to far. The question isn't if there is one. It's where it is.

Unfortunately the FSF thinks the GPL end justifies any misleading means

Posted Sep 11, 2010 19:44 UTC (Sat) by boog (subscriber, #30882) [Link]

The relevant section appears to be (http://en.swpat.org/wiki/GPLv2_and_patents )

"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."

(Section 7. does not seem relevant, because Sun/Oracle is not defendant in the law suit).

So section 6 implies extremely broad licence "...copy, distribute or modify the Program", even broader than I suggested. I don't see why it should be interpreted narrowly. I'm sure it was the intention of the drafters of the GPL to prevent patent attacks on free software as much as they were able. Note that even modifications are expressly allowed and no restriction of those rights may be imposed.

You say "there must be a reasonable limit" and "the implicit grant would really go too far". But I don't see how you can base those views on the language of the licence or the intention of the drafter. The licence could quite plausibly have stated "You and your successors in interest hereby agree not to bring patent suits against any GPL software", which would have been even further-ranging but perfectly explicit.

The weakness of the section seems to me to be that it has not been tested in court (because nobody has been optimistic of success?). It may be that it will be overridden by other laws (which could be where your "reasonable limit" comes into play), but you haven't been very precise about which laws they might be. Reasonableness as defined by Mueller may not be generally binding.

NB. I wonder whether Sun/Oracle "REdistribute" Java, which is the word appearing in section 6.

Unfortunately the FSF thinks the GPL end justifies any misleading means

Posted Sep 12, 2010 4:44 UTC (Sun) by FlorianMueller (guest, #32048) [Link]

Some of this has previously been raised by CiarĂ¡n (cioriordan) and we exchanged views. I don't want to have too much duplicity here now, but let me respond to parts of this.

The key problem with Sections 6 and 7 of the GPLv2 is that even though you claim they're broad, they don't constitute a license grant. Those sections can be fully complied with by an author who simply doesn't hold any patents on the code he publishes on GPLv2 terms. In fact, that is the way I interpret those sections: they reflect a desire that no one should publish patent-encumbered stuff under the GPLv2 (nor to do deals with third parties that result in patent encumbrance). But if someone does anyway, that text isn't an explicit license grant; one can only argue that one is implicitly needed, and about the limitations of an implicit grant I cited Dan Ravisher as well as the European Commission.

We could speculate a lot about why that clause hasn't been tested in court. So far I'm not aware of any case in which a patent holder published something under any FOSS license (GPL or whatever) and later took users or forkers to court over it. The real problem is always third-party patents. The FSF dreads the notion, and I don't like the status quo either, but the fact of the matter is that a number of major companies with all of the resources and knowledge in place to understand patent issues have decided to agree to pay patent royalties on Linux and probably also on some other GPL'd software.

Finally, your last point about "redistribute" in Section 6: you are right that the first sentence only relates to a situation where someone has already received a license from the original publisher and then passes the program on to someone else, possibly with modifications. So in Oracle/Sun's case, it's indeed hard to see how Section 6 would apply. Even if the other sentences of that section did (a kind of aggressive interpretation given that they are in the REdistribution context), there would still be the problem I outlined: the whole GPLv2 thrust is about not being patent-encumbered as opposed to granting a perpetual, irrecovable, worldwide royalty-free license.

Unfortunately the FSF thinks the GPL end justifies any misleading means

Posted Sep 12, 2010 8:44 UTC (Sun) by boog (subscriber, #30882) [Link]

"The key problem with Sections 6 and 7 of the GPLv2 is that even though you claim they're broad, they don't constitute a license grant."

I'm not sure you're being self-consistent here. Last comment around you were implying that there must be a reasonable limit on a patent grant, this time you are saying that there isn't a patent grant. As I understand it, some patent grants need not specifically list affected patents. (For instance, the famous covenant not to sue from Microsoft certainly did not specify the infringing patents, and I'm sure there a other examples of more direct grants or licences where all patents are not listed - how does cross-licensing usually work?)

"... about the limitations of an implicit grant I cited Dan Ravisher as well as the European Commission."

Well, I read the zdnet article citing Ravicher you cite. Possibly confused, as cioriordan says, so maybe we shouldn't put too much weight on it. I think Ravicher is rather addressing the concern of companies that licence to _all_ of their patents is potentially granted through the "right to modify " part of the licence. So the uncertainty could lead to too strong a licence rather than too weak a licence in his opinion; your description of "legal uncertainty" is therefore not the whole story.

The quote from the European Commission lawyer is rather positive, I find (http://en.swpat.org/wiki/GPLv2_and_patents ).

"Suppose, for example, that the owner of MySQL has a patent with a claim Z covering a software feature and MySQL implements this software feature and releases the implementation under the GPL. Any licensee would indeed, as the notifying party has argued repeatedly during the proceedings, essentially receive an irrevocable patent-license comprised within the GPL. However, this implicit license would be limited to the use that is being made of the patent claim by the code as originally released under the GPL. If the licensee now changes the code in a way that adds another use or implementation of claim Z it may be liable for patent infringement as regards the code it has added to what it had originally received under the GPL. "

For what it is worth (I don't have a great opinion of European bureaucracy), this lawyer seems convinced that there would be a strong patent licence granted via the GPL even if you receive the code direct from the owner of the patents. Yes, the laywer does say that such protection _may_ only be limited to the patents exercised in the released code (though no reason for this limitation is given), but in our case, protection against all Sun/Oracle patents as used in Java would still be a _huge_ win. After all, Sun must have focused its efforts on protecting Java itself.

Unfortunately the FSF thinks the GPL end justifies any misleading means

Posted Sep 12, 2010 8:58 UTC (Sun) by FlorianMueller (guest, #32048) [Link]

'm not sure you're being self-consistent here. Last comment around you were implying that there must be a reasonable limit on a patent grant, this time you are saying that there isn't a patent grant.

Not inconsistent, but once those statements get taken out of context, they may appear to be. The sentence you quoted about Sections 6 and 7 of the GPLv2 not constituting a license grant meant that they don't constitute an explicit license grant (the context in which I said so). The GPLv2 as a whole (of which Sections 6 and 7 are just parts) does constitute an implicit one. When I said there must be reasonable limits, I referred to the implicit grant. When I said Sections 6 and 7 don't constitute a grant, I meant they don't constitute an explicit grant. In my opinion they don't even constitute an implicit one just by themselves (it's the GPLv2 as a whole).

As I understand it, some patent grants need not specifically list affected patents

Right, but that's not the issue. Listing patents is one thing; saying specifically "I, the right holder, grant you a license" is another.

For what it is worth (I don't have a great opinion of European bureaucracy), this lawyer seems convinced that there would be a strong patent licence granted via the GPL even if you receive the code direct from the owner of the patents.

You're just confusing people with your own confusion now. The European Commission clearly said that the GPLv2's patent grant is implicit. Even the passage you quoted says "this implicit license".

I don't understand why you say "even if you receive the code direct[ly]". The "even" is unclear to me. Why would indirect receipt be better?

Yes, the laywer does say that such protection _may_ only be limited to the patents exercised in the released code (though no reason for this limitation is given), but in our case, protection against all Sun/Oracle patents as used in Java would still be a _huge_ win.

It's not just a limitation to the patents whose teachings are practiced in the relevant code. Note that the passage you quoted also says "would be limited to the use that is being made of the patent claim by the code as originally released under the GPL." Once any of that code is modified, let alone if entirely new code uses the same patents, you're no longer talking about the original use.

Unfortunately the FSF thinks the GPL end justifies any misleading means

Posted Sep 12, 2010 10:37 UTC (Sun) by boog (subscriber, #30882) [Link]

(On the issue of whether there is a patent licence and what its limits might be.) I agree that there are two questions - is there a patent licence and, if there is one, what is its extent. I was just arguing that if a court decides there is a licence, the uncertainty about whether there was one is resolved and that uncertainty has little bearing on the extent of the licence, which must then be decided and can be very broad. You seem to argue that because there is uncertainty about the existence of the licence it must therefore be limited. I don't think that is logically correct.

"You're just confusing people with your own confusion now. The European Commission clearly said that the GPLv2's patent grant is implicit. Even the passage you quoted says "this implicit license"."

And the passage also says "essentially received an irrevocable patent-licence"; if it is effective and broad, who cares if it is implicit ? :-) (See beginning of this comment regarding separation of existence and extent questions.)

"It's not just a limitation to the patents whose teachings are practiced in the relevant code. Note that the passage you quoted also says "would be limited to the use that is being made of the patent claim by the code as originally released under the GPL." Once any of that code is modified, let alone if entirely new code uses the same patents, you're no longer talking about the original use."

The phraseology seems ambiguous - it can (should) be read as meaning that only the use of the patent must be unaltered for protection to be effective, not that the code itself must be unaltered. The phrase says "limited to the use" not "limited to the code". And I simply don't buy the argument that any change in the whole of Java means that none of the patents are being used as they were in the Sun/Oracle version. (Such a strict limitation is certainly not intended in the implicit patent licence.) Surely the analysis would come down to specific code portions and whether the algorithmic approach is the same in original Java as in (GPL) Dalvik. Sun/Oracle would then have to argue that patents (originally taken out to protect Java) are used DIFFERENTLY in their Java and in the (GPL) Dalvik. That would be especially difficult if the code portion was the same in the two (remember this is all about a hypothetical GPL Dalvik that would be recreated by derivation from GPL Java), offering a significant potential for working around infringement claims.

("even if you receive the code direct from the owner of the patents" was referring to the little discussion of the "REdistribute" wording in the GPL2, where it seemed to me that the protection was less clear if you received the code direct from an owner with patents.)

Unfortunately the FSF thinks the GPL end justifies any misleading means

Posted Sep 12, 2010 11:03 UTC (Sun) by FlorianMueller (guest, #32048) [Link]

First a request, could you please improve the layout of your comments by highlighting quoted passages more clearly? I see some people doing it with color, while I use the blockquote tag, but the way you quote entire passages in quotes (which passages then sometimes also contain quotes) is a bit confusing. Thanks.

I agree that there are two questions - is there a patent licence and, if there is one, what is its extent.

I don't deny that those are important questions, but the extent of the license has a lot to do with whether it's an implicit or explicit one. If it's an explicit one, then the language of the explicit grant defines it. If it's an implicit one, then there's no language of a grant to refer to and the scope will be what a court would consider a reasonable scope of an implicit license.

if it is effective and broad, who cares if it is implicit ? :-)

As I just explained: the scope depends on the nature. Theoretically, an explicit license could be anything from extremely narrow to extremely broad, while an implicit one will be resaonable, which is neither of the two extremes.

And I simply don't buy the argument that any change in the whole of Java means that none of the patents are being used as they were in the Sun/Oracle version

The most conservative position on the reasonable scope of an implicit license would be that any change can put the program outside that scope. That's similar to a programmer pointing out that any change in the program can make any other part unstable. It doesn't mean that it necessarily happens, but if all you know is that something changed, then that's the risk to assume (meaning you'd have to test everything again).

If a patent holder wants to limit the scope of the implicit patent license as much as possible, he will argue that whatever changes were made turned the program into something new that wasn't intended to be allowed under the license. Looking at the Oracle-Google example, the patents Oracle asserts appear to relate to the overall functioning of the virtual machine as opposed to individual programming commands. In the event Google changed anything about the commands (supporting fewer or supporting additional ones, or a combination of both), Oracle could argue that the selection of programming commands going through the patented mechanisms wasn't meant to be allowed under the implicit license.

The phrase says "limited to the use" not "limited to the code".

That's true but not helpful in practical terms. Assuming there is an implicit patent license in place and you take the relevant code and just change variable names, the algorithm itself remains the same. So it's the same use and would also in my understanding still be licensed. But once you change the logic of the relevant code, the patent holder will claim it's a new use. Since the implicit patent license should be reasonable, the nature and stature of any changes to the logic of the code should be taken into account. Absolutely minor changes should not deprive the forker and his users of the patent license, but once the changes are significant, the patent holder may have a case that the implicit license really just relied to what he (the patent holder) published.

Sun/Oracle would then have to argue that patents (originally taken out to protect Java) are used DIFFERENTLY in their Java and in the (GPL) Dalvik.

That's right. As I mentioned further above, even if there's simply a difference in terms of supported commands or whatever else that gets processed by the patented algorithms, Oracle could argue that it's a new use. If I say "could argue", that doesn't mean they'd be certain to win, but I said earlier on in this thread that the way the FSF wanted its statement to be understood was that the GPL would have solved the problem, so any reasonable doubt is enough to say that the FSF overstated.

("even if you receive the code direct from the owner of the patents" was referring to the little discussion of the "REdistribute" wording in the GPL2, where it seemed to me that the protection was less clear if you received the code direct from an owner with patents.)

Thanks for clarifying. The term "protection" is difficult to use here. If someone takes a GPL'd work and contrary to the REdistribute part simply imposes restrictions, then you are the licensee are still not directly protected. However, the forker who did that would have distributed code under the GPL without permission to do so. So in the end both of you would have a problem. The forker would have a copyright problem but you might still have a patent problem :-)

Unfortunately the FSF thinks the GPL end justifies any misleading means

Posted Sep 12, 2010 13:16 UTC (Sun) by boog (subscriber, #30882) [Link]

...could you please improve the layout of your comments

I've tried.

If it's an implicit one, then there's no language of a grant to refer to and the scope will be what a court would consider a reasonable scope of an implicit license.

Theoretically, an explicit license could be anything from extremely narrow to extremely broad, while an implicit one will be resaonable.

I don't understand why an implicit licence "must be reasonable", with "reasonable" being defined without regard to the wording of the licence. I think that is a completely illogical step. Such a principle could only be imposed by an external law, but you haven't cited one that might be relevant.

Imagine a licence, not so different to the GPL, that says "you hereby grant irrevocably any and all rights you possess that could in any way be used by you or third parties to impose additional restrictions on the receipient's use, distribution or modification of the program." That would be an implied patent grant. And it would be broad. I see no reason why it should be interpreted "reasonably" because it is implicit.

If a patent holder wants to limit the scope of the implicit patent license as much as possible, he will argue that whatever changes were made turned the program into something new that wasn't intended to be allowed under the license.

That's exactly my point. In order to attack a GPL Dalvik, Oracle could find itself in the tricky position of having to show both that the GPL Dalvik infringes AND that the GPL Java from which it would have been derived makes NO use of the patent (beacause otherwise the implicit licence would operate). I think that would be significantly more difficult than simply establishing infringement, especially as most of their patents ARE related to Java. And it might be possible to copy verbatim the specific code from the GPL Java, surely making it impossible to argue that the patent uses were different.

Of course, they would first try to argue that there is no or only a limited patent licence implied in the GPL2, but we've covered that discussion above; it's NOT established jurisprudence.

To return to the very original issue. I tend to believe the FSF people who have given most thought to their licence; they haven't often been wrong regarding the legal strength of the GPL where it has been tested. Certainly, I think Oracle would have a vastly more difficult case if they were attacking a GPL Dalvik. So, no, I don't think the FSF position is misleading.

Unfortunately the FSF thinks the GPL end justifies any misleading means

Posted Sep 12, 2010 13:51 UTC (Sun) by FlorianMueller (guest, #32048) [Link]

Thanks for highlighting the quotes. You're persistent, but I'll answer again, though I hope it will be the last time for today :-)

I don't understand why an implicit licence "must be reasonable", with "reasonable" being defined without regard to the wording of the licence. I think that is a completely illogical step. Such a principle could only be imposed by an external law, but you haven't cited one that might be relevant.

There's no such thing as an "Implicit Patent License Act" or similar law that I could present and that would deal in detail with this. Depending on jurisdiction, there would be different legal theories. Since Oracle-Google is a US case, the theories that could lead to an implicit patent license under US law are called legal estoppel, equitable estoppel, conduct, and acquiescence. To discuss the differences between the four would be a major digression, but especially the one that contains the word "equitable" makes it clear that some fairness/reasonableness principles comes into play.

I agree with you that if there's a copyright license that grants extremely far-reaching rights to licensees (and yes, the GPL does go quite far), one might want to argue the implicit patent license should also go very far. However, a licensor might want to grant a very broad copyright license and reserve a lot of rights concerning his patents.

In order to attack a GPL Dalvik, Oracle could find itself in the tricky position of having to show both that the GPL Dalvik infringes AND that the GPL Java from which it would have been derived makes NO use of the patent (beacause otherwise the implicit licence would operate).

Oracle would only show that the hypothetical GPL Dalvik infringes. Google would then, in that hypothetical scenario, argue that GPL Java (such as OpenJDK) also does, and that Google just used it on GPL terms. Then the question would be whether it's a new use of the relevant patent(s); and we discussed before what that means.

And it might be possible to copy verbatim the specific code from the GPL Java, surely making it impossible to argue that the patent uses were different.

I explained before that there are various kinds of changes that could be considered a new use. If the patents are really at the heart of the virtual machine, even changes to seemingly separate parts of the overall program could be seen as a new use. Just imagine if Google had added another command, and to execute any command, everything has to go through some patented code...

I tend to believe the FSF people who have given most thought to their licence; they haven't often been wrong regarding the legal strength of the GPL where it has been tested. Certainly, I think Oracle would have a vastly more difficult case if they were attacking a GPL Dalvik. So, no, I don't think the FSF position is misleading.

I didn't base anything I said on any statistics in terms of how often the FSF had been right. What was quite apparent in its statement was a desire to promote the GPL as particularly patent-safe, or at least to give that impression to many readers of the statement. In my opinion, the GPLv2 has its strengths that are beyond doubt, but protection against patent attacks isn't one of them, and worse than that, since redistribution of modified code is a software freedom, it's pretty bad in my view that the FSF promotes something as a "strong defense" that is the weaker the more someone exercises that freedom (freedom 3 according to the Free Software Definition).

I explained before how I view this, and I'd like to leave it at that.

Unfortunately the FSF thinks the GPL end justifies any misleading means

Posted Sep 12, 2010 14:30 UTC (Sun) by boog (subscriber, #30882) [Link]

We're obviously going to have to agree to disagree.

Regarding your arguments on estoppel etc, those appear to be principles based upon general behaviour and public statements. I would be very surprised if the specific language of the licence that Sun/Oracle willingly entered into had no bearing.

However, a licensor might want to grant a very broad copyright license and reserve a lot of rights concerning his patents.

Indeed they might want to, but the whole point is that their hands are tied by the licence they chose. Interpretation is out of their hands now.

Unfortunately the FSF thinks the GPL end justifies any misleading means

Posted Sep 12, 2010 15:16 UTC (Sun) by FlorianMueller (guest, #32048) [Link]

Regarding your arguments on estoppel etc, those appear to be principles based upon general behaviour and public statements

I just explained what the legal theories for an implicit patent license are under US law.

Those principles are not just about general behavior and public statements.

I would be very surprised if the specific language of the licence that Sun/Oracle willingly entered into had no bearing.

I didn't say it has no bearing, but that a patent holder can argue that the scope of a copyright license is one thing and the scope of a patent license another. The theories I mentioned would indeed take the license into account, but even the broadest possible copyright license doesn't have to result in a broad patent license. RMS himself emphasizes all the time how very different those rights are (which is why he rejects the term intellectual property).

And on the final part, you quoted me talking about the "licensor" (which in this scenario would be Oracle) and then talk about "licence they chose" (which would be Google), so you misunderstood something.

Unfortunately the FSF thinks the GPL end justifies any misleading means

Posted Sep 12, 2010 15:39 UTC (Sun) by boog (subscriber, #30882) [Link]

And on the final part, you quoted me talking about the "licensor" (which in this scenario would be Oracle) and then talk about "licence they chose" (which would be Google), so you misunderstood something.

Please. I meant Sun (not Google) chose to release Java under the GPL. Oracle can't undo that choice now and their hands are tied by whatever is promised by that licence, which they didn't write. It might have committed them to an extensive patent grant. To what extent that is the case may require a lot of legal argument to sort out, but Oracle cannot retrospectively reinterpret the licence according to their present intentions. (Of course, as copyright holders they do have the right to make further releases under whatever licence they choose.)

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds