In the wake of Doug Lea leaving the JCP, I just want to say that I think the JCP is salvageable. This idea the JCP is an unworkable entity is plain and utter myth. A myth propagated by those that want to see it fail (i.e. SpringSource) or those that want to create their own, and controlled, specification efforts (IBM), or those that are more interested in doing their own thing than collaborating with others (i.e. Google and SpringSource). Don’t believe me? Well, let’s discuss it a little more.
First case in point is JPA. In J2EE 1.4 and earlier we had the crap that was CMP and its unloved and unwanted step-sister JDO. The Persistence story and message within EE was divided, unclear, and (in CMP’s case) inferior and fundamentally flawed. This allowed Hibernate to flourish and practically become a de facto standard. If the JCP was broken and unworkable, we would have never been able to get JPA into the EE 5 specification. JPA was such an important direction for the EE platform. Firstly, it brought the innovations of using annotations, but more importantly it unified the platform bringing de facto proprietary implementations like Hibernate and Toplink under the EE umbrella, retiring CMP and bringing the EJB community into the fold, and finally, forcing a shot-gun marriage with the JDO crowd. The platform needed this, needed this badly to remain relevant.
Second case in point is CDI. Spring’s rise has always been more about EJB’s incompetence rather than any real technology. Java EE had three huge holes to fill: injection/IoC, true integration across various specifications, and most importantly an SPI to be able to extend the platform and foster innovation outside the specification process within the Java community. CDI filled all these holes. The fact that little Red Hat who is dwarfed in market cap and marketing muscle by the likes of Google, IBM, and Oracle, could push such a game-changing specification through with all the political opposition in place, is a testament that the JCP does work and can work if the participants are willing to focus on technology.
Third, the JCP was already changing pre-Oracle acquisition. It was already becoming much more open. Specifications like CDI, JSF, Validation, and JAX-RS all were defined within a completely open process. Many had open source RIs and TCKs. Things were improving.
As far as Doug goes, its a big loss. I know a few of my JBoss colleagues enjoyed working with him. Personally, I think his departure was premature. I don’t think the dust has settled yet after the Sun acquisition. All Java JCP major participants knew that the JCP had to change. We wanted change. We still have to give Oracle the benefit of the doubt and, more importantly, time. Time to get organized. Acquisitions take time to settle (believe me I know). From what I’ve seen, Oracle had in the past always been an innovator supporter on the EE specification process. I don’t see why this couldn’t continue. They have some good people over there that recognize innovation and want to move the Java EE platform forward. Whether or not they will have say over the Oracle business people remains to be seen IMO.