Thursday, 14 October 2010

JCP - Pragmatism or Bust

My recent post on the Java SE 7 JCP vote (following the IBM-Oracle announcement received a reply from Eclipse. It forces us to consider what course of action is right for Java.

Pragmatism or Bust

Mike Milinkovich graciously responded to yesterday's blog outlining why Eclipse will support Java SE 7. I urge anyone who hasn't read it to do so.

Mike outlines his view of how the dispute could end:

There are only three ways that this intractable dispute can be resolved:

1. Oracle caves. Well, we all know that’s not going to happen. Sun did not cave for three years, and Oracle has made it abundantly clear that they’re not going to. If IBM couldn’t find some leverage, I don’t see how the open source communities will.

2. Apache sues. Even if Apache had the resources, I am guessing their legal counsel would advise against it. Lawsuits are legal warfare, with all of the potential for unintended consequences and collateral damage that statement implies.

3. We move on. Realistically, this is the only option left. As much as continuing the fight appeals to the heart I cannot see how this dispute will ever reach closure. Although I certainly understand the natural inclination to want to continue the struggle against the slings and arrows of corporate behaviour, I just honestly believe that at this point it is beyond reasonableness to do so.

Given these three options, Eclipse has chosen the pragmatic option, and plans to vote for Java SE 7 to move on.

I fully expect all other JCP EC voters that vote Yes to follow similar logic. As Sacha Labourey said - pragmatic, pragmatic, pragmatic.

I'd like to offer up a fourth option however.

Were the JCP Executive Committee to vote down Java SE 7, I fully expect that Oracle would terminate the JCP. It would cease to exist.

Option 4 is therefore "slash and burn". Force Oracle to terminate the JCP and start anew.

The upside is that the old fixed positions in the JCP could be completely set aside - a fresh start. It also has the major upside of some kind of "punishment" for the crimes of Sun/Oracle - justice seen to be done.

The downside is that there is no guarantee that any kind of body would be introduced to replace the JCP. There might be a simple IBM-Oracle meeting that decides everything. Yet in a way, isn't that what just happened?

Summary

Each JCP Executive Committee voter, and up to a point, each JCP member in the forthcoming elections for Executive Committee membership, has a choice. And its a stark one:

Option A: Be pragmatic. Vote Yes on the Java SE 7 JSR. Work to improve the JCP later. Tell Apache "sorry, but we can't help you any more". Deal with the fact that Oracle will happily break its word whenever it sees fit.

Option B: End the JCP. Vote No on the Java SE 7 JSR. Hope that slash and burn yields a better result from Oracle. Get justice for the wrong done to Apache, but of course no IP or TCK for Apache Harmony. Deal with the fact that the community may have even less input into Java.

Which would you choose? Frankly, neither option really appeals to me.


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

5 comments:

  1. Mike Milinkovich14 October 2010 at 01:39

    Stephen,

    Thanks for the response. I really appreciate it.

    I agree that the options are few and mostly unpalatable. Voting no or abstaining would clearly be a protest against the way things are going. As you point out, it would likely result in bringing down the JCP. While emotionally satisfying, is it a constructive way forward?

    ReplyDelete
  2. It depends how you think the JCP will turn out under its new masters. If it is effectively a rubber-stamp for corporate fiat, then maybe it would be better for it to be wound up so that it becomes clear who it is that's making the decisions, and community members don't see your presence as validating what is otherwise bad. If on the other hand it will actually turn out to be an open forum for collective governance of Java standards, then I agree it is best to usher it forward.

    As I am not privy to the secret meetings where these things are discussed (and never have been) I don't have the data to draw a conclusion. If you don't know either, an abstention (which is not the same as "no" unless the remaining majority votes "no") may be the best way to retain integrity.

    ReplyDelete
  3. I'm a JCP member, and I vote for B.

    Thanks, Stephen, for driving this issue!

    ReplyDelete
  4. I'm not sure if the conclusion that if everyone votes no then the evil JCP will be terminated and a new better organization will emerge is necessary an expected result.

    The attempts to block the JCP in the past were not leading to a better JCP. Given that we should learn from history, I think blocking it now is not the right thing to do. Java is lacking time and need to evolve.

    Embrase and improve is IMHO the best approach here.

    ReplyDelete
  5. Stephen Colebourne14 October 2010 at 13:05

    Mike, I think Simon's response sums it up well. While I respect your choice, I feel that at the very least an abstention would be more honest on the part of Eclipse - an "open source organisation".

    Lars, Oracle have been clear that Java SE 7 is going ahead no matter what. I'm interpretting that, with other sources, as meaning the end of the JCP if the vote is No. My blog indicated how the end of the JCP may, or may not, be a Good Thing.

    ReplyDelete