Tue. Jun 2nd, 2020

Negotiation failed: Oracle kills Java EE

3 min read

Mike Milinkovich, executive director of the Eclipse Foundation, published in his blog the results of the Java trademark negotiations between Oracle and the Eclipse Foundation – the negotiations between the two parties ended in failure and Oracle refused to sell the Java trademark.

Mike also mentioned in the blog the latest developments in the Jakarta EE, the Java trademark, and the use of the javax namespace between the Eclipse Foundation and Oracle.

In 2017, Oracle announced the open source Java EE and handed over the project to the Eclipse Foundation, which took over the management and development of Java EE. Oracle re-authorizes its leading Java EE technology and related GlassFish technologies to the Eclipse Foundation, including reference implementations, Technology Compatibility Toolkits (TCKs), and related project documentation, and hopes to be open source projects through the Eclipse Foundation. Extensive experience in governance, Java EE, and related technologies brings Java EE to a better future.

Mike Milinkovich, executive director of the Eclipse Foundation, was also optimistic about the move, saying that this is what Java EE needs and what the community has always wanted to see.

When it was just announced that Java EE was handed over to the Eclipse Foundation, Oracle asked for a new brand name for the platform. After all, Java is a trademark of Oracle and belongs to Oracle’s property, so the Eclipse Foundation cannot continue to use Java EE. Finally, the enterprise Java platform was renamed Jakarta EE. Although during this period, there are suggestions from the outside world that Oracle agrees that the Eclipse Foundation will continue to use Java EE. They think that the renaming from J2EE to Java EE and now Java EE will be used for a long time. It caused trouble and caused confusion in the market.

The Eclipse Foundation accepted the fact that Java EE was renamed Jakarta EE. But during the transition, Oracle made a series of unacceptable requirements from the Eclipse Foundation, such as:

  1. The javax package namespace may be used within Jakarta EE specifications but may be used “as is” only.  No modification to the javax package namespace is permitted within Jakarta EE component specifications. Jakarta EE specifications that continue to use the javax package namespace must remain TCK compatible with the corresponding Java EE specifications.
  2. Jakarta EE component specifications using the javax package namespace may be omitted entirely from future Jakarta EE Platform specifications.
  3. Specification names must be changed from a “Java EE” naming convention to a “Jakarta EE” naming convention.  This includes acronyms such as EJB, JPA or JAX-RS.

After many months of friendly negotiations, the Eclipse Foundation and Oracle were unable to agree on modifying the javax package namespace and the terms of the Java trademark agreement that was used in the previous Java EE specification.

The final consensus was that Jakarta EE could not release a modification package for the base library javax, nor could the Jakarta EE specification use an existing canonical name that includes the Java trademark.

Due to the complexity and confidentiality of the negotiations, both the Eclipse Foundation and Oracle agreed not to disclose the reasons for the outcome of the negotiations. However, there is news that Oracle has used its seat on the board to intervene in decision-making.

For a series of requirements from Oracle, the Eclipse Foundation chose to compromise on some of them. Even so, if Jakarta EE is unable to provide backward compatibility and is subject to Oracle’s requirements, then Java EE has actually been sentenced to death by Oracle.