The agreement between the Eclipse Foundation and Oracle regarding rights to Java trademarks has been signed! This is truly an important milestone for Jakarta EE since we will now be able to move forward with Jakarta EE.
As outlined in https://eclipse-foundation.blog/jakarta-ee-java-trademarks, there are two major areas of impact on the Jakarta EE projects:
- Java Trademarks
- The
javax.*
Namespace
Java Trademarks
One part of the agreement is regarding the use of Java trademarks. The implications for Jakarta EE is that we have to rename the specifications and the specification projects. This work is ongoing and is tracked in our specification renaming board on GitHub. The EE4J PMC has published the following Naming Standard for Jakarta EE Specifications in order to comply with the trademark agreement.
The javax
Namespace
The major topic of the agreement is around the use of the javax
namespace. The agreement permits Jakarta EE specifications to use the javax
namespace as is only. Changes to the API must be made in another namespace.
While the name changes can be considered cosmetic changes, the restrictions on the use of the javax.*
namespace come with some technical challenges. For example, how are we going to preserve backwards compatibility for applications written using the javax.*
namespace?
The Jakarta EE Specifications Committee has come up with the following guiding principle for Jakarta EE.next:
Maximize compatibility with Jakarta EE 8 for future versions without stifling innovation.
With the restrictions on the use of the javax.*
namespace, it is necessary to transition the Jakarta EE specifications to a new namespace. The Jakarta EE Specification Committee has decided that the new namespace will be jakarta.*
.
How and when this transition should happen is now the primary decision for the Jakarta EE community to make. There are several possible ways forward and the forum for these discussions is the Jakarta EE Platform mailing list.
Mailing List: jakartaee-platform-dev@eclipse.org
Please make sure that you subscribe to the mailing list and join in on the discussion. We hope that we will be able to reach some form of consensus within a month that can be presented to the Specification Committee for approval.
An Opportunity
While the restrictions on the use of Java trademarks and the javax.*
namespace impose both practical as well as technical challenges, it is also an opportunity to perform some housekeeping.
By renaming the specifications, we can get a uniform, homogeneous naming structure for the specifications that makes more sense and is easier on the tongue than the existing. By having clear and concise names, we may even get rid of the need for abbreviations and acronyms.
The shift from javax.*
to jakarta.*
opens up for the possibility to differentiate the stable (or legacy) specifications that have played their role from the ones currently being developed.