A lawsuit seeking damages from Google over its willful appropriation of Java as the basis of its Android operating system has been slowly grinding through the courts for most of the last decade. It has finally concluded that Google's taking of Java "was not fair" use, opening up Google to billions in damages.
On Tuesday, the US Court of Appeals for the Federal Circuit ruled in agreement with Oracle, determining that Google's use of Java code in Android was not fair. It delegated the job of determining the amount of damages that Google owes Oracle to a lower federal court in San Francisco.
In 2016, Oracle sought almost $9 billion in damages related to its estimation of $21 billion in profits that Google has earned over the lifetime of the Android platform. Google could have licensed Java from Sun (or Oracle, which acquired Sun), but it chose not to, as was revealed in earlier court documents.
While often portrayed as an underdog fair use case against a big bad proprietary IP firm, in reality the code Google took from Java had been made available under the GPL. Google replaced that open license and redistributed it under the incompatible, permissive Apache Open Source License. Google violated Java copyright and violated the terms of the open source GPL
Google violated Java copyright and violated the terms of the open source GPL to give it all the value of Java's code with none of the responsibly to respect the GPL or alternatively to license Java code commercially.
Because that enabled Android rapidly grow into an unlicensed platform that Google could then profit from, its actions may constitute the largest fraud to have ever occurred in the industry.
Google's original concept for its Android phone project
Two years before iPhone appeared, Google acquired an existing "Android" project in 2005, which was essentially an offshoot of Danger, the Java platform powering TMobile's SideKick slider phone. Both Danger and Android were founded by former Apple employee Andy Rubin (who more recently left Google to launch Essential, another Android-based phone project).
In 2005, it was common to license Sun's mobile edition of Java to launch new smartphones. Google originally sought to develop Android as a Java Mobile button-phone platform similar to BlackBerry or Windows Mobile, but was blindsided by Apple's release of iPhone in 2007.
The search giant then shifted gears to develop a more powerful device patterned directly on the far more ambitious and sophisticated features and functionality Apple had delivered. A key part of that strategy involved appropriating the value of Java Mobile, then owned by Sun, to create a replacement that used the same language and API construction to leverage developers' existing familiarity with Java Mobile, then the dominant mobile platform.
After Apple's iPhone rapidly conquered the existing smartphone businesses of BlackBerry, Nokia, Palm and Windows Mobile in its first three years, a variety of hardware makers and carriers jumped to support Android as the last remaining alternative.
Oracle's 8 year battle with Google
Google's free distribution of a modified version of Java Mobile rapidly replaced Sun's own software as the platform for low-end mobile devices. After Oracle acquired Sun in 2010, it filed a lawsuit against Google involving copyright infringement of Java by Android.
Oracle sought both damages against Google and a legal injunction on its distribution, describing Google's Android as an "incompatible clone of Java." "we need to negotiate a license for Java under the terms we need"
During the trial, it was revealed that Rubin had written a memo stating, "If Sun doesn't want to work with us, we have two options: 1) Abandon our work and adopt MSFT CLR VM and C# language - or - 2) Do Java anyway and defend our decision, perhaps making enemies along the way."
Another internal Google document similarly stated, "What we've actually been asked to do (by [Google founders] Larry [Page] and Sergey [Brin]) is to investigate what technical alternatives exist to Java for Android and Chrome. We've been over a bunch of these, and think they all suck. We conclude that we need to negotiate a license for Java under the terms we need."
Google claimed "fair use" for compatibility, without being compatible
Rather than licensing Java, Google decided to follow Rubin's advice: just take the code, see what happens, and try to defend itself. Part of that "defense" was a fight to suppress the evidence that Android willfully infringed upon Oracle's Java.
Another element of Google's defense, it turned out, was to claim that the code it took from Java was "fair use" because it was related to achieving compatibility with the Java platform. However, rather than seeking to be compatible with an existing standard, Google only desired to be compatible with the value of the code it appropriated.
In 2014, the U.S. Court of Appeals for the Federal Circuit in Washington issued a ruling that reversed an earlier decision that had prohibited Oracle from claiming copyright for portions of its Java platform used by Google in Android.
That ruling noted that "given the record evidence that Google designed Android so that it would not be compatible with the Java platform, or the JVM specifically, we find Google's interoperability argument confusing."
It added, "the compatibility Google sought to foster was not with Oracle's Java platform or with the JVM central to that platform. Instead, Google wanted to capitalize on the fact that software developers were already trained and experienced in using the Java API packages at issue."
Nearly four years later, the second half of that case has been answered: what Google did was clearly not "fair use," even though vocal proponents of cheap hardware supported that specious argument because stealing Oracle's code and giving it away would indeed reduce the costs of licensing that technology.
189 Comments
I disagree with the Federal Court.
API is just the interface (e.g. add(operand1, operand2) - i.e. no implementation to that - and implementation is basically 99%+ of the code).
Being able to use an API for compatibility purposes is no different than for example Open Office being able to implement the file format for Word. The need for competition outweighs the argument as an API protected IP. Google's implementation uses the API (common) and then the implementation code which is probably more than 99% of the code base. As long as Google did not copy the code itself the API itself should be fair use. Languages and APIs should not be able to be protected as API.
The court has already previously ruled that you cannot protect interfaces for hardware for the purposes of locking out the competition on things like printer cartridges etc. An API is not much different than the software equivalent.
Hmmm.
*Checks watch*
He's late.
The argument Google was making in this latest appeal was pretty thin, since they were relying in part on arguing "interoperability" being a rationale. In actual practice there was limited interoperability. I expected they'd lose this particular court case, but do not expect monetary damages from a follow-up retrial anywhere near the $9B that Ellison would like. He couldn't have expected that level of profit when he bought Sun years after Google introduced Android anyway which is why Sun sold so cheap.
So in reality Ellison suffered no loss due to Google not licensing Java from the previous owner. It's really not all that different from a patent troll buying up a couple of unused patents for a hundred bucks and then using a claim from one of them to sue Apple for stealing from them for use in Siri or something and demanding $Millions for the harm.
As for "stolen Java" the way that Google used it was more like copying chapter names and then writing the original book that filled the rest of the 1000 pages as I've understood it. If accurate it hardly seems like a stolen product, more like a handful of bolts scooped up.
What Oracle has done with Java since they bought it (well after Android was on the market) has sent it far downhill in my view. First they started bundling trashy and near impossible to rid ASK malware in with their automatic Java updates to slip it past consumers, then trying to force McAfee subscription virus software on those same consumers by using the same sneaky method, and then Yahoo snatching your browser and who knows what other software packages that many folks didn't even know was being installed too. That they escaped being sued for it is only because of technicalities IMO. It's still despicable conduct.
https://www.infoworld.com/article/2613298/java/java-scam--how-oracle-and-ask-profit-from-sneaky-add-ons.html
https://www.techlicious.com/blog/java-yahoo-browser-search-settings-hijacking/
Even the Oracle Java software as a whole has become more problematic security-wise and far less trustworthy, to the point that a great number of folks won't get anywhere near it given the choice, and professional advice is to rid your computer's of it.
So I don't weep for an Ellison-led Oracle who wants to claim they've lost profit on Java because of Google. They're not seeing the profits they could due to their own uncaring attitude towards it, and destroying it's reputation further with their sneak malware installs seemingly driven by a personal vendetta pursued by Larry Ellison and his Ask search bar and Yahoo browser replacement hoping to cause harm to Google but hurting computer users to do so. He evidently does not care about any collateral damage as long as he gets what he wants.
He paid little for Sun because it wasn't worth much. He was hoping he could discover hidden gold there and with his $B's it was a only a blip on the financials. Ellison didn't want Sun's Java because he thought he could make it better IMO. He was buying a lotto ticket that could be tossed away without much loss if it didn't pan out.