The Java EE Guardians have noted with great excitement the final agreement between Oracle and the Eclipse Foundation to move forward Jakarta EE. Eclipse Foundation Executive Director Mike Milinkovich covers the agreement and its objective implications well. He also does a good job outlining current Jakarta EE working group consensus and a high-level view of what is likely to come.
The completion of the agreement opens the door for further critical matters yet to be determined through broad consensus but also establishes some important facts. This is certainly a point that necessitates noting some important observations with regards to advancing the best interests of the Java EE community.
One of the critical decisions that need to be made prior to moving forward is how to proceed with the transition from the javax.* namespace. The Java EE Guardians agree with the consensus of many in the community, as there is a broad desire to move everything to the jakarta.* namespace at once, rather than taking an incremental approach. The Java EE Guardians encourage the community and the Eclipse Foundation to focus on getting a clear consensus about this quickly so that Jakarta EE can confidently evolve with no more delays.
What the Agreement Accomplishes
The reality is that the nature of Java EE and Java as a technology virtually ensures the transfer process would have never fully satisfied everyone all the time. Nevertheless, it is hard not to appreciate the lengthy, complex and undoubtedly sometimes intense effort in reaching the final agreement on the part of both the people at the Eclipse Foundation and Oracle.
In the end Jakarta EE will unfortunately need to stay clear of the Java moniker and further evolution of the APIs cannot take place under the javax* package. However, Jakarta EE will be able to use the Java EE APIs and javax* package as-is and be able to evolve the technology forward under the jakarta* package. This will provide a path forward to further evolve widely relied upon Java EE APIs such as Servlet, JPA, JAX-RS, WebSocket, JMS and so many others. It can also be objectively said the transition from Java EE to Jakarta EE represents one the largest and perhaps most significant technology stewardship transfers ever attempted. This includes not just the agreement but the source code transfer of the Java EE compatibility test kit (TCK) as well as the reference implementation GlassFish.
Where Further Consensus is Needed
The Jakarta EE transfer signifies both great potential and great risk. With the agreement settling some important uncertainties that have been in play for some time, the community must now answer some important questions correctly and in a timely manner.
- How quickly should Jakarta EE put the javax* package behind it and how will the transition process look like? Should javax* be gradually replaced by jakarta* or should it be a one-time, immediate transition?
- What are the likely contents of Jakarta EE 9 and beyond? Should it be a relatively modest release made available sooner or a more ambitious release beyond 2020?
- What is the long- and short-term Jakarta EE alignment with MicroProfile? Which parts of MicroProfile are stable enough to go through a process with clear IP flow to a vendor neutral body, clear participation/consensus rules and rigorous transparency/openness requirements? Which parts of MicroProfile need to forego a more formalized process in order to innovate faster? Does Jakarta EE need a more informal incubation process that does not emphasize microservices in particular but focuses on server-side and cloud needs more generally?
The answers to these questions and the successful execution of the answers will be key to the success of Jakarta EE in meeting community needs. At the bare minimum, these questions must be explored in an open, collaborative and transparent fashion unlike the process of reaching the agreement between Oracle and the Eclipse Foundation where some degree of confidentiality was unavoidable. Indeed, answering these questions requires more than simply a commitment to largely post-hoc transparency within the Jakarta EE working group members.
Listening to the Community
One of the key principles behind the formation of the Java EE Guardians is that Jakarta EE needs to be driven by the needs of the community and the community should actively engage in all parts of the process in developing the technology. Key decision making should focus on who ultimately really matters most – the end user of Jakarta EE. That is definitely the case for the key questions the Jakarta EE effort must now answer.
The Eclipse Foundation has actually already demonstrated it can apply a highly user opinion driven approach to Jakarta EE. Indeed, the name Jakarta EE itself was chosen in a process that emphasized broad participation, user focus and data. The same can be said of the process to choose the Jakarta EE logo. Another encouraging artifact along these same lines are the Jakarta EE surveys the Eclipse Foundation conducted. Indeed prior to Jakarta EE, surveys were used to inform the initial and final scope of Java EE 8.
The Java EE Guardians believe the same open process and spirit can be driven by the Eclipse Foundation to answer the key questions that face the Jakarta EE decision makers today. The Java EE Guardians would gladly volunteer to help drive such an effort. At the current time, the Java EE Guardians have observed that there is a broad desire to move to the jakarta* package scheme as soon as possible as well as strongly align Jakarta EE and MicroProfile, perhaps even merging the projects as soon as is viable.
In the meanwhile, the Java EE Guardians strongly encourage the community to voice its opinion immediately on all these matters on this thread.
The Java EE Guardians are optimistic that a legal framework has finally been agreed upon to move Java EE forward. It is now truly the time to listen to the community and the community to engage wholeheartedly. Indeed the Java EE Guardians will consider renaming themselves to the Jakarta EE Guardians to signify and fully support this bright new chapter for the community and industry.