Wednesday, 13 October 2010

Does Oracle have enough votes?

Yesterday in my post I made an assumption that the Java SE 7 JCP vote would now pass. But perhaps it isn't so obvious?

Votes on the JCP

The Java SE 7 decision is a vote in the JCP. That means that Oracle needs to win the vote.

Until now, every member of the JCP other than Oracle has been united in opposing Oracle's position. IBM broke that yesterday. So, lets see how the votes stack up on the committee...

Voting with Oracle (my assumptions):

  • IBM - thats the deal announced yesterday
  • HP - long term Oracle partner
  • Fujitsu - always assumed to be a voting partner of Sun, now Oracle
  • RedHat - see the report here
  • Eclipse - see the report here (and a reminder of who pays the bills at Eclipse) Update, 14 Oct: This vote is confirmed.

Voting with Apache (my assumptions):

  • Google - unless they're about to capitulate in the battle with Oracle

Oracle leads 6 to 2, with 8 votes to count.

There are three independent members of the JCP - Doug Lea, Werner Keil and Tim Pierls. I'd like to see these individuals state their position publicly. I'd like to hope that they would vote with Apache, although I do wonder where Doug Lea's research grant comes from.

Intel have long been at the forefront of the battle to change the JCP. They might stick by their guns and vote with Apache. They might not.

SAP were clear on their position during the takover. So, we'd expect them to vote with Apache. But murky corporate politics may roam here - are SAP and Oracle partners or very competitive?

Credit Suisse are an unknown quantity. In the past they have supported all the resolutions on Apache's side. Will pressure be brought to bear now?

VMWare (SpringSource) might well have supported Apache while still just SpringSource. But as VMWare, there is a much bigger company involved. I'd like to think they'd prefer the Apache view, but who knows?

Update, 14 Oct: I managed to miss Ericsson somehow. I've no real information on their stance, other than having supported Apache previously. They would benefit from a complete unemcumbered Apache Harmony which they could use in their phones.

And the vote count is...

Basically, its impossible to determine, but it should be clear that pressure will be brought to bear by Oracle to get the votes it needs. With 6 relatively safe votes, you might think that only 2 more are needed with 16 voters. Except the rules say otherwise....

A.5 9. EC ballots to approve UJSRs for new Platform Edition Specifications or JSRs that propose changes to the Java language, are approved if (a) at least a two-thirds majority of the votes cast are "yes" votes, (b) a minimum of 5 "yes" votes are cast, and (c) Sun casts one of the "yes" votes. Ballots are otherwise rejected.
(My highlights)

So, Oracle needs a 2/3 majority of the votes cast for a "UJSR" (Umbrella JSR for a Platform, such as Java SE).

In other words, 6 votes against, or 5 votes and 2 abstentions would block Oracle.

I've listed 2 definite No, 2 or 3 likely and 4 unknowns. So, I'd say the vote could be close if key participants hold their nerve.

Eclipse and the JCP elections

Before the JCP vote on Java SE 7, there is a JCP election. If I've understood the rules correctly, both Google and Eclipse are up for re-election.

What if the JCP members chose not to re-elect Eclipse based on their sudden change of heart on this subject? (Which feels surprising because Eclipse is perceived like another open source Apache, which it isn't).

I wonder, given how close the vote might be, if replacing Eclipse with someone willing to vote No might be the key to ending the farce of the current JCP by the right means (voting).

To be clear - if the Java SE 7 vote is not Yes, Oracle will disband the JCP, that much should be obvious. Its a high stakes game, but has Oracle won yet?

Summary

Oracle are confident that they can get the vote passed. But can they?

Perhaps JCP members should unelect Eclipse, and elect someone who will stand up to Oracle in the upcoming vote? And if you're not a JCP member, maybe you should join today to get your vote!


Stephen Colebourne
Apache Software Foundation member, speaking personally
Oracle Java Champion, speaking personally
Not a committer on Harmony or OpenJDK

8 comments:

  1. Just signed up to be a JCP member! Now I have to wait till tomorrow to submit the fax.

    It will be a tricky battle. Woah the politics in a programming language! The thrill.

    ReplyDelete
  2. This is what many members of the London JUG have been discussing at our pub meet-ups, it's certainly going to be interesting! I wonder if Oracle has been playing diplomat behind the scenes, the IBM move was a bit of an unexpected coup by them.

    Will this delay Java 7/8? Lets wait and see...

    Cheers,
    Martijn (java7developer - twitter)

    ReplyDelete
  3. Hmm I still wonder, which carrots did Oracle wave with in front of IBM to assure their allegiance?

    ReplyDelete
  4. Mike Milinkovich13 October 2010 20:42

    Stephen, I clarified the Eclipse Foundation's position over on my blog. You can see it at http://dev.eclipse.org/blogs/mike/2010/10/13/java-7-vote/

    I hope that helps explain our thinking.

    ReplyDelete
  5. Mats Henricson13 October 2010 20:49

    I'm a member of the JCP, and I hereby state publicly that I will vote against any current EC member that does not vote with Apache! Who's with me?

    ReplyDelete
  6. Mats Henricson13 October 2010 20:56

    OK; Eclipse, I will not vote for you to keep your seat in the EC. Innovation in Java is best served with competition. Not allowing Harmony to get its test suite is going to lead to stagnation.

    By voting with IBM in this case, you also show well that you aren't an independent organization, but instead too much dependent on IBM. Therefore you can get your influence on the Java community by going through normal IBM channels. Thank you and good bye!

    ReplyDelete
  7. "Not allowing Harmony to get its test suite is going to lead to stagnation."

    This is an odd statement, considering that the current stalemate has led to stagnation and a huge loss of momentum.

    I favor Apache getting the TCK, but holding Java hostage isn't the way to do it. If Oracle is stymied on the UJSR, we go right back to the status quo, where we don't get Java 7.

    There has to be a better way to resolve this.

    ReplyDelete
  8. Stephen,

    I'll vote based on technical merits just like Mike stated for Eclipse. And just like Eclipse and others stated their position on SE8/modularity, that (8) is a whole different story also for me...

    It's a pity btw, you didn't run for this year's SE/EE election. The American dominance in SE/EE is overwhelming and a shame for the rest of the world. One person from Germany whom I know far too little to make my mind about is the only Individual candidate. At least big companies like Fujitsu, SAP, Siemens, Ericsson or Credit Suisse I'd consider having roots in Europe or Asia. All others are American, at least in SE/EE. Including Apache or Eclipse (although their members spread across the world)

    Of course others like Martijn are equally welcome, at least next year to run for EC elections and against a mostly US dominance there.

    The SE 7 JSR certainly seems to receive more attention, than the largely ignored Portlet 2 Bridge for JSF 1.2 (http://jcp.org/en/jsr/results?id=5093) which I personally feel is redundant and should target JSF 2.x to make sense.

    Unlike JSR-329 the SE 7 JSR is likely to get more than 5 votes.

    Doug Lea, who may not have publicly stated his view, isn't ratified any more, he stepped down from the EC. Thus a JSR most likely voted for after the election takes him out of the equation.

    Eclipse and Google compete at least with a well-known former Google employee like Bob Lee. Certainly the most important arena of this election. I wouldn't dare to predict nor state my preference or vote here, but I am certainly not the only one having a hard time deciding on that ;-)

    ReplyDelete