Negotiations Failed: How Oracle killed Java EE.

Today Eclipse Foundation’s president Mike Milinkovic blogged about the final result of the confidential trademark negotiations between Oracle and the Eclipse Foundation. As we remember, Oracle announced that Java EE will be open sourced to that organization and it would become true open source. After 18 months of intensive negotiations the effort has come to an end: It failed. There will be no trademark agreement.

The reason simply spoken is, according to the recent board meeting minutes, that Oracle wanted to have in turn a set of inacceptable demands. Some of them would put the existence of the Eclipse Foundation at severe risk. Oracle claimed that products distributed by the Eclipse Foundation (like the Eclipse IDE) must only be bundled with Java runtimes certified particularly by Oracle and its licencees — not any other vendor’s certification and not any uncertified runtime. Hence, the IDE and GlassFish wouldn’t be vendor-neutral products anymore. This restriction was not told at the start of the negotations, it was introduced much later, while the transfer was already in progress. One could assume that it was a reaction upon the donation of IBM’s OpenJ9 JVM, which is a clear threat to Oracle’s Java business. But once Eclipse products would be not vendor-neutral anymore, the EF’s tax exemption might become void, which would mean a financial fiasco, or possibly mean the end of the organization as a hole. Hence, it not only was inacceptable, but it was simply impossible to agree to Oracle’s requests, so the negotiations more or less completely failed.

What is left over is not more but also not less the end of Java EE. The Eclipse Foundation may use some rather outdated code, but must not modify it. If it gets modified, it must be renamed – both, the project name (like JAX-RS, which is not nice but acceptable) but also the package name (like javax.*), which means, existing applications will not run on the updated platform without recompilation of the application after intensive refactoring. Hence, it will become a completely new and incompatible platform, the worst case possible, as it not only voids the “WORA” (Write Once Run Anywhere) principle, it simply won’t happen in reality: After 18 months virtually no application vendor really wants to spend the time and money to update all customers with recompiled versions just for the sake of a renamed platform with a dubios future. The future is unclear because Oracle already started a blocking politics at the Eclipse Foundation’s board, where Oracle has a seat, and where unanimous decisions are needed. Oracle now has the power, and apparently will use that power, to block the foundation’s future. It demonstrated that power already in a board meeting, where they had the sole vote against an otherwise unaimous move.

The current reaction of the Eclipse Foundation is to demonstrate success to rescue at least some value of the intensively marketed Jakarta trademark. But at what price? For what keeping a trademark that became an empty hull now? It now is not the successor of Java EE as a global standard anymore, it is just some framework made by some foundation, and users eventually will learn and draw conclusions. Currently plans have intensivated to rename everything ASAP. But who will actually jump on that train, when it implies changing all existing applications? Eclipse’s Mike Milinkovic still sees the future bright. For me, the glass is not just half-empty anymore: Today it cracked into pieces. This is the day when Java EE was killed by Oracle.

Posted in Allgemein, Jakarta EE, Java, Open Source, Oracle, Politics, Programming, Standards | Tagged , , | 29 Comments

JAX-RS 2.1.4 Available on Maven Central

The JAX-RS Committers are happy to announce that JAX-RS 2.1.4 is available on Maven Central! Ontop of 2.1.3 it provides additional fixes to the OSGi manifest and previously missing legal files. The full list of changes can be found on Github.

Posted in Jakarta EE, Java, Open Source, Programming, Standards | Tagged

EclipseCon Video on JAX-RS @ Eclipse

In you missed my ECE2018 talk with Kevin Sutter on JAX-RS @ Eclipse: Here is the Video footage.

Aside | Posted on by | Tagged

JAX-RS 2.1.3 Available on Maven Central

The JAX-RS Committers are happy to announce that JAX-RS 2.1.3 is available on Maven Central! Ontop of 2.1.2 it provides fixes to the OSGi manifest and now uses “Jakarta” branded dependencies, not “javax” anymore. The full list of changes can be found on Github.

Aside | Posted on by | Tagged

JAX-RS 2.1.2 Available on Maven Central

After being the first pushing a non-Oracle JAX-RS release on Maven Central, again we (i. e. the committers of Eclipse Project for JAX-RS) set the pace: I just uploaded JAX-RS 2.1.2 to Maven Central, which provides us two new world records. Not only have we been the first team pushing their own first service release to Maven Central (at least IIUC), apparently we are the first team pushing the very first artifact to Maven Central at all using the new group ID prefix jakarta.

After this marketing-triggered service release, our work concentrates on JAX-RS 2.2 now, and in the long term, on JAX-RS 3.0 which we want to publish in 2019.

If you are interested in more about the recent releases and upcoming features, listen to my talks at EclipseCon Europe 2018 and JavaLand 2019.

Aside | Posted on by | Tagged , , ,

JAX-RS Build Pipeline Webcast

This week I explained the JAX-RS Build Pipeline in a Web Cast hosted by Ed and Dmitry. If you missed it, you can watch the recording on YouTube

Aside | Posted on by | Tagged , , ,

JAX-RS 2.1.1 Available on Maven Central

I am very proud to announce that I just pressed the button: JAX-RS 2.1.1 was released by the committers of the Eclipse Project for JAX-RS and now is available on Maven Central. While this is just a collection of small bug fixes, it is a huge step for the community, as this is the first release of Java’s REST API under the auspices of the Eclipse Foundation, and the very first JAX-RS release technically performed by a non-Oracle committer. This proofs community is in control and able to deliver! Can’t wait to see which other EE4J subproject is next!

If you are interested in our next steps, follow my blog. BTW, if you have questions on JAX-RS 2.1.1 or the future, just use the comments function to ask!

Aside | Posted on by | Tagged ,