Wednesday 3 November 2010

JCP election result & commentary

The JCP election are out. What do they tell us?

JCP election results 2010

The JCP election results are now available.

In the ratified seats (were Oracle chooses who stands), Apache was confirmed by 95% of voters and Red Hat by 87%. Hologic was not ratified, receiving only 33% yes votes. For ME, all three companies were ratified (although the web page indicates that TOTVS only got 49%, which if true means they should not have been ratified - something that needs clarification - Update: see Patrick Curran's comment for the valid explanation).

In the open elections (any JCP member can stand), Google (33%) and Eclipse (27%) were elected, with Bob Lee not elected in third (21%). For ME, Aplix (30%) and Stefano Andreani (27%) were elected. (Note that each voter received 2 votes for SE and ME in this phase, so its slightly unclear what the percentages mean. I'd assume that Google was supported by 66% of voters, but this isn't clear)

As Hologic was not ratified, Oracle will now nominate a new candidate for ratification. They could choose Bob Lee as the runner up in the open vote.


One key issue not previously mentioned is turnout.

Of 1286 registered voters, only 18% actually voted - about 232 people/companies.

In 2007 turnout was 33%, in 2008 it was 26%, in 2009 it was 21%.

So, less than 250 people/companies (JCP members can be either) actually voted on the organisation that holds the power to decide the future of Java. With up to 10 million Java developers out there, this really is a tiny number. In fact, more people voted in the latest poll.

While I'm sure the legal paperwork of membership puts any off joining, the truth is that even those that had joined failed to vote. Of course we will never know why.


These were controversial elections, partly because of the upcoming Java SE 7 vote, partly because the JCP was described as "no longer a credible specification and standards body" by Doug Lea and partly because I saw signs of Oracle sharp practice.

In the end, my interpretation of "stacking the election" was addressed by Adam Messinger of Oracle:

On the topic of Hologic, our feeling is that standards folks, technologists, and technology vendors are already well represented and there is room for some new opinions at the table. The fact is that a big part of Java's success is driven by thousands of developers at small and mid-size companies like Hologic. These developers, who are working squarely in the Microsoft sweet spot, are on the forefront of our competition with .NET. Hologic has bet their business on Java -- not as a supplier of Java, but as a consumer -- and we think having their perspective on the EC is valuable. They are absolutely representative of a large cross section of the Java community.

So, did I call Hologic right or wrong?

When I saw Hologic's name on the ratification ballot my first response was surprise. Then suspicion. Why had a company that no-one had heard of been put up to be one of the core guardians of Java SE, EE and the community?

Given the importance of the JCP vote to come, and the surrounding controversy, I wanted to know more. It wsn't hard to find the close relationship between Hologic and Oracle. And I called it as I saw it.

Adam's explanation in terms of broadening the JCP EC representation away from technology companies is sound enough. However I would have to ask what would make any one company, like Hologic, any more or less relevant than another? Ultimately, the electors agreed that Hologic should not be on the JCP EC, although we cannot know how much of that was due to the closeness to Oracle (that I pointed out) and how much was due to a general concern that they simply were an inappropriate company to be on the JCP EC.

The net effect of this is a sense that technology companies are better placed to provide the detailed technical direction needed for Java.

But that analysis also calls into question the role of Credit Suisse and individuals.

I think the difference with Credit Suisse is that they are a known company and are presumed to have a significant hard core Java operation (most banks push Java to the limit in places). And good individuals provide a key role in balancing the political nature of companies (which is why it was sad to see Doug Lea go and Bob Lee not to be elected).

For the future, it looks as though the Java SE 7 vote will pass. With the inability to get a valid testing suite for Apache Harmony finally confirmed, there may yet be further changes in the JCP. Fundamentally, it can reform (as per my #splitjcp compromise proposal or another similar proposal), or continue to be seen as irrelevant by many like me.

Either way, there needs to be more engagement of the wider community of developers beyond the apathetic JCP membership. If the most contested and discussed election in JCP history cannot increase the turnout, then maybe root and branch changes really are needed - and might in fact be welcomed.


Less than 250 JCP members (18% turnout) have made their choices, deciding the fate of Java. Apache, Red Hat, Google and Eclipse were elected. Hologic and Bob Lee were not.

Is this the best way to receive community feedback? Somehow it doesn't feel like it. Once again I'm encouraged to push for radical JCP reform.

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


  1. I "really" wanted to vote, but it was impossible for me to get my employer sign off the legal papers JCP Member individual papers :(

    So only one individual elected? "Stefano Andreani" the rest companies. 18% turn out is quite sad, I bet most of those who didn't vote didn't bother to remember their password and not resetting it.

  2. The numbers we publish are the percentage of voters who supported the named candidate. (We don't publish the numbers of opposing votes.)

    Our process states that ratified candidates are elected if a majority of the votes cast for them are "yes" rather than "no."

    So: the fact that TOTVS received "only" 49% yes votes doesn't mean that they failed to be ratified. The number of yes votes they received was indeed more than the number of no votes, and they were in fact ratified.

  3. Stephen Colebourne3 November 2010 at 08:47

    Patrick, thanks for the explanation, I've updated the article.

    Mohamed, I agree that the legal paperwork is painful. Thats part of the thrust for JCP reform.

  4. Not showing up for a vote is also a vote: That of considering the election irrelevant, or not seeing any candidate as a proper representative for ones own interest.

    The JCP is exactly what Sun wanted it to be, a closed old-boy network where those with the money call the shots. And Java developers long ago recognized this and voted with their feet by staying away from the JCP.

    10 million Java developers, 1286 registered voters. That's 0.013%, 130 ppm. That alone means the JCP is not a legitimate representation of Java developers. 232 voters? 23 ppm. Irrelevant.

  5. The majority of the Java community votes in a different way. We shape the future of Java by choosing the tools that help us solve our problems. The JCP, its standards, specifications, design-by-committee-politics and the amount of people voting within it is irrelevant to me.

  6. A possible explanation of the lower turnout is that it now costs 0$ for an individual to join the JCP, and there is no renewal action needed to stay.

    - eduard/o

  7. As one of those many JCP members who didn't vote, I can summarize my reasoning in one word: "whatever" (or maybe "meh"). There's just not much going on in the Java space these days, and there's less going on every year. I do appreciate your calling out Hologic, though. Looks like that had a good outcome.


Please be aware that by commenting you provide consent to associate your selected profile with your comment. Long comments or those with excessive links may be deleted by Blogger (not me!). All spam will be deleted.