OpenJDK, Oracle and IBM
JCP JSR Vote
Now the dust is starting to settle on the IBM/Oracle/Apache Harmony and, implicitly, Google ruckus, the community's focus is starting to shift to the upcoming vote on the Java SE 7 and Java SE 8 and JSRs.
This vote is inevitable. In his blog, Henrik Stahl, Senior Director Product Management Oracle revealed that the next step was for Oracle to create JSRs for Java SE 7 and Java SE 8 and submit them to the JCP for a vote. The vote will consist of sixteen members, two of which will be Oracle and IBM. No prizes for guessing how they will vote, but Stephen Colebourne has spent some time analysing how the rest of the JCP will vote, and whether the motion will be passed or not.
Stephen Colebourne perceived the JCP as previously being united against Oracle. But now IBM have broken ranks and moved over to the Oracle camp, the game has changed completely. He concludes that HP and Fujitsu will cast their votes in favour of Oracle: HP is a long term Oracle partner, and Fujitsu was always assumed to be a voting partner of Sun and now, by extension, Oracle.
It seems a given that Red Hat will side with Oracle, in light of the statement made by Senior Director of Engineering, Middleware at Red Hat, and JCP Executive Committee member Mark Little. He said "we are pleased to see IBM joining Oracle on the OpenJDK. When industry leaders are collaborating and working together in a community versus fracturing it and going their own way, customers will benefit." Mike Milinkovich of the Eclipse Foundation has also publically supported Oracle and IBM, calling it "good news for Java, and by extension for Eclipse" and stating it "fundamentally strengthens the platform, enhances the business value of Java and offers the hope of an increased pace of innovation." Eclipse also began as an IBM Canada project.
Stephen Colebourne assumed the Eclipse Foundation would support Oracle, and he was correct: Mike Milinkovich has since posted a response to Colebourne's blog, clearly stating that when asked to vote on this matter, Eclipse will vote yes. Mike Milinkovich expresses his disapproval over Apache Harmony being denied the TCK, but this is out of his control: the JCP cannot grant TCKs and he reasons that "if IBM couldn't find some leverage, I don't see how the open source communities will." Since Oracle isn't about to backtrack, Milinkovich feels it is now time for the Java community to cut its losses and move on.
"We are going to vote based on the technical merits of Java 7. From our point of view "Plan B" defines the logical next steps for the Java platform," he concludes before adding, intriguingly: "Java 8 is a different story and left for another blog post." Clearly, it's a case of watch this space....
So, who's likely to vote against the proposal on the JCP? The first is obvious: Google. Their Android uses a subset of Harmony, and the search giants are currently being sued by Oracle over Android. It is even possible that Google could sue Oracle over their refusal to grant Apache the appropriate Java SE license, or help Apache organise a lawsuit of their own. Either way, it is unlikely they will side with Oracle, given the current situation between the two companies.
According to Stephen Colebourne's sums, Oracle leads 6 to 2, with 8 votes still to count. These votes consist of the three independent members of the JCP: Doug Lea, Werner Keil and Tim Pierls, as well as Intel, SAP, Credit Suisse and VMWare – and it is difficult to determine how they will cast their votes. Intel have been vocal over the need to reform the JCP in the past, SpringSource supported Apache before they were acquired by VMWare, and in the past SAP have urged Sun/Oracle "to transition the stewardship of the language and platform into an authentically open body that is not dominated by an individual corporation." However, none of this means they won't vote in favour of Oracle, when it comes down to it, and even after analysing the situation, Colebourne admits that it is "impossible to determine" how the vote will go.
Oracle requires a 2/3 majority of the votes cast for a "UJSR" according to the rules of the JCP. But, there's still one important factor to consider: before the JCP vote on Java SE 7, comes the JCP election – the outcome of which could make all the difference to Java SE 7.
Want to have your say on Java SE 7? Nominations are open now.