Life at Eclipse

Musings on the Eclipse Foundation, the community and the ecosystem

Take a Deep Breath, Then Vote for Eclipse: Our View on the JCP

My goodness, this past week has seen a flurry of despair around Java and the JCP. Most of it misguided, in my humble opinion. Matt Asay’s article does a good job of capturing all of the angst in one spot. If you haven’t read it, I recommend that you do even though I disagree with much of it.

Let me start by saying that like Red Hat’s Bill Burke, I believe that Java and the JCP are doing just fine and are here to stay. Despite some short-term growing pains, they are both in much better shape than they were under Sun’s stewardship over the past couple of years. In fact, I would go so far as to say that in terms of real, tangible progress, this past month has been the best for Java in the past three years.

I should also say that this post is focused on the issues that pertain to Java SE and EE, which is the Executive Committee that the Eclipse Foundation is running for. The concerns which are impacting the Java ME ecosystem will be for another post on another day.

There is one thing that Matt, Ian Skerrett and others have gotten exactly right: the failure to communicate effectively with the Java community is costing Oracle dearly. They have got to fix that, and soon. The problem is that Oracle has always been an enterprise software company, with PR and AR people who think that controlling the message is the path to success. Oracle as an organization has a lot of internal institutional challenges to overcome before they can learn how to communicate with a community like Java’s. It will take time and there will be mistakes along the way, but I think they will. They have to, because as we have recently observed, silence is significantly worse than delivering even bad news in a clear and honest manner.

So let’s examine some of the recent commentary.

  • “The Great War of Java”: Stephen Colebourne’s most recent post is, well, just plain wrong. I totally understand the frustration and disappointment of the Apache community who have done so much for Java over the past decade or more. But the fact is that the “Great War of Java” didn’t happen, and it well could have. The announcement that IBM had made peace with Oracle and was joining OpenJDK meant that the fork that so many had predicted is not going to happen. I cannot say this strongly enough: characterizing the current status quo as a war is just wrong. What we may have on our hands is a failure to communicate, a major disappointment for Apache and/or a time of significant change in Java’s governance. But in my opinion the conflict that truly could have harmed Java has been averted.
  • Doug Lea’s departure from the JCP EC: Doug has been a very important voice on the JCP Executive Committee since long before we got there. He understands the process deeply and cares about how players other than the large corporations can participate, contribute and innovate within the Java ecosystem. He will be missed. However, I do think that his reasons for resigning were based on some incorrect assumptions.

    I believe that many people are confusing the JCP’s vendor neutrality with its effectiveness as a specifications organization. The JCP has never and will never be a vendor-neutral organization (a la Apache and Eclipse), and anyone who thought it so was fooling themselves. But it has been effective, and I believe that it will be effective again. That’s why if re-elected, Eclipse will be voting for the Java 7 JSR. We need to get back to actually getting platform specs through the process if Java is going to advance.

    As a truly vendor-neutral organization, we at Eclipse understand the value that brings to the community and the commercial ecosystem. Unfortunately, I believe that OpenJDK’s governance will, in the end, be no more vendor-neutral than the JCP’s. It simply cannot be. Oracle has a responsibility to its commercial Java licensors to deliver them intellectual property under commercial terms and conditions, which is why contributors need to sign the CLA. By definition, if Oracle needs to own the IP for Java, including the IP in OpenJDK, the governance model will always require some sort of special role for Oracle. I wish it could be otherwise, but that is how I see the situation.

    But the key point is that in neither case (JCP or OpenJDK) does the lack of vendor neutrality mean that the organizations are ineffective. Both have already demonstrated success in pulling together many competing interests and getting innovative work completed. So the lack of vendor neutrality is not fatal. In fact, I am optimistic that having both an open standards and an open source organization working in collaboration will help accelerate innovation in the Java platform.

  • Apple’s deprecation of Java:The simple fact of the matter is that none of us yet know exactly what this means, or why Apple took this approach. Steve Job’s explanation was particularly lame. If release cycle alignment was a fatal problem, none of the platform vendors would still be shipping Java. I am a bit of a cynical sort, so my hypothesis is that this may simply be a contract negotiation ploy. If Apple wanted to put pressure on Oracle for a better Java licensing deal, wouldn’t this be a fairly obvious way to do so?

    But I do believe that Apple may have under-estimated the negative implications for their own business. Not shipping Java on the Mac has obvious implications for Java developers. Everyone who uses IntelliJ, NetBeans and Eclipse will be impacted at some level. But one aspect that I have yet seen discussed much are the implications for other language developers. Don’t forget that the leading development tools for Android, PHP and Adobe Flash (to name just a few) are all based on Eclipse as well. I have to wonder if Apple has thought through how many developer communities they will be alienating if they push this no-Java stance too far. I predict a mid-course correction.

  • Use the OSGi Alliance instead: A few people have suggested that if the wheels are going to fall off the JCP, perhaps the OSGi Alliance can step into the vacuum and become the leading specification organization within the larger Java ecosystem. Despite Eclipse’s commitment to OSGi, I have to say that there is asymptotically close to zero probability of that ever happening. The reason is simple: IBM, Oracle, Red Hat and others are committed to making OpenJDK and the JCP successful, so there is no vacuum to fill. I would say to our friends at the OSGi Alliance that this conjecture is neither realistic nor helpful.

