The more this goes on, the more I'm flabbergasted at the incompetency of the Oracle legal team. I'm sure there are 99 ways to nail Google using Sun/Oracle IP, but the one they picked clearly ain't one.
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.
Right. One thing is certain: Google did whatever it could to find a legal loophole in Sun's licensing to let it basically steal Java (I mean, come-on, legal or not, that's exactly what they did. After all, Dalvik has no technical merit over Sun's JVMs - in fact, it's inferior. Its only value to Google was as a means for legal maneuvering). So Google was certainly not acting in good faith, and I think that when someone is not acting in good faith, there's usually a way to nail them, especially if you can afford good lawyers.
Is this the same way Rubinius stole Ruby, Microsoft stole C++ and KDE stole JavaScript? I think the point here is that a language isn't really something you can own. An implementation, sure — but the language itself? Under what law? You can possibly copyright the text of the specification (but certainly not the facts therein), you can copyright the implementation, you can trademark the name and you can patent specific techniques used in the implementation, but what confers ownership of the language itself? I don't believe there is any precedent for a language being wholly "owned" in the sense that nobody else could independently implement the spec.
It's not the language that they took, but the whole platform. They don't provide a compiler from Java to whatever bytecode Dalvik is using, but from Java bytecode to Dalvik bytecode.
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.
Your only accusation of wrongdoing (either ethical or legal) seems to be that Google "acted in bad faith," but I have no idea what you mean by that. I believe that phrase normally means "used deception and subterfuge," but I don't see how Google did anything duplicitous.
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.
Google did not just implement the language. In fact, they didn't implement the language at all: to the best of my knowledge they haven't even written a Java compiler.
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.
I think and I maybe wrong, what they are after is the API design and for fragmenting the most fundamental thing that Java was based on - Write once run anywhere - as Android can't run what's was compiled for JVM.
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.
That's because its not Java. They are not allowed to call it Java. The only claims left from oracle at this point are that google used 'Java' (the language) without permission and they have used api interfaces aka function names and class names (ArrayList.GetItem() ArrayList.AddItem() stuff). There is no copying of the implementation anywhere. AFAIK if oracle wins this case, they can go ahead and sue Microsoft for providing ArrayList class in C#/.net - they almost have similar interfaces.
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.
I think you may be confusing means and ends here. They are not suing Google because they believe they've infringed on their copyright. They're using copyright as a legal argument to sue Google over the fact that they've used technicalities and tricks to circumvent Java's license.
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.
I'm not seeing where Android has caused fragmentation - which you keep mentioning.
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.
The key points are here:
"So where does this whole thing about the field-of-use restrictions (that prevent an independent implementation from being used on mobile devices) come into play. Why, it's in that separate TCK license referred to in Oracle's third slide above. But notice that in that slide Oracle maintains that "[t]hese restrictions prevent Apache Harmony from implementing Java SE." They do no such thing! Apache never signed the TCK license. That didn't prevent Apache from creating and distributing Harmony; it only meant that they couldn't call it Java or imply that it was Java-compliant, a point which Sun admitted (see Jonathan Schwartz's comment in the second Google slide).
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).
I don't think Oracle has a copyright case, but they may have a patent case (with what few claims are remaining). If you are derived from OpenJDK you have a patent license from Oracle. If you pass the TCK, you also get a patent license. But if you do neither, you've got nothing.
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.
As far as I know the FOU was in place way before 2005 when Apache started on Harmony. Oracle did a 180 on supporting Apache then stabbing them in the back.
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.
Please do some research on the background of the whole sordid affair - Google did not steal 'Java' - they took ASL licensed libraries and used them as an API and they built their own VM.
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).
Guess who did the same thing? Sun and Oracle. Did Sun steal Java too?
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.
Just because I believe something is so (Andriod == Java) doesn't make it so.
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.
The compatibility efforts on the API are exactly what the trial is currently about. Oracle says they violate their IP rights; Google says they don't. We'll see how it goes.
The Oracle legal may be more competent than you think. They started the trial with all sorts of other claims (e.g. most notably lots of accusations of patent infringement). What we're looking at now are the claims that are left after all of the pretrial maneuvering (e.g. patents being re-examined, claims being narrowed, etc.).
24 comments
[ 3.4 ms ] story [ 50.7 ms ] threadIf 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).
see: http://www.apache.org/jcp/sunopenletter.html
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?