Related topics

Oracle's Java police derailed by Google TV

Android marches on Java SE

Common Topics

While the authorities governing Java fiddle, the power is passing to another: Google.

Four years back, the Apache Software Foundation (ASF) had a very public falling out with Sun Microsystems over the Test Compatibility Kits (TCKs) used to certify Java.

Sun courted acclaim by open-sourcing Java, but then threw it away by mysteriously drawing the line at changing the license on the TCKs. ASF hit back with public letters and protest votes against Sun via the Java Community Process, the body stewarding Java.

It's been a deadlock ever since.

Since Oracle's acquisition of Sun, some names have changed, but the game remains the same — as does the state of play. Oracle has inherited Sun's position as Java's chief maintainer, while ASF remains determined that there should be a change in the wording of the TCK license.

The sticking point is the field-of-use terms in the TCK license. They say, for example, that an implementation of Java Standard Edition (Java SE) tested using the Java SE TCK can only be used on a PC — not a server (that's Java Enterprise Edition) or mobile (Java Mobile Edition).

Enter Google. Back when Sun was trying to remain relevant with help from Java, IBM was the number-one foe. IBM had the money and middleware to influence Java, when enterprise servers and the topic of Java EE versus .NET galvanized the Java classes. Sun lacked both money and middleware, but it could stake a moral claim to Java's future — it invented the thing — even though it didn't really understand what Java was.

Today, Google is the one with the money and the swagger. Google, like IBM before, is a JCP member, sitting on the Java SE/EE executive committee. Only this time the Java masses are galvanized not by servers but by consumer devices, from smartphones running Android to TVs, er, running Android. Google is using Android at the heart of its Google TV.

Android runs ASF's implementation of Java, known as Project Harmony. A Google virtual machine called Dalvik was built on a subset of Harmony. It recompiles Harmony class libraries for mobile devices with limited resources.

Harmony is an implementation of Java SE, and if ASF had certified Harmony using the official TCK, then — thanks to the field use rights — Harmony could only have run on PCs. Code from Harmony or Dalvik would not have been "allowed" on smartphones or TVs by the Java police.

ASF president Justin Erenkrantz has told The Reg that the distinction between different types of Java is becoming irrelevant in an era of fragmentation, frameworks, and connections.

"As all of our devices get more and more connected, the distinction between desktop and mobile will be blurred — this observation is why Apache has refused to acquiesce to the 'field of use' restriction requested by Oracle," Erenkrantz said.

All of which means that Oracle is following Sun's lead — by either deliberating over what do on the TCKs or by dragging its feet. We can only guess, because Oracle likes to hide behind a veil of silence — but the market is moving on. Thanks to Google's Android roll-out, the decision on rights and permissions has become an academic exercise, detached from reality.

Developers like nothing more than success and a cool new platform to explore, which accounts for Android's stunning growth on phones. The result of this situation is likely to be a Java industry split between the existing certified versions of Java and the newer but non-certified versions of Java.

This is something Erenkrantz believes won't happen soon, as the certified school will continue to hold out. This will change, though, as those guarding Java's future and building fences between the platforms end up making it less attractive to developers.

"As the innovation in the 'certified' space gets brought to a standstill due to legal and political issues, the parties that are not held to those obligations will continue to innovate. Then, the developers will vote with their feet and ignore the 'certification' if it helps them achieve their purposes [of] better, faster, and cheaper," Erenkrantz predicted. ®