
Gorodenkoff - stock.adobe.com
Canonical infuse le support à long terme d’OpenJDK dans Ubuntu
Canonical se lance dans le support à long terme de l’OpenJDK et proposera ses propres builds du framework Java conçues pour s’exécuter sur sa distribution de Linux.
En ce début de mois de juillet, Canonical, éditeur de la distribution Linux Ubuntu, a annoncé une extension de ses investissements dans la prise en charge de l’OpenJDK.
Canonical s’assurait déjà que le projet open source propulsant de nombreuses versions commerciales du framework Java, dont Java SE d’Oracle et Azul Core Platform, fonctionne correctement et sans faille de sécurité sur son OS.
Il proposait déjà un package OpenJDK conforme aux standards FIPS. Désormais, il s’engage à une prise en charge jusqu’à 12 ans de support à long terme (principalement pour les mises à jour de sécurité) de l’OpenJDK 8, 11, 17 et 21 quand ces versions majeures sont déployées sur Ubuntu 18.04, 20.4, 22.04 et 24.04 de son OS.
Jusqu’à douze ans de support
Java 8 sera prise en charge « au moins jusqu’en 2034 », soit « huit ans de plus que Red Hat et quatre ans de plus qu’Azul Zulu », dixit Canonical. Et de justifier cette décision par les données d’un rapport datant de 2023 posté par New Relic qui expliquait que cette version de Java représentait encore 33 % des déploiements en production. Le rapport de l’année suivant évoque une légère baisse de cette proportion à 28,8 % en 2024, selon le spécialiste de l’observabilité.
Cet engagement est fonction d’un abonnement à Ubuntu Pro, de 25 à 300 dollars par station de travail par an et de 500 à 3400 dollars par serveur par an suivant le niveau d’assistance choisie. Canonical n’explique pas si les clients ayant déjà souscrit à cette offre pro bénéficient du support étendu pour Java. Pour rappel, Java SE est facturé à partir de 15 dollars par employé par mois (y compris les externes) et 300 dollars par mois par cœur de processeur (ou 2vCPU pour les serveurs Oracle). Les tarifs modifiés en 2019 et 2023 sont dégressifs.
En tout cas, les nouvelles versions d’Ubuntu à partir de la 24.04 s’accompagneront des versions LTS et Non LTS de l’OpenJDK.
Ce n’est pas tout. Canonical propose des versions « chiselisées » de « l’OpenJRE », l’environnement d’exécution Java basé sur la fameuse Java Virtual Machine disponible dans OpenJDK 8, 17 et 21.
Chisel est un outil open source développé par Canonical pour réduire l’empreinte de packages Debian. Ici, l’éditeur s’en sert pour créer des images de conteneurs d’une version ouverte du Java Runtime Environnement qui serait environ 50 % plus petites que celles des binaires d’Eclipse Temurin pour AMD64 et ARM64, le projet maintenu par la fondation Eclipse.
CraC, GraalVM, Spring Boot : Canonical mise sur les outils populaires de l’écosystème Java
Aussi, Canonical adapte les projets GraalVM et CRaC (Coordinated Restore at Checkpoint) à son contexte. Pour rappel, GraalVM est une machine virtuelle « polyglotte » censée accélérer les temps de compilation à l’exécution, donc le démarrage des applications et leur empreinte mémoire. CraC permet, lui, d’ajouter un point de restauration de l’application sur disque, checkpoint servant à précharger l’application ou à la restaurer plus rapidement.
Canonical propose une version communautaire de GraalVM au format Snap pour le JDK21 sur Ubuntu 24.04. Le paquet faciliterait l’utilisation de la VM polyglotte pour les développeurs. Quant à CraC, il sera supporté pour un minimum de dix ans avec la souscription pro à partir d’Ubuntu 26.04, prochaine version LTS de la distribution Linux de Canonical.
Selon les tests présentés par un ingénieur de Mirakl lors du salon Devoxx, les deux technologies sont efficaces, mais GraalVM est limité dans sa version communautaire. La technologie reste en grande partie aux mains d’Oracle.
Canonical s’est également rapproché de la fondation Eclipse pour s’assurer de la compatibilité technologique et de la sécurité de ses builds de l’OpenJDK avec les instructions AMD64, ARM64, s390x (IBM Z), Ppc64el (IBM Power) et RISC-V. Cette mesure de compatibilité a été faite avec Eclipse AQAvit.
En dehors d’Ubuntu Pro et des builds supportées, Canonical a également renforcé la prise en charge du framework Spring Boot, une technologie open source axée sur Java et portée par VMware Tanzu. Canonical mise pour cela sur Rockraft, un IDE permettant de créer des images de conteneurs OCI spécifiques à Ubuntu (nommées rocks), et sur Pebble, un gestionnaire de service pour Linux. Ici s’agit encore de réduire la taille des « parties inusitées du JDK » afin d’exécuter les applications Spring de manière plus efficiente.
Malgré la perte de vitesse de Java SE, Oracle reste droit dans ses bottes
Reste à savoir si cette offre prendra auprès des entreprises. Toujours selon le « State of Java Ecosystem 2024 » de New Relic, 20,8 % des applications Java observées utilisaient Java SE (en baisse de 8 % par rapport à 2023) et 17,8 % s’appuie sur Coretto, le framework d’Amazon. Canonical a peut-être une chance : ses builds semblent proches d’Adoptium. Le framework de la fondation Eclipse bénéficiait de la plus forte adoption l’année dernière.
Interrogé en mai dernier par LeMagIT concernant la montée en puissance de ces offres concurrentes à Java SE, Bernard Traversat, vice-président de l’ingénierie de Java SE chez Oracle, s’est montré très peu impressionné.
« En matière de support, les discussions sont simples. Les gens reconnaissent que nous avons davantage de connaissances et d’expérience pour les aider à résoudre les problèmes ou migrer de Java 8 ou 11 vers Java 21 », affirmait-il.
Oracle reste le contributeur principal de l’OpenJDK, loin devant Red Hat, SAP, Amazon, ARM, Tencent, Google, Alibaba, Intel, IBM ou Microsoft.
« Quand vous souscrivez une assurance pour votre voiture, soit vous optez pour un service de qualité, soit pour une offre moins chère. C’est un choix », poursuit-il. « Nos clients le comprennent bien : notre support à une valeur énorme pour eux. Le reste, c’est du marketing ».