Ellison wrestles Google to strangle 'unofficial' Java
Java. Software. Complete. Ownership
Comment So, the open sore of Java test-kit licensing that Oracle inherited from Sun Microsystems has come to this: Oracle is suing Google.
Oracle has claimed in a legal filing lodged with a US court Thursday that Google's increasingly popular Android operating system infringes on seven patents it owns regarding Java.
This is no simple dispute over violations of patents, though. Also, it's slightly different from the case Java's previous owner Sun brought against Microsoft in the mid-1990s.
Sun prosecuted Microsoft for breaking compatibility with the official Java implementation because it juiced Java for Windows by inserting proprietary extensions into Java — a very Microsoft thing to do. Sun claimed this violated the terms of Microsoft's Java licensing agreement.
This time, Oracle wants to end once and for all the dispute over where different versions of Java are allowed to run. In so doing, Oracle wants to assert its dominant position as new top dog in the Java ecosystem, with everybody using Java in the right runtime scenarios and paying Oracle their dues.
At the center of the case is Dalvik — the virtual machine built on a subset of the Apache Software Foundation's Project Harmony implementation of Java Standard Edition (Java SE).
Dalvik recompiles Harmony class libraries for mobile devices to take account for the machines' limited resources — they'd be unable to run the full Java SE libraries, built for the fat desktop clients.
According to Oracle's filing:
Android (including without limitation the Dalvik VM and the Android software development kit) and devices that operate Android infringe one or more claims of each of [the] United States Patents...
For an added twist, Oracle has hinted that Google stole the former Sun's IP by copying its ideas and willfully and deliberately violated its ideas. The idea is to increase the potential damages Oracle can seek, and create added pressure for a speedy settlement. Oracle says:
Google has been aware of Sun's patent portfolio, including the patents at issue, since the middle of this decade, when Google hired certain former Sun Java engineers.
According to precedent and tradition, Google should have used Java Micro Edition (Java ME) for Android — that's what other Java handset makers have used. Instead, Google chose for technological and political reasons to put a version of desktop Java on Android Linux.
Harmony was already at the center of a long-running dispute between the ASF and Sun: ASF said it could not certify Harmony as compatible with the official Java SE spec because the field of use restrictions that accompany the Test Compatibility Kits (TCKs) would restrict how and where Harmony is used.
The TCK lets Harmony be used only on desktops, not mobile devices. Lack of certification means developers are potentially deterred from using it.
All this would have been just another lost dispute for the licensing propeller-heads had Google not seized the opportunity and put Harmony on mobile phones.
Oracle in the catbird seat
The Java license is clear: even though Java is open source, Oracle grants a non-exclusive, non-transferable, limited license to use Java.
It seems that Oracle is arguing that Google's Android has violated its Java patents by running on a mobile device, where it's not allowed, instead of sticking to the desktop, where it's permitted.
Oracle needs everybody to stay their place, and can't afford to have different versions of Java running where they aren't allowed. To do so would allow two things: it would challenge the neat division of what versions of Java run where, and it would mean people could then begin disputing how much they pay Oracle in licensing fees.
That's especially important now, as Oracle has stepped into Sun's shoes as Java's chief steward, and needs to let everybody know who's in charge. One of the prime reasons Oracle bought Sun was to take ownership of Java. Java means repeatable licensing and maintenance revenue for its owner, and was one of the few pieces of Sun's software business actually making money.
The dispute over TCK licensing only threatened to get worse for Oracle. As more Android devices ship and Android increases its market share, Java ME diehards such as Blackberry have started to lose market share. That means Dalvik is digging in and it risks becoming a permanent force in mobile that Java ME vendors could never dislodge and must compete against.
Worse for the pretender to the Java throne, Oracle risked losing control over a large part of the mobile Java market. Not just to Google, who'd be free to make changes to Dalvik, but also to the ASF.
The ASF threatened to make things difficult for Oracle when Ellison & Co tried to make changes to Java before the matter of the TCKs was resolved.
ASF president Justin Erenkrantz told us in June that his group will reject changes to specs for new versions of Java through the Java Community Process (JCP), claiming that they violate the group's governing agreement. Also, ASF promised to "educate" the community on why it's important not to restrict where Java can be used.
It would be unseemly and unrewarding for Oracle to chase the ASF, it being an open-source organization — even though ASF's been a thorn in the side.
Far better to chase Google, the body with the commercial implementation of Harmony and the one that saw a 24 per cent growth in revenue for its latest quarter to $6.82bn. Oracle can send a message to others also tempted to use Android or make their own Dalviks, while keeping ASF and Harmony pinned down in the uncertified limbo with everybody using the official Java SE spec on their PCs.
Furthermore, while many don't particularly like Oracle, the rose-tinted specs people have used to view Google for years are finally starting to slip. Google's on the back foot over privacy and net neutrality. And, its take-it-or-leave it approach to building Android has stuck in the craw of many in the community who feel it's forking Linux for no good reason other than to serve its own purposes.
Oracle plays to win. It has smelled the blood oozing from Google — and pounced.
Java's new owner is going after Google over licensing again, only this time for using the "wrong" Java on the "wrong" machines. It's a fight to assert Oracle's right to control Java that it paid $5.6bn for, and to stop others following Google in doing just whatever they damn well please.
Like most patent disputes, there's a very good chance the companies will settle behind closed doors and terms won't be disclosed. If that happens, you should expect Oracle to have reached a licensing deal that permits Android to live but frightens other people from following Google's example. ®