LWN.net Logo

Apache resigns from the Java Community Process executive committee

Apache resigns from the Java Community Process executive committee

Posted Dec 10, 2010 13:22 UTC (Fri) by mikov (subscriber, #33179)
In reply to: Apache resigns from the Java Community Process executive committee by rahulsundaram
Parent article: Apache resigns from the Java Community Process executive committee

Sigh. The TCK is one of the main reasons why Apache its resigning, and clearly that *is* what I am complaining about. That is the whole point. Despite of being licensed under GPL by its owner, Java cannot be considered free, because that same owner will prosecute you if you tried to implement it independently.

About the ability to revoke GPL retroactively. Unfortunately your optimistic unsupported assertion that such fear has no merit is not enough on its own. Just because we want something doesn't make it true. I have linked to pretty solid legal arguments that would have to be refuted by reasonable counter-arguments.

I have even seen Eben Moglen implicitly confirming this, though I think that link is dead now unfortunately.


(Log in to post comments)

Apache resigns from the Java Community Process executive committee

Posted Dec 10, 2010 14:42 UTC (Fri) by rahulsundaram (subscriber, #21946) [Link]

Your argument seems confused to me. TCK doesn't decide whether a implementation is free or not. Apache is free to continue developing harmony and it will remain under a free software license. Apache's issue must be that they cannot call their implementation Java and whether one can call something by some particular name has nothing whatsoever to do with whether or not a GPL'ed implementation exists. I don't see the connection. A GPL'ed implementation can only guarantee certain rights in terms of copyright licensing and to some extend patent rights assuming you use the same exact implementation. You can still be sued for a independent reimplementation. You can still be sued for trademark violation and so on.

As to the question of whether GPL can be revoked, it is sufficiently answered by looking at how many vendors are exercises GPL rights and have huge legal departments. If they have convinced themselves that it is not a risk worth worrying about, I don't see why I should be concerned about supposedly implicit admission on a link you cannot find. It seems too flimsy. I will let an actual court case decide on it. Until, the burden of proof exists on the side making that claim.

Apache resigns from the Java Community Process executive committee

Posted Dec 10, 2010 15:31 UTC (Fri) by DOT (subscriber, #58786) [Link]

You're right that a trademarks can do limited damage to a free software project. If project management gets really bad, the project can be forked with a new name.

But Oracle also claims to hold patents for Java, which OpenJDK gets away with because of a special TCK license that only applies to OpenJDK. Harmony isn't so lucky, so if Oracle is evil, they can sue the pants off distributors like Google. So that's why Apache would really want to get a license for the TCK and the patent license that comes with it.

Since that's impossible unless you're substantially the same as Oracle's version of OpenJDK, Java is not free, and OpenJDK is not free either. Software that can't be forked is not free. A language that can't be legally implemented is not free.

Apache resigns from the Java Community Process executive committee

Posted Dec 10, 2010 16:02 UTC (Fri) by paulj (subscriber, #341) [Link]

OpenJDK gets an Oracle patent licence because of its GPL licensing - nothing to do with TCK.

Other implementations, i.e. those independent of OpenJDK, *may* get a patent licence from Oracle if they show they conform, which requires the TCK.

Apache resigns from the Java Community Process executive committee

Posted Dec 13, 2010 4:38 UTC (Mon) by aliguori (subscriber, #30636) [Link]

It's a bit more subtle than that. Just about any software that you distribute would carry an implicit patent license (at least in the US) for patents you owned. The GPL goes a step further and says that the patent license must be non-discriminatory to future downstreams which basically is anything that can claim to be a derivative product.

So in theory, even if I just copied a few lines of code from OpenJDK and implemented everything else from scratch, I still get full patent licenses. The catch is, if I copy anything from a GPL software, my license must be GPL-compatible and the end-result is something that is effectively GPL'd.

By the virtue of being Apache Licensed, there is no way Harmony can claim to be a derivative product of OpenJDK which means it doesn't get to share the patent license. If they integrated two lines of OpenJDK code and relicensed to GPL, they'd be covered.

Apache resigns from the Java Community Process executive committee

Posted Dec 10, 2010 16:28 UTC (Fri) by paulj (subscriber, #341) [Link]

Your argument that free software must be independently re-implementable, under other, less restrictive licences, doesn't seem like something that'd be universally agreed on. That would imply that when patent grants were added to GPLv3 which extend ONLY to downstream recipients of the software (i.e. NOT to the implementation generally) that they created a non-free licence, or at least less-than-free.

I'd agree that the Java language specification is less than free. It's clearly patent encumbered. However, I find it hard to agree with how you then try to paint OpenJDK as being non-free.

Apache resigns from the Java Community Process executive committee

Posted Dec 10, 2010 17:24 UTC (Fri) by DOT (subscriber, #58786) [Link]

It sure isn't universally agreed on. Many people don't want free software licenses to say anything about patents. And before today, I also thought of the GPL as an utterly free software license, but this "downstream recipients only" concept does not sound free to me at all. If restricted at all, the patent license should be restricted to all GPL licensed software, not just the one project, which would bring it in line with the strong copyleft mechanism that the rest of the GPL employs.

Apache resigns from the Java Community Process executive committee

Posted Dec 13, 2010 3:22 UTC (Mon) by jamesh (guest, #1159) [Link]

I agree that a plain patent license would be better than having the patent licensing bundled with a particular implementation, but if you're producing another implementation with the same license, why not just copy and adapt the code for the covered technique?

If you're developing an implementation with a less restrictive license, it is quite possible that the patent holder has no intention of freely licensing the patent under those terms.

Apache resigns from the Java Community Process executive committee

Posted Dec 13, 2010 15:53 UTC (Mon) by pboddie (subscriber, #50784) [Link]

And before today, I also thought of the GPL as an utterly free software license, but this "downstream recipients only" concept does not sound free to me at all.

But how else would a licence based on the principles of copyright actually function?

Apache resigns from the Java Community Process executive committee

Posted Dec 10, 2010 18:48 UTC (Fri) by rahulsundaram (subscriber, #21946) [Link]

If you believe, patent encumbered software is non-free then you would call ffmpeg non-free as well even though it under a GPL license but that is a incomplete and rather misleading perspective since organizations like FSF would point out that patents are not universal and when we have talk about free software licenses, we are usually referring to the copyright licensing and not patent status since in many cases, this is unknown. I think it makes sense to clearly separate encumbrances in copyright, patents and trademarks and not lump them together since they all have very different implications.

To summarize, OpenJDK is free software. Harmony is also free software. The former has a patent grant (being TCK compliant) as well as a patent license due to the GPL license. Harmony has neither. That doesn't make it non-free and a GPL'ed implementation can't protect you. It won't get the patent grant since Apache disagrees with the TCK terms and won't be able to carry the Java trademark however.

Apache resigns from the Java Community Process executive committee

Posted Dec 10, 2010 20:58 UTC (Fri) by bojan (subscriber, #14302) [Link]

> TCK doesn't decide whether a implementation is free or not.

TCK decides whether it's Java. If you don't pass TCK, you don't have Java.

Apache resigns from the Java Community Process executive committee

Posted Dec 11, 2010 2:18 UTC (Sat) by rahulsundaram (subscriber, #21946) [Link]

Sure and the GPL'ed isn't called Java. It is called OpenJDK. So I am puzzled why mikov seems surprised that Oracle is enforcing their trademarks and patents. GPL cannot possibly protect from Oracle suing over independent reimplementations.

Apache resigns from the Java Community Process executive committee

Posted Dec 13, 2010 2:43 UTC (Mon) by jmalcolm (guest, #8876) [Link]

This is not about trademarks, it is about patents. Any non-TCK validated implementation (including versions of OpenJDK that extend or omit elements of the spec) do not receive a patent license from Oracle. This is their position.

So, even OpenJDK is not "free software" in any way that I have come to understand it. I am not free to modify it.

Apache resigns from the Java Community Process executive committee

Posted Dec 13, 2010 6:22 UTC (Mon) by rahulsundaram (subscriber, #21946) [Link]

I don't know if that's their position but I doubt it is since GPL license itself has a implicit patent license that is available regardless of whether it is TCK compliant or not. So if you use OpenJDK or a derived codebase then you get that. It is possible for you to modify software outside the boundaries of standard Java and get sued for unrelated patents but that can happen to any piece of software. Claiming that this makes it non-free is not logical since any software carries that risk.

Apache resigns from the Java Community Process executive committee

Posted Dec 13, 2010 8:57 UTC (Mon) by jmalcolm (guest, #8876) [Link]

I believe that you can "modify software outside the boundaries of standard Java" as you say and be sued for "related" patents.

The GPL gets it's power from copyright. This means the extent of the power of the GPL is to remove the right to distribute. That is it.

Who has the power to enforce the GPL in the case of OpenJDK? Only Oracle.

http://www.gnu.org/licenses/gpl-faq.html#WhoHasThePower

What does the GPL mean for Oracle if they sue a user of a GPL implementation of Java (even OpenJDK) for patent violation? Nothing.

Is Oracle going to restrict Oracle from distributing OpenJDK? No. So, what power does the GPL have over Oracle? None.

Now, OpenJDK "as released" has an explicit patent grant. However, modified versions of OpenJDK do not. In fact, if they "superset" the Java spec they explicitly do not have a grant.

Here is what an editorial on this very site had to say:

"Sun released much of the Java code under the GPL - eventually - but it never made Java truly free. The company went out of its way to retain control over the language and of any implementations of it; control over the specifications, copyright licensing policies forcing control over the code, and software patents held in reserve do not add up to a platform one can trust. Sun seemingly feared forks above all else, and so went out of its way to eliminate the freedom to fork whenever possible."

I agree with this excerpt. We do not have the freedom to fork OpenJDK.

I read a lot about the "implicit" patent grant in GPL2. I am not sure where this comes from but I imagine it is rooted in something like estoppel since it seems "reasonable" to assume you have the right to use software that was released under the GPL by the patent holder. I sometimes read that "Section 7" of the GPL gives the "implicit" patent license but my reading of that section just says that if Oracle sues you, you also lose the right to distribute Java.

You can read the text yourself here:

http://www.gnu.org/licenses/old-licenses/gpl-2.0.html

As above, Oracle can still happily distribute under the GPL after they sue someone. They are not getting their rights from the GPL. It has no power over them.

All that said, I do not see how this "implicit" grant would overrule the "explicit" non-grant from Oracle anyway. You would not know until you went into court though so I admit anything is possible.

Apache resigns from the Java Community Process executive committee

Posted Dec 13, 2010 9:53 UTC (Mon) by rahulsundaram (subscriber, #21946) [Link]

On the question of who has the power, Oracle is not the only copyright holder. Red Hat has been a significant contributor to OpenJDK and IBM has signed a deal with Oracle to be a contributor as well. If I get a piece of code from any author under the GPL license, all the terms stand and while the copyright holder can license the code under other licenses if they want to (assuming they retain copyright to all of the codebase atleast in a shared manner), they cannot take away the rights granted to me under the GPL retroactively and this included any patents rights as applicable to the codebase. Whether derivatives can infringe on additional patents is a entirely different question but whatever patents are applicable to standard Java specs, I have a license to use them regardless of the TCK and if I use OpenJDK without modifications, the TCK patent grant is applicable as well. If you don't share this perspective, we have a disagreement on what the implications of the license is and we will have the let the court sort it out when it happens. I am going to continue to consider OpenJDK as fully free software under the GPL license.

Apache resigns from the Java Community Process executive committee

Posted Dec 11, 2010 4:26 UTC (Sat) by mikov (subscriber, #33179) [Link]

Releasing under a free license doesn't necessarily make software "free". Say, you disassemble MS Word and publish the resulting source under GPL. I don't think many people would argue that the result is "free" by any definition.

Similarly, Java cannot be considered "free" by me and many others if an independent implementation is under real patent threat from Oracle. In the USA I cannot safely use and distribute Harmony or Dalvik. So how can they be considered free? Free for what?

About retroactive GPL revocation. Not all projects are vulnerable. Projects with multiple contributors like Linux, or projects with copyright assignment to FSF, are safe. So it cannot be said that the GPL is especially vulnerable or bad. But there is risk and it would be naive to ignore it.

Of course it is up to you (or your business, your lawyer, etc) to make up your own mind whether GPL revocation is a risk. However deciding it is safe just because other people appear to think it is safe, without knowing their detailed reasoning, is probably not the best strategy.

Apache resigns from the Java Community Process executive committee

Posted Dec 11, 2010 7:16 UTC (Sat) by rahulsundaram (subscriber, #21946) [Link]

Again, we aren't comparing the same things. I don't think disassembling and patent infringement is comparable at all. If Oracle wins a patent lawsuit against Google directly on Harmony code and there isn't any workaround, then it becomes a problem. Until then, it is just a patent lawsuit and we have many of them floating around. At the present situation, Harmony is free software by any reasonable logic.

Yes, the details of GPL licensing can affect different parties in different ways but if so many different vendors and consumers haven't raised such a problem, I don't see why I need to worry about it. It is just hot air. If we are going to listen to random lawyers, there was one claiming that BSD is incompatible with GPL license and many many more weird postulations. If you can find some prominent vendor's legal department or folks like Eben Moglen say it, then I will start paying more attention.

Apache resigns from the Java Community Process executive committee

Posted Dec 13, 2010 16:07 UTC (Mon) by pboddie (subscriber, #50784) [Link]

Releasing under a free license doesn't necessarily make software "free". Say, you disassemble MS Word and publish the resulting source under GPL. I don't think many people would argue that the result is "free" by any definition.

Suddenly we have two people trying to prove a point by referring to situations involving the "re-release" of proprietary software. If you don't have permission to redistribute a work, you certainly aren't allowed to put a licence of your choice on it and redistribute it at all, whether you want to apply the GPL or something else to it. So that really has nothing to do with software legitimately distributed under the GPL.

Apache resigns from the Java Community Process executive committee

Posted Dec 13, 2010 2:39 UTC (Mon) by jmalcolm (guest, #8876) [Link]

If an implementation does not pass the TCK then it explicitly does not have a patent grant from Oracle. They are very clear about this.

To my mind, this means that any implementation that has not passed the TCK is not "free" in the libre sense. This includes any modified version of the GPL version released by Oracle. It is really not available at zero cost either as you would have to license the patents for money.

Just because Oracle has not gotten around to suing you does not make it free.

What definition are you using? Can I download a pirated version of Windows and call that "free"? I mean, just because I explicitly do not have the legal right to use it means nothing as long as I can get a hold of it right? That seems to be what you are saying.

What is the difference between a GPL version that I cannot legalll modify and a commercially licensed version?

Apache resigns from the Java Community Process executive committee

Posted Dec 13, 2010 3:57 UTC (Mon) by jamesh (guest, #1159) [Link]

If you modify OpenJDK such that it no longer conforms to the TCK and release the result under the GPLv2, what exactly is Oracle going to sue you for?

The GPL alone has given you permission to redistribute, modify, and distribute modified versions of the software.

Apache resigns from the Java Community Process executive committee

Posted Dec 13, 2010 9:22 UTC (Mon) by jmalcolm (guest, #8876) [Link]

IANAL, but they "could" sue you for violating their patents.

Some people believe that the GPL version 2 gives an "implicit" patent grant. Section 7 of the GPL does seem to imply that, if I modify GPL software and redistribute it, I must be implicitly granting patent rights to my changes. Otherwise I would not have the right to redistribute the original GPL code (which I did).

However, if I am the original author of the software that I release under the GPL version 2, then Section 7 (or indeed any other part of the GPL) does not obligate me to do anything.

It is likely that you would be able to argue in court that it was "reasonable" to assume that you could use the GPL software without violating the authors patents if the original author did not mention patents when they released the code. Again, an "implicit" patent grant.

In the case of Java however, Oracle has "explicitly" stated that you "do not" have patent protection unless you exactly implement the Java spec.

Apache resigns from the Java Community Process executive committee

Posted Dec 14, 2010 1:10 UTC (Tue) by jamesh (guest, #1159) [Link]

I don't quite follow your argument. I don't dispute that Oracle is not bound by the GPL: as copyright holders they are free to distribute copies of the software under whatever license they want.

But the copy I received from Oracle was licensed under the GPL, and that says I can modify, redistribute and distribute modified versions. If the code they gave me exercises their patents, then a court is going to rule that Oracle licensed my use of those patents to the extent necessary to exercise my rights under the GPL. That is the implicit patent grant people are talking about.

Note also that if Oracle were to assert that they hadn't given you the patent rights necessary to modify, redistribute and distribute modified versions of OpenJDK, then no one would be able to redistribute the copies of OpenJDK that they received from Oracle (e.g. your favourite Linux distro). Because if they can't pass on those rights, they have no right to distribute the code.

So can you point out where Oracle has explicitly stated that OpenJDK users do not have the patent rights required to exercise their rights under the GPL?

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