Oracle: Eclipse ne peut pas utiliser les marques Java EE

La migration de Java EE (Enterprise Edition) vers la Fondation Eclipse a rencontré quelques problèmes, Oracle n'autorisant pas l'utilisation des marques de spécification Java par la fondation. Néanmoins, le directeur exécutif d'Eclipse, Mike Milinkovich, est catégorique sur le fait que Java EE n'est pas mort et qu'Oracle ne l'a pas tué, comme l'a suggéré un blog.

Après plusieurs mois de négociations de «bonne foi», la fondation et Oracle, qui était en charge de Java EE, n'ont pas été en mesure de s'entendre sur les conditions d'utilisation des marques Java actuellement utilisées par les spécifications Java EE ou de modifier l'espace de noms du package javax, un bulletin à la fin de la semaine dernière. Les marques Java d'Oracle sont la propriété de la société et Eclipse n'a aucun droit de les utiliser. Milinkovich a cité les implications pour l'implémentation Java d'entreprise Jakarta EE de la Fondation Eclipse:

  • Les spécifications des composants Jakarta EE utilisant l'espace de nom du package javax peuvent être complètement omises des futures spécifications de la plate-forme Jakarta EE.
  • L'espace de noms du package javax peut être utilisé dans les spécifications Jakarta EE mais peut être utilisé uniquement «tel quel». Aucune modification n'est autorisée. Les spécifications Jakarta EE qui continuent d'utiliser l'espace de noms du package javax doivent rester compatibles TCK (kit de compatibilité technologique) avec les spécifications Java EE correspondantes.
  • Toutes les spécifications utilisant l'espace de noms javax continueront d'avoir les mêmes exigences de conteneur et de certification Java EE qu'auparavant. Les implémentations revendiquant la conformité avec toutes les versions des spécifications Jakarta EE utilisant l'espace de noms javax doivent tester et distribuer des conteneurs qui intègrent des implémentations certifiées Java SE (Standard Edition) sous licence Oracle.
  • Les spécifications doivent passer d'une convention de dénomination «Java EE» à une convention «Jakarta EE», y compris des acronymes tels que EJB (Enterprise JavaBeans), JPA (Java Persistence API) et JAX-RS (Java API for RESTful Web Services).

Interrogé sur les incompatibilités potentielles de plate-forme résultant du désaccord avec Oracle, Minkovich a déclaré que des solutions à ces problèmes techniques devaient être développées. Le groupe de travail Jakarta EE lancera ces discussions avec la communauté cette semaine. Par exemple, la compatibilité binaire pourrait être obtenue et offerte par des implémentations via des outils qui effectuent une modification de bytecode au moment de la construction, du déploiement ou de l'exécution.

Milinkovich prévoit que les travaux futurs sur Java EE n'utiliseront pas l'espace de noms javax mais plutôt un nouvel espace de noms tel que jakarta. Malgré les revers, les travaux se poursuivront pour déplacer Java EE vers Eclipse. Milinkovich a noté qu'il y avait eu des progrès dans le transfert de Java EE vers Oracle, comme Oracle contribuant au serveur d'applications GlassFish, qui a servi d'implémentation de référence Java EE, à Eclipse. Les spécifications Jakarta ratifiées seront disponibles sous la licence Eclipse. Le travail se poursuit sur la livraison d'une version de Jakarta EE 8 plus tard cette année. Au-delà de Jakarta EE 8, Jakarta EE 9 est prévu.

Oracle a déclaré qu'il restait déterminé à travailler avec le groupe de travail Jakarta EE et le processus de spécification Jakarta EE pour créer la plate-forme Jakarta EE. Mais la société a reconnu qu'elle ne pouvait pas parvenir à un accord sur les marques et l'utilisation de javax. Eclipse a hérité du développement du Java d'entreprise d'Oracle en septembre 2017.