Dans le monde Java, les chefs de projets ont deux solutions : soit ils font confiance à Oracle et le suivent dans ses mises à jour, soit ils choisissent une alternative. Sachant qu’Oracle et ses concurrents fondent leurs outils sur une souche commune : OpenJDK, essentiellement constitué du compilateur javac et des librairies de base. Mais qu’au-delà de cette plate-forme commune, chaque éditeur apporte des extensions spécifiques, comme ils le feraient avec n’importe quel « fork ».

On peut être étonné de l’initiative d’AWS, si ce n’est que James Gosling, le père de Java, quand il était chez Sun, l’a rejoint en 2017 et que depuis cette date, il fait « feu de tout bois » pour récupérer ce qu’il considère comme sa propriété intellectuelle, qui selon lui, n’aurait jamais dû atterrir chez Oracle.

C’est donc le 14 novembre 2018, lors de la convention Devoxx, qui s’est tenue en Belgique sur les terres de Patrick Desbois, l’ « inventeur » de Devops, que Gosling a annoncé son produit, baptisé Corretto (« correct » en italien), une alternative au Java « officiel » qui appuie là où ça fait mal, en particulier sur le coût du support LTS, tel que le pratique désormais Oracle sur ses JDK.

Corretto est une distribution gratuite du standard OpenJDK, sous licence GNU v2, dont l’un des avantages, outre sa gratuité, est sa compatibilité multi-plates-formes, puisqu’il fonctionne aussi bien dans le Cloud AWS, qu’en local Windows, Unix ou Linux.

Contrairement à Oracle, qui applique une tarification qui dépend du nombre de « cores » dont le serveur Java est doté, de l’ordre de 25 $/mois/core (pour un total de moins de 1 000 cores), ce qui n’est pas négligeable pour des compagnies qui font du développement lourd, Corretto est gratuit et bénéficie des mises à jour jusqu’en 2023. La fréquence annoncée est le trimestre, contre 6 mois à Oracle. James Gosling a précisé que les mises à jour couvriront tous les aspects de la plate-forme, la sécurité bien sûr, avec la gestion des menaces, mais aussi les performances et la surveillance des installations.

 

Décalage par rapport à Oracle

 

La version Corretto proposée par AWS est fondée sur une vieille version d’OpenJDK, la huitième, qui date de 2014. On est donc loin des versions courantes du JDK, 11 et 12. Et Gosling n’a pas caché que Corretto n’adoptera le JDK 11 qu’à la fin 2019, Oracle devant alors être passé au JDK 13.

Ce décalage risque d’être reproché à Gosling et son équipe, car bon nombre de développeurs tiennent absolument à travailler sur la version la plus récente des outils, car ils considèrent (souvent avec raison) que les éditeurs sont plus précautionneux pour ces versions et plus à l’écoute de leurs clients. L’inconvénient étant aussi qu’ils leur font essuyer les plâtres, avec des versions souvent insuffisamment stabilisées.

De toute façon, Corretto n’est pas encore disponible en production. Il est en béta et la première version validée était attendue pour le printemps 2019.

AWS n’est évidemment pas seul dans cette stratégie et il doit tenir compte d’une concurrence qui, peu ou prou, applique les mêmes principes que lui. Outre un produit, dont on n’a pas de raison de suspecter la qualité (il a passé les tests de compatibilité TCK avec succès), Corretto a l’avantage de tabler sur la renommée de Gosling.

D’autant qu’on soupçonne ce dernier de vouloir prendre une revanche éclatante sur celui qu’il considère comme un intrus, qui n’aurait jamais dû prendre possession de l’écosystème Java : Larry Ellison. Ajoutez à cela les petites phrases du patron d’Oracle, qui estimait récemment qu’il ne fallait pas avoir toute sa raison pour choisir le Cloud AWS et vous apprécierez mieux les futures joutes qui ne manqueront pas de déclencher les deux personnages.

On ne se gênera pas pour compter les points.

 

Corretto n’est pas un nouveau langage

Contrairement à NoOp le projet avorté de Google, qui visait à remplacer Java en tant que langage, voire Kotlin ou Ceylon, Corretto est une implémentation du même JDK. Ce n’est donc pas une syntaxe révolutionnaire. C’est l’écosystème autour de Corretto qui change, AWS estimant à juste raison qu’il n’a aucun avantage à vouloir faire des dollars avec sa nouvelle plate-forme, mais que, par contre, les usagers de ses infrastructures de Cloud, accueilleront avec intérêt une plate-forme « fortement » compatible, respectueuse des « canons » de la loi et beaucoup moins onéreuses que le Java du camp d’en face.

Le calcul ne manque pas de logique.