The migration of Java EE (Enterprise Edition) to the Eclipse Foundation has hit some glitches, with Oracle not permitting Java specification trademarks to be used by the foundation. Nevertheless, Eclipse executive director Mike Milinkovich is adamant that Java EE is not dead and Oracle has not killed it, as one blog suggested.
Following many months of “good faith” negotiations, the foundation and Oracle, which has been in charge of Java EE, have been unable to agree on terms to use Java trademarks currently used by Java EE specifications or to modify the javax package namespace, a bulletin late last week said. Oracle’s Java trademarks are the company’s property and Eclipse has no rights to use them. Milinkovich cited the implications for the Eclipse Foundation’s Jakarta EE enterprise Java implementation:
- Jakarta EE component specifications using the javax package namespace may be omitted completely from future Jakarta EE platform specifications.
- The javax package namespace may be used within Jakarta EE specifications but may be used “as is” only. No modifications are permitted. Jakarta EE specifications continuing to use the javax package namespace must remain TCK (technology compatibility kit) compatible with corresponding Java EE specifications.
- Any specifications using the javax namespace will continue to have the same Java EE container and certification requirements as before. Implementations claiming compliance with any versions of Jakarta EE specifications using the javax namespace must test on and distribute containers that embed certified Java SE (Standard Edition) implementations licensed by Oracle.
- Specifications must be changed from a “Java EE” naming convention to “Jakarta EE” convention, including acronyms such as EJB (Enterprise JavaBeans), JPA (Java Persistence API), and JAX-RS (Java API for RESTful Web Services).
Asked about potential platform incompatibilities arising as a result of the disagreement with Oracle, Minkovich said solutions to these technical issues need to be developed. The Jakarta EE working group will kick off those discussions with the community this week. For example, binary compatibility could be achieved and offered by implementations via tooling that performs bytecode modification at build time, deploy time, or runtime.
Milinkovich anticipates that future work on Java EE will not use the javax namespace but rather a new namespace such as jakarta. Despite the setbacks, work will continue on moving Java EE to Eclipse. Milinkovich noted there has been progress in moving Java EE to Oracle, such as Oracle contributing the GlassFish application server, which has served as a Java EE reference implementation, to Eclipse. Ratified Jakarta specifications will be available under the Eclipse license. Work continues on delivering a release of Jakarta EE 8 later this year. Beyond Jakarta EE 8, Jakarta EE 9 is planned.
Oracle said it remains committed to working with the Jakarta EE working group and Jakarta EE specification process to create the Jakarta EE platform. But the company acknowledged it could not come to an agreement on trademarks and use of javax. Eclipse inherited development of enterprise Java from Oracle in September 2017.