It seems so silly that Java was open sourced, yet these legal shenanigans are allowed to occur.
Ironically, this expansion of copyright powers will probably be the death kiss for copyrighted programming languages. Why would a company use, extend, interface with and rely upon copyrighted programming languages when it is liable to pay fees?
The unowned languages such as JavaScript, c, and rust may become more popular.
I thought this was simply about them copying the API, can someone explain what’s going with fees to me?
Oracle hasn’t won the fight yet but unfortunately they are on their way to success. As part of the JCP EC I know of the hard confrontations and my point of view is that both sides are wrong. Oracle is wrong to start a fight over API copyrights and nobody can tell me they’re not aware of the problems a win would bring for the whole industry and Google is wrong because they knew about Java ME and that companies are supposed to pay royalties for mobile development. Even though Google chose to use the Java SE APIs it is more like a twofold way to work around this issue, first of all using “open-sourced” APIs and secondly not using Java ME.
Oracle wants a piece of the Android mobile market, my view again, and I totally understand their point here. Google and Oracle should find a solution which doesn’t make APIs copyrightable and I really hope that the court is not as dumb as I might imagine them. My gut feeling for such lawsuits is that you most often have judges that have no idea of the industry and the implications that arise from their “views”.
Thanks for your comments, very interesting.
Why are companies supposed to pay royalties for mobile development? It seems that is the Apple model, but it’s certainly against consumers’ interests and the anti-trust pro-competition legal framework. Also, Java ME was a flagging under-invested framework that was dying. It was only a matter of time before it was going to be replaced.
If you don’t mind me asking, what’s your involvement in the JCP EC?
Apparently the case has become political, with the US government weighing in and asking the court not to accept Google’s appeal. I’m not a lawyer, but to my knowledge, if an appeal is refused then Google can’t escalate the matter and therefore has to accept the last (unfavourable) judgement.
From that Reuters article:
I know it is kind of stupid but if you want to use Java on a mobile you’re supposed to use Java ME and for Java ME you have to pay royalties. Google worked around that saying that a mobile these days is powerful enough to run a normal Java or better said not to use Java but Dalvik / ART on the mobile and “cross-compile” the Java bytecode to Dalvik bytecode.
I’m one of the representatives for Hazelcast, Inc. therefore I am part of the EC itself. I am the one still calling Android a Java implementation and bugging people with that
Here’s another article http://www.programmableweb.com/news/supreme-court-delivers-major-blow-to-api-economy-copyright-ruling/2015/06/29 - so what happens is the supreme court said they’ll not take on that matter therefore it goes back to the district court (as far as I know the US court system :-)).
Well that’s a relief, hopefully common sense prevails.
Thanks for the link and explanations.
“Common sense” really isn’t applicable here. There is no right answer. Both parties are “right” but the ramifications of either one being ruled “right” are bad. There’s no good solution. This is a problem.
Cas
I can’t understand how oracle can be seen as being’right’.
They are suing Google for copying an open source project. Seems pretty obvious to me that google is right and oracle is wrong.
Edit: Assuming that google kept to the terms of the open source license agreement, which I think they did.
Well, now let’s imagine that you spent 50 years developing a rich and complex library of code, say, in C++, and you make your living after all your hard work by licensing people to use your binaries, and in a gesture of goodwill you release the source to those binaries to allow people to see how it all works and some smartass just goes “yoink” and copies all 208 header files and starts redistributing them without so much as a by-your-leave and then goes on to make billions of dollars from it. Would you be happy about that?
Cas
I think the big issue here is the “GPL with Classpath Exception” which actually applies to OpenJDK. I guess with enough wish you can interpret it in a way that the API is not GPL at all. Anyways I dislike the license choice but this is more like my personal animosity to the GPL
Yes, because the FSF never went after anyone for GPL violations!
If Google had actually forked off OpenJDK under the GPL w/CPE then there wouldn’t be the hint of a case. This is partly because Google wanted to control the ecosystem. It may also be due to the lack of a time machine.
Question: what would concretely happen if any of the two parts won? :persecutioncomplex:
It’s not that simple though.
A lot of people seem to think that Android “stole” some open-source Java code. But that’s not what the debate is.
The debate is whether or not an API (in other words, the JavaDoc) can be copyrighted.
Android took the Java API (the list of its classes and methods, which any developer can access) and reimplemented those classes and methods in “Android Java”.
Oracle claims that the API itself is copyrighted. They aren’t claiming that Android developers stole Java’s implementation of those APIs- in other words, nobody is claiming that Android stole code. They’re claiming that coming up with your own implementation of an API is copyright infringement.
If Oracle wins this, that means that Joe Programmer can no longer implement a class called ArrayList that uses the same method names as the existing ArrayList class, without infringing on Oracle’s copyright. Whether or not Oracle will enforce this is debatable, but larger-scale open-source projects that reimplement part of the API might be pretty worried about this. And that’s the part that trickles down to us measly programmers.
Actually there is no GPL violation. The CPE keeps the APIs (which will be linked into your program) out of the GPL necessity to redistribute your own code as GPL. It is kind of like a LGPL for the Java Standard API. The internal implementation inside the Dalvik-/Android-Runtime is no OpenJDK code but partly taken from the old Apache Harmony project (which obviously is ASL2 licensed) and partly self written by Google. So no violation at all, and the FSF hunts GPL violations down, see router vendors in the past.
Right, Hazelcast for instance, that reimplements the Java Collections and Concurrency APIs in a distributed fashion would probably not be able to do so anymore without going to pay royalties to Oracle. As already said whether Oracle will enforce this or not - well that would only show the future.
Exactly - it’s a massive clusterfuck.
Except for the small problem that it’s a substantially massive API that took millions of dollars to develop, and if they were your millions of dollars, what would you do? Especially if whoever had copied them (they didn’t just appear out of nowhere, remember!) has gone on to make billions on top of it?
Cas
Yes, I know! My point kind of skipped by you there I was pointing out that @CommanderKeith’s suggestion that this case is about Google copying an open-source project is incorrect. Had they used OpenJDK (and GPL w/CPE), which would also have required said time machine, there wouldn’t be a case because of the API permission you mention.
I mentioned FSF because they’re quite supportive of Google’s position, but had Google instead forked OpenJDK and placed it under ASL2, then FSF would have been clearly backing Oracle. I tend to agree with @princec that there isn’t really a “right” in all this.
Yeah I think there is no right but both are wrong in their own positions, as I said before

