Oracle v. Google - What's The Deal With The Java Specification License?
groklaw.net
groklaw.net
If things keep going like this, it might actually be the first time in quite a few years that Ellison ends up losing a court case.
Now I'm not saying they're doing anything illegal or in breach of any contract - I really don't know - and I don't know whether or not you could own a language in the legal sense - I have no idea about that either - but all of Google's actions seem to be in bad faith.
Whether or not it has any legal merit, the Java licensing was specifically meant to ensure compliant implementations. In addition, Sun didn't want other mobile implementations and tried to prevent that. Then Google went ahead, forked Java into a non-compliant implementation (and that would have been fine, too), but built their entire tool system in such a way as to allow many compiled Java libraries to run unmodified on an inferior JVM - sorry, a 'non-Java' VM - that they'd bought with the sole intention of circumventing Sun's licensing.
I don't know if Sun had a right to license Java as they did, and I don't know if Google did anything legally wrong. But what is clear that they've tried to stay as close as possible to Java (the whole platform - not just the language) without breaching the letter of the law in Sun's license. In fact, most of their technical effort was directed at precisely that - circumventing Java's licensing.
Now, I don't know why people are rushing for Google's defense as if they've been acting altruistically or something. Everything the did, or do, they do for profit.
There are no good guys in this story. There are simply two huge conglomerates in a business war. Oracle is trying to take advantage of Android's success where they've failed in the mobile arena, and Google is trying to take advantage of Java's popularity. Both companies are simply trying to exploit each other for their own benefit.
Whatever the legal outcome, I think both developers and consumers would benefit greatly if Android were to become a compliant Java implementation, and could take advantage of Oracle's superior VM.
You seem to think I'm "rushing to Google's defense as if they've been acting altruistically". This is incorrect. I don't know what your motivation is here, but I don't really have strong feelings about Google one way or the other. I'm just calling 'em as I see 'em.
All Google did is create its own implementation of a programming language. Never before in history has this been considered an evil thing. It happens all the time. I wouldn't call Rich Hickey or Guy Steele evil for "stealing" Lisp from John McCarthy, so out of consistency, I can't call Google evil for doing the same thing with Java. I also don't see how Google was deceitful in this, as you claim. They seem to have been quite up-front about what they were doing.
In fact, I'll go further: If any party acted in bad faith, it would have to be Oracle, which supported Google and Apache's alternative Java implementations up until it sued Google and gave Apache the middle finger.
All they did was write a translation tool that takes Java binaries and makes them run on a different VM, not covered by the Java license. Unlike others who implement languages to provide technical benefits, Google had no such intention. Their only consideration when choosing to re-implement a piece of Java or not was whether it would allow them to evade Java's legal restrictions.
My stake in this is that as a Java/other-JVM-languages developer, I don't like the fact that we now have two incompatible Javas. Now, Google explain their actions by saying that Sun were dragging their feet during negotiations, and maybe they're right. Maybe, thanks to Google we have an almost-Java thingy on a successful mobile platform.
I think the parties should settle, and I hope the result (whether money changes hands or not) would be bringing Android in the Java fold, and making it compatible.
Is it not the case? or are they just claiming Google used Java language?
As for me, I just am frustrated that Oracle might have a good case.
The more I think about this case, that more I hate Oracle. They are hurting Java's long term future for a few million bucks. Android provided lots of momentum for Java platform and if they end up switching to some other language (Go/python) everyone loses. Of course once oracle wins, there will be every one suing every one else having similarity in api interfaces.
So no one is going to sue anyone over similarities in APIs because everyone understands that is not the point. Your argument about Java's benefit may be right, but they might be wrong: Android has fragmented Java, and not just the language but the API and the bytecode as well.
Whoever is right in this case, let's get one thing straight: Google is not some innocent player here. They wanted Java's developers for their platform, they didn't want to pay Sun for the license, so they used a trick to bypass that license. That trick may be successful legally, but don't paint Oracle (well, at least not in this case) as some troll trying to go after innocent innovators who only have the community's interest in mind.
Java is by definition fragmented. Java on phones has been fragmented for ages (pre-Android). Look at all the competing OS/APIs available for jme phones (BREW, Symbian, BlackBerry etc).
Java on phones has always been fragmented at the API level - wilfully ignoring this fact is basically saying that Java EE and Java SE and JavaCard are exactly the same and programs written for a giant cluster of enterprise machines that need to screen scrape terminals and connect to esoteric datasources, should run without modification on a Java capable phone circa 2007 - this is simply not the case and has never been the case. Face it Oracle are saying WORA is good and Android is killing WORA via 'fragmentation' - the reality is that WORA is basically a myth and marketing hype.
Oracle are a troll in so much as they fully supported an ASL licensed version of Java (APIs and vm) when they didn't own Java and then decided that having a truly open source implementation was a bad idea after they owned the IP.
Google cleanroom'd (and used libraries which had an appropriate license) - this was expensive and not necessarily the best thing to do - who knows apart from Andy Rubin I guess, but I cannot see how this was illegal, or even morally wrong as you are suggesting.
Google could reasonably point to the fact that Apache had been working for 6 years on a fully open source version of Java without any legal problems - why should they suddenly find themselves in trouble for using that software and adding their own vm?
Personally I think you're mistaken about the history of this case, who is acting in good faith and who isn't and the realities of developing Java programs for phones and in general. I'm honestly exasperated by people who seem to ignore the evidence that is in the open about what transpired when and then go on about how 'evil' Google has been over this whole thing. Google acted in their best interests as a company and what they did hasn't negatively impacted any Java developers that I know about. The only people that claim that Google has stolen Java or have destroyed Java or any other hyperbolic negative affect they claim seem to have a personal axe to grind and/or work for Oracle.
Many of Oracle's claims and presentation in this case will be based on misdirection and creating a false understanding of Oracle's rights and Oracle's right to restrict the activities of others. The Oracle position is in direct conflict with the previous statements and actions of Sun upon which Google relied. If Google can keep the jury straight on these points, Oracle will be shown to have significantly overreached in bringing the copyright claims in this suit."
Apache started the Harmony project in 'co-operation' with Sun on the understanding that they would be given access to the TCK tests when they needed them. This was based on Sun telling Apache that they would 'waive' the FOU restrictions for Apache so that Harmony could claim to be Java (ie. it passes the tests).
IBM and others contributed significant amounts of code to Harmony - why, because having a truly independent version of Java has real value to them as they base a lot of their business on Java infrastructure.
Google got involved and licensed the Harmony libraries (which is fine, ASL allows that).
Oracle buys Sun and then does 180 degree turn on its stance for supporting Harmony (Oracle where one of the bug supporters of Harmony when Sun owned Java).
People just reading a tiny bit of the press on this and thinking they understand the nuances are almost certainly wrong. There is a lot of history around the licensing of the TCK and Oracle is trying to deceive people about the TCK license vs the license to use Java.
Oracle's behaviour ensured that Apache dropped out of the JCP (along with many other high profile open source people).
BTW, I don't think Oracle did a 180 on anything. All Harmony's FOU problems happened years before Oracle bought Sun. I suspect there were influential people in JavaSoft who never believed in independent third-party implementations and just led Harmony along because they thought it would never amount to anything. When Harmony started looking like a threat to J2ME revenue, they invented the FOU to stop it.
When Sun owned Java, Oracle are documented as supporting Apache's requests to get the FOU restrictions lifted and helped Apache slow the development of Java at the JCP level. When Oracle bought out Sun, they immediately stopped supporting Apache for both FOU and rammed through Java 7 without really getting many of JCP on board. IBM basically folded (after spending so much effort on Harmony - I suspect that IBM are kicking themselves for not buying Sun when they had the chance, I and many other people involved in Java at the time thought it was certain IBM were going to buy Sun out) and most of the other JCP members abstained or quit. Even members who voted for Java 7 added comments to the effect that they were not happy.
This is all in the public record : https://blogs.apache.org/foundation/entry/the_asf_resigns_fr...
And an excellent summary of how the FOU came to be (with pictures): http://blog.joda.org/2009/03/sun-apache-ip-in-pictures_9067....
If not, how is Google creating and distributing an implementation of some Java APIs (the question at stake in this trial) stealing Java?
Guess who did the same thing? Sun and Oracle. Did Sun steal Java too? Look inside the current java source code and you'll find code originally written by open source developers under the ASL (xml libraries [crimson etc] spring to mind immediately, but I'm sure there is other stuff in there too))
As far as I know at no point did they claim that Android was Java (which is what the Microsoft case was about).
A general point: Sun (Oracle is another matter, but we can safely assume they won't prosecute themselves) could "steal" Java as much as they wanted, because you cannot infringe your own copyright. Copyright doesn't forbid actions per se (i.e. "any copying") but it does forbid specific individuals from performing those actions (i.e. unauthorized third-parties). So, assuming the JVM was subject to copyright or patents (which is more or less what they're debating in court at the moment), Sun employees could have reimplemented it a million times, either privately or publicly, but this would not have granted anyone else the right to do the same.
Besides, your statement that "at no point did [Google] claim that Android was Java" is debatable -- most developers approach Android with the belief that "it's basically Java with some peculiarities", and this was a large factor in its successful efforts to recruit independent developers. Whether this "implying" was lawful or not, it's for the tribunal to decide.
Google do not claim (as far as I've seen anywhere) that Android is Java. They must name the APIs java.x to ensure source compatibility, but they chuck the class file format and the dalvik vm is certainly not a jvm.
Did Sun steal Windows?