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.