Oracle annonce la disponibilité de Java 17, la nouvelle version du langage qui s’autoproclame « numéro un mondial des langages de programmation et des plateformes de développement ».

Java 17 intègre des milliers de mises à jour de performance, de stabilité et de sécurité, ainsi que 14 JEP et de nouvelles propositions d’évolution du JDK (JDK Enhancement Proposals). Oracle a depuis un peu plus de deux ans largement réinvesti dans le langage qu’il a hérité de l’acquisition de Sun en 2010. Un regain d’intérêt alors que le langage est certes très menacé aujourd’hui par Python, Kotlyn, C#, Swift et autres mais demeure très largement utilisé dans les entreprises.

Oracle se tient donc à son calendrier de deux mises à jour par an mais cette version 17 bénéficiera d’un support à long terme (LTS, support sur 8 ans). Les principaux ajouts de cette édition sont un nouveau générateur de nombres aléatoires et l’officialisation des « Sealed Class » (classes scellées) expérimentées depuis Java 15. Java 17 bénéficie également d’un portage officiel sur Apple M1.

Mais la vraie révolution de Java 17 n’est pas dans le langage ! Depuis 2011, Oracle propose deux versions : Oracle JDK (désormais sous Java 17) enrichi et en avance de phase mais sous licence payante et Oracle OpenJDK (qui lui aussi débarque avec Java 17) en open source.

Révolution, Oracle a annoncé qu’Oracle JDK 17 et les prochaines versions du JDK seront désormais « available for free » autrement dit fournis dans le cadre d’une licence d’utilisation gratuite pour des usages personnels et en production mais uniquement pour un temps limité (jusqu’à une année complète après la version LTS suivante). Attention, cette licence « Free » (dénommée Oracle NFTC) interdit la redistribution de Java dans le cadre d’une application payante ou d’un service payant.

Oracle continuera parallèlement à fournir des versions d’Oracle OpenJDK dans le cadre de la licence de logiciel libre GPL (General Public License), comme il le fait depuis 2017.