IBM Joins OpenJDK
IBM and Oracle announce they will join forces on the OpenJDK project.
This move enables Oracle and IBM to ensure compatibility across different implementations, in addition to pooling their resources. According to the Oracle press release, IBM is now publicly in support of ‘Plan B,’ which proposed postponing certain features intended for JDK 7, until the JDK 8 release, in an effort to bring the release date of JDK 7 forward. IBM are not the only ones lending their support to Plan B: according to Oracle, an estimated 70-80% of the community voted in favour of Plan B.
Bob Sutor, Vice President of Open Systems and Linux at IBM, has blogged about the new collaboration, presenting it as a positive move for the Java community: “OpenJDK represents the best chance to provide a top notch unified open source runtime for Java; customers will benefit by having first class Java open standards developed collaboratively and constructively; and our energy will be focused on working together and optimizing our joint work, rather than wasting time on duplicative projects.”
On the technical side of things, Mark Reinhold has theorised that IBM’s engineers will focus on the class libraries, which will enhance compatibility across the different implementations.
So, what’s in it for IBM? In return for their resources and work on OpenJDK, IBM have certain expectations. They plan to hold a leadership position in the OpenJDK project, and “fully expect to have a strong say in how the project is managed and in which technical direction it goes,” according to Sutor. They are also expecting to see some changes at the JCP, claiming the organisation needs to be made more open and democratic. IBM seem to have the support of the JCP in this matter: it recently emerged that just weeks ahead of JavaOne, the Java Community Process passed a resolution that called for Oracle to establish the JCP as an independent, vendor-neutral body with equal membership. Oracle declined to cast their vote on the matter.
But, where does this leave Apache Harmony? Bob Sutor, Vice President of Open Systems and Linux at IBM, clarifies that this isn’t just a new partnership: the company will be shifting its focus away from Apache Harmony to OpenJDK. IBM will continue with its other Apache commitments. Sutor explains that IBM have come to realise that Oracle are not about to release the Java certification tests to Apache, meaning that lending their support to OpenJDK is, in IBM’s eyes, a wiser choice than continuing to drive Harmony’s uncertified Java development.
Stephen Colebourne sees this move as a pragmatic decision on IBM’s part. Although IBM express their dislike of Oracle/Sun’s policy of holding back the compatibility tests, they have acknowledged there is nothing they can do to force Oracle’s hand, and have consequently made a deal that gives them some benefits, in the form of a lead role in the OpenJDK project and, perhaps, a stronger position in the JCP. Colebourne calls this “clearly a good choice for IBM, and probably the best we could hope for Java,” although he sympathises with Harmony, saying the project is now effectively dead and “Sun, now Oracle, have got away with murder” over the TCK.
Tim Ellison, the chair of the Apache Harmony PMC agrees that there is little chance of the project ever receiving the much-requested compatibility test kit license, but he seems to give the IBM/Oracle partnership his blessing, stating that bringing “the key platform development groups together on a common codebase” is the “right thing.”