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.


Find more interesting Java and Jakarta topics covered on my Youtube channel!


About Markus Karg

Java Guru with +30 years of experience in professional software development. I travelled the whole world of IT, starting from Sinclair's great ZX Spectrum 48K, Commodore's 4040, over S/370, PCs since legendary XT, CP/M, VM/ESA, DOS, Windows (remember 3.1?), OS/2 WARP, Linux to Android and iOS... and still coding is my passion, and Java is my favourite drug!
This entry was posted in Allgemein, Jakarta EE, Java, Open Source, Oracle, Politics, Programming, Standards and tagged , , . Bookmark the permalink.

35 Responses to Negotiations Failed: How Oracle killed Java EE.

  1. Pingback: Jakarta EE, javax, And A Week Of Turmoil - blog@CodeFX

  2. Pingback: Professional Development – 2019 – Week 19 – Geoff Mazeroff

  3. Pingback: Thanks for 111.000+ views! | Head Crashing Informatics

  4. Pingback: Oracle: Eclipse may not use Java EE trademarks | Myknowledgemark - The Trademark Place

  5. Pingback: Oracle: Eclipse can’t use Java EE trademarks – Trending Headline News

  6. What JavaEE classes exactly are you talking about?

    Random examples I looked at:

    http://github.com/javaee/servlet-spec/blob/master/src/main/java/javax/servlet/http/HttpServlet.java Licensed under the Apache License, Version 2.0

    http://github.com/javaee/javamail/blob/master/mail/src/main/java/com/sun/mail/auth/OAuth2SaslClient.java GNU General Public License Version 2 only

    http://github.com/javaee/javax.ejb/blob/master/src/main/java/javax/ejb/EJB.java GNU
    General Public License Version 2 only

    What’s the problem with modifying and redistributing these files under the same licenses they currently have?

    Like

  7. Pingback: Oracle: Eclipse can't use Java EE trademarks

  8. Pingback: Oracle: Eclipse may not use Java EE trademarks – Data Science Tutor

  9. Pingback: Oracle: Eclipse may not use Java EE trademarks - Texas Network Solutions LLP

  10. Pingback: Oracle: Eclipse may not use Java EE trademarks

  11. Kinda stupid question: Does this affect OpenJDK in any way? Does this mean not even OpenJDK could use the javax* namespace?

    Liked by 1 person

  12. Is updating jax-rs packages to something like jakarta-rs really that bad? Of course slow big companies with legacy systems in big companies might not refactor their code. Development might actually speed up without Oracle.

    Like

    • Markus Karg says:

      Keep in mind that there are lots of dependencies that are only slowly (or possible never) updated. You might not only need to recompile your app, but actually rewrite it in part. Given the fact that banks and insurances run lots of Java EE apps, we talk about months to “fix” that.

      Like

  13. Pingback: Negotiations Failed: How Oracle Killed Java EE | toppertrick

  14. In my option at some point of negociation Oracle thought: “Who uses Jave EE? All big customers! Why should we discard such a profitable product?” As the Eclipse Foundation refused to work exclusively for Oracle, Oracle will continue to maintain the JEE and clients as hostages.

    Liked by 3 people

  15. Pingback: Negotiations Failed: How Oracle Killed Java EE – Infinity News

  16. Are we only talking about Glassfish? Are we talking about the JEE Standard itself? Will this also affect all open source Servlet engines, like TOMCAT and Jetty? If that is the case, then this would be devestating.

    Like

    • Markus Karg says:

      Renaming the packages of APIs or else not extending them will effectively kill the future of all implementations, not just GlassFish.

      Like

      • What does renaming entail, Markus. Renaming packages or are we talking about the signatures for example?

        Like

      • Markus Karg says:

        All occurences of the word “Java” (or any word having “Java” in it or having the letter “J” in an abbreviation where it stands for “Java”) must be renamed: Package names, specification names, etc.

        Like

  17. Bob Kerns says:

    You know, it’s possible to write classloaders to remap package names. With a bit of a shim from OSGI, I think you could make it pretty transparent to the user. The user could write to the javax spec. The loader would essentially be a load-time translator. It would not provide the proprietary API to the user code; it would instead REMOVE AND REPLACE the proprietary API from the compiled bytecode.

    Like

    • Markus Karg says:

      This would work only if nobody ever adds new interfaces or more methods and parameters to existing ones, because the application needs to compile agains an interface-only API jar in the original javax namespace, which must not get produced due to Oracle’s trademark restrictions. If the trick shall be used even in the compile (not the runtime) phase, you need to recompile the application so it explicitly loads the classloader, which still means, Java EE is dead, as existing software fails to run unchanged. Anyways in the “unchanged” case, Oracle allows to keep the javax namespace anyways, so the trick is not needed. The result still would be that Java EE is dead, as nobody could add new features.

      Like

  18. Lukasz Ronikier says:

    Hopefully we’ll see the end of Oracle one day …

    Like

  19. drorharari says:

    This case is a clear example of why the SCOTUS must take Google’s appeal over the decision about Oracle’s copyrighted Java language interfaces. It this dispute is resolved against Oracle, the Java EE may be much simpler to resolve (e.g. on the grounds of interchangeability)

    Liked by 1 person

  20. Raul Silva says:

    That is why a really hated Oracle.

    Like

  21. ravikantshukla5 says:

    The day is not for when Oracle will feel heat… As it already in DB business.

    Like

  22. gilstrac says:

    This does not surprise mw in the slightest. It was just a matter of time. Oracle is bad for innovation and the industry.

    Liked by 1 person

  23. John M. Yount says:

    Holy $#%&^!! What does this mean for all of us independent developers that rely on Java EE and Eclipse for our livelihoods? What will this mean for our customers? I’m right in the middle of a 2-year project for a customer. Now what?

    Like

  24. Rajesh Venkataramani says:

    Really Sad. Oracle is becoming too hostile. Hope Eclispe survives this, it has such a great following among the Developer Community.

    Like

  25. I guess OSS commuties will switch to Go/Python/NodeJS/PHP but no longer Java EE. Oracle is too thirsted for short-term money income & it will be swept out of history, finally

    Liked by 1 person

  26. Pingback: Negotiations Failed: How Oracle killed Java EE. – Head Crashing Informatics – The Library 6.0

  27. Pingback: === popurls.com === popular today

  28. Pingback: Negotiations Failed: How Oracle Killed Java EE | My Tech Blog

Comments are closed.