Yeah I think there is no right but both are wrong in their own positions, as I said before
True, so you did this OTOH I disagree with you on …

I know it is kind of stupid but if you want to use Java on a mobile you’re supposed to use Java ME and for Java ME you have to pay royalties. Google worked around that saying that a mobile these days is powerful enough to run a normal Java or better said not to use Java but Dalvik / ART on the mobile and “cross-compile” the Java bytecode to Dalvik bytecode.
Had Android development started later and had Google been happy with GPL w/CPE, they could have used OpenJDK as the basis for Android. The GPL doesn’t allow field of use restrictions, so Oracle couldn’t do anything about that.
I’m surprised sometimes Google hasn’t re-based Android’s Java API on top of a fork of OpenJDK. I don’t see that the license change would affect their business model that much, and they’re already using GPL (without CPE) code in the OS.

- snip -
While understandable that Oracle would want a cut of the pie, it’s terrifying what could happen to code if APIs are allowed to be copyrightable. How would languages evolve if you couldn’t safely implement a new version of code that lies in that copyright? Would major games (first game that comes to mind is Minecraft) that most likely re-implements some part of the Java API be sued or have to pay royalties? While it isn’t fair to Oracle that they don’t get a cut, I feel it’s for the best if APIs can’t be copyrighted. They developed a language and allow other developers to leverage it to build amazing things, how is it then fair to turn around and say “ok, you now owe us thousands of dollars for implementing a new ArrayList solution on top of our API?”. Doesn’t LibGDX have their own List implementation?