Java EE Guardians speak bluntly: “Oracle does not really understand the value of Java EE”
Where does the future of Java EE lie? After Oracle reduced its activities concerning Java Enterprise 8, community members created a group called „Java EE Guardians“. What goals do these Guardians have? And where does Java EE 8 stand and what’s next?
In a series of interviews we asked members of the Java EE Guardians for the initiative‘s background and their interpretation of the current situation with Java EE. Our third Guardian is Reza Rahman, the creator of the group and former Oracle Java EE Evangelist. You can sign the Java EE Guardians’ petition here.
JAXenter: How would you describe the actual state of Java EE 8?
Reza Rahman: The current situation with Java EE 8 is problematic at many levels. First, I think the release cycles for Java EE should be between 2-2.5 years. The long release cycles at 3-3.5 years have been a significant competitive weakness for Java EE. The initially announced schedule was far longer than it really needed to be from the start. Second, launching Java EE 8 took far longer than it should have, thus resulting in Oracle declaring a six month delay shortly after launch. After that we saw some activity for some time on Java EE 8 from Oracle. The last straw was the near complete pause of activity in the last six months. As a result, Java EE 8 is already delayed by six months and counting.
Overall, what this says is that Oracle does not really understand the value of Java EE. Unlike Sun, Oracle has the resources and manpower to properly push forward Java EE to effectively advance its own business, the industry and the community. A large part of our effort is to publicly provide Oracle with clear feedback on the value of Java EE so that it has a chance to correct its approach for all of our sakes.
In the end, all of this has only upsides. It’s actually a major turning point for multi-vendor enterprise Java that needed to happen for a while — perhaps entirely without Oracle if it actually comes to that.
A large part of [Java EE Guardians’] effort is publicly provide Oracle with clear feedback on the value of Java EE so that it has a chance to correct its approach for all of our sakes.
JAXenter: Why did you decide to start the Java EE Guardians?
Reza Rahman: To be perfectly honest, I did not start the Java EE Guardians in any real sense. All I have really done is give it a more publicly recognizable form and a name. The fundamental catalysts behind the Java EE Guardians had been in place for months before I had anything to do with it. The movement is a natural consequence of the fundamental importance of Java EE, the momentum built behind Java EE after EE 6/EE7, the vigilant/vocal/passionate/active community that follows Java EE very closely and Oracle’s so far misguided actions on Java EE 8. It was only a matter of time before something like the Java EE Guardians took shape. At best I accelerated the process after leaving Oracle. It was becoming impossible for me to simply stand by and watch what Oracle was doing to itself, the community and the industry. To me there was no question of choice to organize the Java EE Guardians – it had to be done.
The very simple goal of the Java EE Guardians is to move Java EE forward through the community. Our current focus is to raise awareness on the big issue we are facing and find solutions to that issue. Hopefully Oracle can still be a part of that solution instead of being a source of the problem.
It was becoming impossible for me to simply stand by and watch what Oracle was doing to itself, the community and the industry.
JAXenter: Do you think Java EE could be run exclusively by the community without Oracle’s involvement?
Reza Rahman: If it is the last resort, the community alone can in fact move Java EE forward. It won’t be easy because volunteers have day jobs to tend to. That being said, it has been done before. Some very critical parts of the world’s open source IT infrastructure has indeed been run by pure volunteers — at least for short periods.
However, it is important to understand a few things about this. First [thing] is that for something to be legitimately called Java EE, it needs to be done within the JCP. Secondly, Oracle currently has all but total control of Java EE. The only way the community can move forward Java EE 8 in the long run is through voluntary cooperation from Oracle. Oracle can either partner with the community or voluntarily transfer ownership to the community. Last — and perhaps most important — it is already very clear that the community does not need to do anything on its own. You’ll see why in the latter part of the interview.
JAXenter: And do you think Java EE should be run exclusively by the community? I mean – would it bring the Java EE standard forward?
Reza Rahman: The best way to move Java EE forward is if Oracle, large vendors and the community work together effectively. The community has been an important part of Java EE for a long time now and has had an increasingly important role. In fact, that is what the modern JCP has been about. I am a product of those changes over the years as are the other core Java EE Guardians. Those changes are here to stay.
It is important to note that the unhealthy and excessive influence that Sun had and Oracle has over Java definitely needs to change. The current problems are the result of this unhealthy influence. Solving the current problem will basically establish that no one party alone can control an open standard like Java EE — not even the steward. Hopefully in the process we will ensure that this sort of thing never happens again and Oracle cannot treat Java as a product it develops largely by itself. In the worst case scenario, it may mean leaving the JCP and Oracle entirely behind.
JAXenter: What is your personal vision about the further development of Java EE?
Reza Rahman: I am actually fairly happy with the stated scope of Java EE 8 with maybe a bit more emphasis on Java SE 8 and CDI alignment. We have long had a clear mandate from the community and industry for Java EE 8 features that are now increasingly overdue. I think Java EE 8 (if delivered on time) will serve the community well for a long period of time.
Java EE run-times with the notable exception of WebLogic have long been modularized. That needs to continue and mature. I am not convinced that Java SE 9 will change much in this regard as OSGi has been already providing modularity in a much more powerful way for a while. That said, if Java SE 9 proves at least a somewhat effective alternative to OSGi, it may result in even more lightweight Java EE run-times. Once Java EE 8 is delivered, a natural focus for Java EE 9 is modularization to take advantage of already modular run-times.
The unhealthy and excessive influence that Sun had and Oracle has over Java definitely needs to change. The current problems are the result of this unhealthy influence.
I am not convinced that things like microservices and fat jars aren’t fads. In fact I fear they may be fads that backfire badly for most people in the way that CORBA and SOA did. For that reason, I think these concepts belong in products, not Java EE. In fact that is what things like WildFly Swarm, KumuluzEE and Payara Micro are doing. They are keeping Java EE APIs intact and using them to build fat jar and microservices solutions. If these things actually prove out to be more than fads, they can be brought into the standard in Java EE 9.
JAXenter: What are the next steps for the Guardians?
Reza Rahman: Honestly, the Java EE Guardians have already done a lot. On the advocacy end we are raising awareness, we are building support, we have launched our petition and we are evangelizing Java EE including Java EE 8. We are also doing our best to move Java EE 8 forward in the JCP and outside the JCP in open source where it is absolutely necessary.
The next move is actually for all the developers out there, Oracle and the major vendors.
Developers need to support us as strongly as possible. One extremely easy way to do that is to sign our petition. The stronger support we have, the more quickly we will be able to move things forward on all fronts. Power really does belong to the people, the user and the customer. This is especially true of Oracle customers. No one should underestimate the power of their own voice united with so many others.
Major vendors have honestly already done their part. They have publicly told Oracle the current situation needs to be solved and they have offered to fill in any gap Oracle is leaving behind. They are even seriously considering going outside the JCP if needed and creating a multi-vendor enterprise Java API without Oracle. I honestly don’t have much to ask them at the moment as long as they follow through with what they are saying and keep up the pressure on Oracle. I understand they don’t think it serves their business interests to officially back us. That’s fine. We can do what we need to do without their official support and work with them to move things forward anyway.
A lot of it is obviously up to Oracle. Oracle needs to tell us if we can rely on the company as a partner to move Java EE forward. If we don’t get a response in time or don’t get the response the community needs, it will be time to start seriously thinking about a multi-vendor enterprise Java option outside the JCP and without Oracle.
Our strategy forward will depend on what the other parts of this important equation do. The important part is to remain calm, persistent, professional, collaborative and keep moving forward together as a strong community.
Thank you very much!