En septembre 2017, Oracle se défaisait de Java EE et cédait l’intégralité du projet à la Fondation Eclipse sous le nom "Eclipse Enterprise for Java" ou EE4J. En février 2018, La Fondation Eclipse indiquait que Java EE prendrait désormais le nouveau nom de Jakarta EE étant donné qu'Oracle possède la marque déposée "Java". Jakarta EE est un projet communautaire guidé par les membres du comité EE4J.
Le 3 mai dernier, Mike Milinkovich, directeur exécutif de la Fondation Eclipse, postait une mise à jour de la migration de Java EE vers le nouveau Jakarta EE. Un des soucis de la migration concerne la négociation avec Oracle sur l'utilisation du package "javax" et de ses sous-packages ainsi que sur l'utilisation commerciale du mot "Java". Malgré plusieurs mois de négociations en bons termes entre les deux parties, le dialogue entre Oracle et la Fondation Apache a échoué et il en ressort que la Fondation Eclipse ne peut transposer ce package dans Jakarta EE puisque Oracle possède toujours la marque déposée Java. La Fondation Eclipse ne peut pas non plus utiliser le mot ou le logo Java dans les produits et dénominations commerciales tournant autours de Jakarta EE.
Les implications de cette décision sont multiples au niveau de Jakarta EE :
- Jakarta EE 8 se doit de conserver ces espaces de nommage pour rester compatible avec Java EE 8 ;
- cependant, aucune nouvelle modification de ces espaces de nommage et de leur contenu ne peut intervenir ;
- les ajouts et modifications à venir devront se faire dans un nouvel espace de nommage qui est encore à définir ; par exemple "jakarta" même si le choix n'a pas encore été fait ;
- les versions ultérieures de Jakarta EE pourront être amenées à abandonner des packages "javax" au fur et à mesure qu'ils sont remplacés par de nouvelles spécifications et API. Les versions futures de Jakarta EE seront donc amenées à s’éloigner de plus en plus de Java EE jusqu’à s'en détacher complètement ;
- toute évocation de Java EE, de même que les références à EJB (Enterprise Java Beans), JPA (Java Persistence API) ou JAX-RS (Java API for RESTful Web Services) devront être modifiées de par leur usage de la marque déposée "Java" ;
- le projet EE4J devrait être renommé pour la même raison. Les noms et logos associés restent encore à être déterminés par la communauté impliquée dans ce projet.
Les implications seront encore plus importantes pour les milliers d'applications et web-services construits sur Java EE. La Fondation Eclipse a comme ligne directrice de rendre le futur Jakarta EE 9 pleinement compatible avec Jakarta EE 8 (et donc Java EE 8) en introduisant un système permettant la rétrocompatibilité. Cependant les migrations vers les versions ultérieures de Jakarta EE pourront ne pas s’avérer évidentes sans modification importante du code pour se détacher complètement de la vieille couche Java EE.
Sources :
- blog de Mike Milinkovich, directeur exécutif de la Fondation Eclipse ;
- Blog de Dmitry Kornilov, manager senior du développement logiciel chez Oracle et membre du comité Eclipse EE4J.