The announcement that the Java EE projects would be open-sourced completely came about a year ago now, meaning the Java (EE) community would receive control over it.
Shortly after that initial announcement, the message was sent out into the world that the code would be hosted by the Eclipse Foundation, a non-profit organization. The Eclipse Foundation is home to the Eclipse IDE along with more than 300 open source projects ranging from IoT, Automotive, GeoSpatial, and more.
Many people felt the migration process was too slow. But if you can imagine the massive amount of work which needs to be performed to prepare all the code, verify the Intellectual Property, transfer code and issues to new repositories, setup CI/CD infrastructure, set up governance structures, among other tasks - can we really complain?!
After all, the transfer from Java EE to Jakarta EE is probably the largest move of code in history.
And now we are in the stage that we can start to see the results of this work.
After all that preparation, the first framework got released on October 7, 2018, to Maven Central.
JAX-RS was the first framework of the Java EE family for which the code is transferred to a GIT repository of Eclipse Foundation. Afterward, they served as the guinea pig for the processes and the setup of all the tools.
The releases of the following projects will now follow each other quickly.
The code which is released is identical to the one which was maintained by the JCP. Besides a few minor specification clarifications, only the Maven artifact identification is changed to Jakarta.
After all, it is no longer an extension of the regular Java (the Java package name) but now it's an independent standard.
Why Isn't There Anything New?
Besides the fact that a lot of people found the migration process to slow, they also criticized the fact that there would be no new features in the Jakarta release.
And although their remark is valid, it is also understandable why there is only a migration performed during this first phase.
When you can focus on one thing, you can completely focus on this task and ensure it is done well. You are not distracted by the new features which have their own complications, such as legal aspects. Once the existing has been migrated, then the focus can be placed on considering new features.
In addition to transferring the individual projects like JAX-RS with the API, Reference implementation and specification documentations the GlassFish code has also been transferred.
The specifications on their own are of course important because they can be (and are) used outside the Java EE and Jakarta EE space.
But with GlassFish, you can see all of these technologies combined into a product. You can experience the synergy between the individual frameworks and how they become more when they are combined.
The importance of the GlassFish server has diminished over the years, but for testing the specifications it can still be important. You can easily change or update the implementation of a framework and see the effect.
And after all, GlassFish was the first Java EE application server and the ancestor of most all application servers today.
This is especially true for Payara Server which is based on the GlassFish implementation, but has now many unique features and a full suite of support solutions on top of the standard.
So, do you want to try out the Jakarta EE application server? Head over to the Jenkins server of Eclipse and download the latest nightly build.
I did the same thing today, I downloaded and installed a simple test app and all seemed well.
Of course, the release isn’t final yet, so if you want to help or want to report an issue, head over to the Git repository and start playing with it.
Help Keep Jakarta EE Great
Individual projects like JAX-RS, with their API, implementations, and specifications, have migrated to the Eclipse Foundation. In addition, all the code for building the GlassFish Application server is now under the wings of the Eclipse Foundation and the community. And also important, the TCK has been transferred which allows us to verify the build and define GlassFish (or the other Application Servers) as a certified server.
Go to the nightly build jobs on the Jenkins server and give it a try. And help us, and the rest of the Java Community, keep Jakarta EE great.