It is clear that Java is going though a period of turmoil. But anyone who has gone through a large corporate acquisition could have predicted that some amount of chaos was entirely predictable. The Eclipse Foundation is committed to the success of both Java and the JCP, and we are optimistic that the JCP will remain a highly effective specification organization for the Java community and ecosystem. I hope that you will vote for us in the on-going election!

Written by Mike Milinkovich

October 27, 2010 at 5:48 pm

Posted in Foundation, Open Source

9 Responses

Subscribe to comments with RSS.

  1. I don’t think Steve Jobs and Apple care about Android and Flash, in fact they’ve been pretty clear on the subject. I think he’s just tired of investing in a Java VM when it’s not on their long term product roadmap. And I’m sure his people don’t either and are feeding him huge estimates to keep it working as the Mac platform evolves. He just wants the same freebie that Microsoft gets.

    Doug Schaefer

    October 27, 2010 at 6:22 pm

  2. I don’t disagree. My only point is that I wonder if they realized what a dent they could be making in their sales if they push it too far?

    Your Windows analogy is a little off though, because of the install problem. Microsoft doesn’t make hardware, and you will get Java pre-installed on pretty much any Windows machine you will buy. It is not clear (to me at least) how Java is actually going to get installed on the Macs of the future.

    Mike Milinkovich

    October 28, 2010 at 9:12 am

  3. The solution is pretty simple. Avoid java for any future projects both personal and professional, and run the dev environment in a VM for existing work. It’s what I’ll be doing and slowly migrating away from Java as a platform at work. To me it seems the community is not in the best interest of Java’s future, and the parties involved stepped all over good people to get us in this situation. Trust of developers is something Microsoft has lost over the years, seems like this same thing is happening here. It will really make me think what kind of infrastructure to build the future on.


    October 29, 2010 at 11:29 am

  4. Mike, I hope you’re right about the mid-course correction. Eclipse with Topcased has been great for developing for the Web, for Android, for iPhone (using a cross-compiler), and for general cross-platform utility development using PHP, Python and Java. I’ve invested a substantial amount of time in the evaluations that led me to pick Eclipse on OS X as my development platform of choice, and an additional chunk of time learning to use that combination to reasonable effect.

    As someone who’s heavily invested in running OS X for the foreseeable future (for various reasons, including the compatibility of other software & hardware I use regularly and cannot afford to replace), and who’s also heavily invested in running Eclipse and Java: unless the deprecation is reversed, my best option appears to be to stay on OS X 10.6 for the next couple of years while the dust settles – and also, while I’m at it, to return the favour to Steve Jobs by advising everyone I know to avoid Apple products because Apple clearly has no qualms about undermining its customers’ investments.

    However, will staying on OS 10.6 work? Will Eclipse updates continue to be made available to those of us who choose this option?


    November 1, 2010 at 12:42 am

  5. Sam, As far as I know Eclipse on OS 10.6 will be continued to be supported for quite some time. It will take a couple of weeks for this to sort our completely, but my expectation is that the Mac will remain a supported platform.

    Mike Milinkovich

    November 1, 2010 at 2:19 am

  6. @Sam:

    An alternative to staying on OS 10.6 would be to use OpenJDK, or another open source JVM implementation. Apple has only deprecated its own JVM, not all possible JVMs. Eclipse runs just fine today on the OpenJDK port for OSX.

    The only grey area is whether apps written and Java and shipping their own JVM will be able to be distributed via the Mac App Store. But the App Store is for consumer apps, I don’t think it matters much whether you can get your IDE from there.

    Neil Bartlett

    November 1, 2010 at 6:31 am

  7. Mike, Neil: thank you for your reassurances.

    In discussion with a CompSci friend recently – Stephen Kell – I mentioned the fact that cross-compiling Java to Objective C is becoming more solid (I was thinking of Professor Arno Puder’s work), and also mentioned the fact that Jobs had announced Apple is deprecating Java on OS X. He replied: so why not cross-compile Eclipse and its plug-ins to Objective C for future versions of OS X?

    I’ve not tried doing this, and I have neither the time nor expertise to do so at the moment, but I’d be interested to know whether you think this might be a viable “plan B”, to keep Eclipse and its plugin ecosystem alive on OS X?


    November 7, 2010 at 10:13 pm

  8. Sam, My immediate reaction is that this would be pretty far down the list of alternative plans. Maybe I’m a pessimist, but it sounds like it would require a very significant investment to make happen. The testing work alone would be huge.

    Mike Milinkovich

    November 8, 2010 at 2:35 pm

  9. Good news about Java and Apple:

    OpenJDK In The News: Oracle and Apple Announce OpenJDK Project for OSX



    November 13, 2010 at 11:28 am

Comments are closed.

%d bloggers like this: