While Oracle has imposed order and unity in a contentious Java community, at what price has it come?
If this sounds far-fetched -- surely two big companies with a shared interest in Java could reach some agreement -- consider this: Forrester Research analysts John Rymer and Jeffrey Hammond wrote Jan. 21: "IBM and Oracle are arch competitors, leading us (and many others) to believe that they'd never agree on a common direction for Java... Many, including Forrester, had forecast a split between the two on Java due to their often bitter competition in enterprise software." Their report, "The Future of Java," concludes a surprising rapprochement has taken place.
Oracle had the possible enticement of renewing IBM's Java license for an extended period. After years of tension with Sun, IBM probably welcomed the chance to renew on favorable terms. But Oracle obtained something it badly wanted as well. IBM had been contributing to the open source Java virtual machine being built by the Harmony Project. It had offered high-profile participation as a signal that it would stay the course and guarantee the emergence of a second source of reliable Java code. Instead, without a "fare thee well" to its former Apache collaborators, it abandoned the project last October and encouraged other contributors to do likewise. This was a major gain for Oracle.
Equally surprising, Oracle CEO Larry Ellison somehow elicited a pledge of support from his friend, Steve Jobs, before Jobs left Apple. In October, Jobs had dissed and deprecated Java in favor of his true love, Objective C. After a month of pained silence heard throughout the Java community, Oracle announced Nov. 12 that Apple will continue to support Java on the Mac operating system. "The best way for our users to always have the most up-to-date and secure version of Java will be to get it directly from Oracle," said Apple senior VP of engineering Bertrand Serlet. On the heels of Jobs' earlier comments, it was much more likely that Apple would produce its own version of Java or drop it altogether.
With both IBM and Apple firmly behind Oracle, no fork in Java occurred. Instead, a major realignment of forces had taken place in the Silicon Valley without anyone appearing to notice. While trying to pay attention, I admit I didn't know what it meant. I still don't know for sure, but I at least have a notion of what these parties are up to.
But our story has to return to Apache's plight. Oracle needed the respected thinking and contribution of the Apache Foundation developers in the Java Community Process (JCP). Such is the standing of the foundation that its representatives have won the Member of the Year award four times in the 10 years it's been part of the group. It is routinely re-elected to the Java Executive Committee with 95% of the vote, and was so again a few days before its resignation, despite its known intent to challenge the continuation of work on Java 7 if Oracle refused certification for Harmony.
Oracle already has one powerful critic and competitor within the JCP, Google, whom it is suing for its use of a Java virtual machine variation in its Android mobile operating system. Just think how uncertain a vote might be if Google, IBM, and Apple were publicly aligned against Oracle's leadership of Java, not to mention criticism from the vaunted Apache developers.
With considerable political skill, Oracle neutralized that threat. Instead of an alliance behind Apache Harmony, it now has a powerful alliance behind OpenJDK. It needed Apache, but it needed IBM and Apple more.