I wanted to summarise, comment on and respond to four recent blogs - Doug Lea, Henrik Stahl, Bill Burke and Mike Milinkovich.
Doug Lea's resignation statement is in essence a pretty straightforward and clear piece summarising the problems with the JCP.
This is the statement from someone on the inside. Someone whose technical contribution everyone respects. He outlines that the JCP managed well for long enough, but no longer.
The key phrase is "Rather than fixing rules or ceasing violations, Oracle now promises to simply disregard them." This is a reference to Sun, then Oracle, deliberately breaking their legal agreement with Apache.
Not unreasonably, Doug makes an honourable decision to step down in the face of such actions. Instead, he is choosing to just focus on writing code at the OpenJDK instead, a decision we can all understand.
Henrik is one of the key product managers in charge of Java SE. After a long gap without Oracle responding, Henrik replied.
I agree with much of this funnily enough - people like Doug are needed, the JCP needs improvement, the JCP does contain Oracle's fiercest competitors and different opinions are needed. Where we disagree is whether the JCP remains a viable organisation when Oracle breaks the legal agreement on which the whole organisation is based.
Bill Burke, JBoss
Bill wrote a very interesting piece entited "The JCP is salvagable".
Having read the title, I must admit that I was a little surprised at the content (only summarised above). What is interesting to me is the explicit attacks on other vendors, especially SpringSource (who JBoss have got it in for at the moment).
Perhaps there is an explanation? Could I suggest that JBoss's leading projects are implementations of JSRs in one form or another - from Seam to Hibernate to EJB? Would the end, or even a weakening, of the JCP represents a significant risk to their business? It would certainly require a new rhetoric and marketing speil!
Mike Milinkovich, Eclipse
Mike wrote a longish summary of his view of the current position.
Well thats positive! "Java and the JCP are doing just fine"!. The "best for Java in the past three years"! We have to read on to understand why he feels like this.
Firstly, I want to emphasise that I see this issue as broader than the "Apache community" (of which I personally make precious few contributions to these days). And I'd point out that until a few days ago, Eclipse saw it as a broader issue worth fighting for too.
My reading of Mike's words is that he saw my "Great War of Java" post as solely being about the JCP. And re-reading, its possible to see why that might be.
But the "Great War" I refer to is the perfect storm of problems surrounding Java right now. The announcements from Apple and Nokia simply backing up the JCP disarray. This is absolutely a transformational time for Java.
War is generally about territory, and Java is losing territory left, right and centre. And I'm referring to mindshare as much as technology platforms.
Whereas Mike is referring to a war that didn't happen - the forced breakup of the JCP and a new fork (with IBM playing a key role no doubt). Clearly, Mike believes that scenario would have truly harmed Java.
Well, I hate to say it, but the fork happened a while ago - Android. And it remains by far the most exciting and interesting part of the broader Java ecosystem, and the only place where consumer oriented Java on the "desktop" remains relevant.
On "the JCP has never and will never be a vendor-neutral organization", I both agree and disagree. EE and ME specifications have no need to be controlled by Oracle. Other standards groups do not have such a single vendor dominance, and that neutrality is beneficial. Whereas, in the core, Oracle truly does put in all the funds and guides the platform. Having a single vendor control, with external input, is probably a better model. Just like Linux. Therefore, on "I believe that OpenJDK’s governance will, in the end, be no more vendor-neutral than the JCP’s", I agree.
I agree that the JCP has been effective. But I see no way to make it effective again without radical change. Right now, I'm far from alone in trusting a so-called proprietary API from Spring or Google than a JSR API.
But the kicker is at the end. "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."
How can it be an "open standard" if you can't implement it?
This is the key issue. Despite legal agreements and public promises, it is impossible to implement a supposedly open standard. Mike, how can you justify that?
I've only been able to come up with one solution - the #splitjcp compromise proposal. By clearly removing those parts that are blatently not open standards from the JCP, it enables everyone to move on and start afresh with those standards that are.
Sun, now Oracle have broken their word, their public promises and their signed legal agreements.
I remain stunned that anyone would want to do business with Oracle without some change in the rules.
After all, if your boss gave you their word to you to pay you salary $x, made a public pledge to the rest of their team that they had hired you, and signed a written contract with you stating the salary, wouldn't you feel extremely aggrieved if three years later you'd never been paid despite asking many times? And what if your boss then turned around and told you that you never will be paid? Would you ever trust a word your boss said ever again?
By the way, have you noticed that no-one is trying to claim that the legal agreements have not been broken?
Ultimately, the big companies and organisations are closing rank around Oracle. They've decided that it doesn't matter that the legal agreements they've signed aren't worth the paper they're written on or that Oracle can't be trusted. (Or perhaps they naively believe that Oracle only breaks legal agreements with Not-For-Profits.)
But, many of us in the wider community know that what has happened here stinks and have no reason whatsoever to trust a single word from Oracle.
Apache Software Foundation member, speaking personally
Oracle Java Champion, speaking personally
Not a committer on Harmony or OpenJDK