Some of you may have seen the significant coverage that Oracle's announcements around Java EE 8 at JavaOne has received in the last few weeks, and wondered what all the fuss was about.
Java EE standards have never been the fastest things out of the starting blocks, but their progress has always marched in the right direction - so why was this year any different? Well there have been a number of things going on in the background that made these particular announcements from Oracle quite key to the future of Java EE.
First some background; Java EE (and Java SE and ME) standards are driven by a thing called the Java Community Process (JCP). This process, which is run by Oracle, puts together panels of interested experts for the various areas where it is felt that a new standard is needed, and they work on a Java Standards Request (JSR) which eventually becomes part of the Java SE, Java EE or Java ME specification. Many of these working groups are led by Oracle employees, but contain members from a number of organisations, including the big players in the Java EE market, such as IBM and Red Hat.
For the last twelve plus months, members of many of these working groups were telling the same story - that Oracle seemed to be unresponsive and that the Oracle JSR leads weren’t helping move the standards forwards. The Java EE 8 standard in particular seemed to have come to a complete halt, with rumours abounding that Oracle had decided to let it die - and that they were turning their back on standards and community processes in favour of proprietary and vendor-specific technologies.
In response to this, individuals and organisations committed to the future of Java EE (with or without Oracle) formed into groups such as Java EE Guardians (javaee-guardians.io/) and Microprofile (http://microprofile.io/). Their purpose was to drive forward advocacy of the Java EE platform, working on standards to keep Java EE moving forwards and relevant to modern application development. These groups were backed by a number of well-known names from the Java EE community - both individuals and organisations - and generated significant interest.
This movement and advocacy started to have an effect during the summer, with Oracle putting out statements to the effect that it continued to be committed to developing Java EE standards, and the Java EE 8 specification in particular.
This apparent u-turn and re-engagement was reaffirmed at JavaOne this year, with a proposed timetable and more information about how development would happen. Of particular interest was the fact that Oracle put out a community questionnaire to look at which areas people felt were important to include in the Java EE 8 standard, and which are areas - that while important to development - don’t need industry standardisation.
The impact of these events is far greater than it first appears, however - and have been something of a wake up call to the Java EE community.The key concerns raised are that we may not always be able to rely on Oracle to steer Java EE in the direction that the community would like to see it go, and that the stranglehold Oracle has over the JCP is unhealthy.
In particular, organisations such as IBM, Red Hat and Apache - who have significant investment in the Java EE ecosystem - are starting to question whether letting Oracle (who they consider one of their key competitors in many respects) have that much power over the standards process is a good idea.
I think this has served as a wake-up call to the Java EE community in a number of respects. Firstly to the amount of power that Oracle holds over the current ways of doing things, and secondly that it is possible to make progress without relying on Oracle. It is this second aspect that I think will play the biggest role moving forward. Organisations such as microprofile have been seen to function well and fairly in producing a standard without needing oversight from Oracle, and whilst that standard may now go before the JCP, doing so would be a rubber stamp exercise rather than be seen as a requirement.
If Oracle refuses to certify or wishes to change what the microprofile organisation agrees on, it will continue without support from Oracle. Neither microprofile nor the Java EE guardians show any signs of stepping back now that Oracle have stepped forward, and they have a key role to play in keeping Oracle focused on its stewardship of Java EE.
I hope that moving forwards, we see more genuine community involvement in the development of standards, via groups like microprofile, to the point where the JCP either becomes a genuine and open standard body, or it gets replaced by community led organisations such as Microprofile.
While the events of the last 12-18 months have been concerning at times, I think the outcome has strengthened Java EE and its place with developers - and whilst there are complaints about how all of this has caused delays of up to a year in getting Java EE 8 finalised, I think overall the benefits (in terms of a stronger community that is willing to challenge Oracle to make a better future for Java EE) outweigh any delays.