Java 8 ne va plus recevoir de mises à jour et correctifs de sécurité à partir de septembre
à moins de passer à un support commercial

Le , par Michael Guilloux, Chroniqueur Actualités
Mise à jour le 04/02/2018 : Oracle ne va pas cesser de livrer des mises à jour publiques pour JDK 8 avant janvier 2019

De manière exceptionnelle, JDK 8 ne sera pas concerné par les nouvelles mesures annoncées par Oracle en ce qui concerne le support du JDK compte tenu du nouveau cycle de publication adopté. Le journaliste Paul Krill, spécialiste du monde Java, a en effet fait remarquer le 1er février qu'Oracle a prolongé les mises à jour publiques du JDK 8 jusqu'en 2019, et c'est ce qu'on constate d'ailleurs en se rendant sur le site officiel d'Oracle : JDK 8 va continuer à recevoir des mises à jour publiques au moins jusqu'en janvier 2019.

Par rapport à la date initialement annoncée de septembre 2018, ça fait au moins quatre mois de plus, mais cela devrait permettre au JDK 8 de recevoir des mises à jour trimestrielles supplémentaires gratuites en octobre 2018 et janvier 2019. Il est également important de préciser qu'Oracle pourrait continuer à proposer des mises à jour publiques pour JDK 8 bien au-delà de janvier 2019. Oracle va peut-être suivre l'utilisation de cette version du JDK avant de se décider.

Source : Oracle
31/01/2018 : L'année dernière, Oracle a annoncé un certain nombre de changements en ce qui concerne le développement de Java SE. Expliquant la nécessité d'accélérer le cycle de publication du JDK pour rester compétitif, Oracle a préféré passer à une nouvelle version de Java avec de nouvelles fonctionnalités tous les six mois, en mars et en septembre. Et ces versions de fonctionnalités (feature release) seront suivies par des mises à jour (update release) chaque trimestre, comme c’est le cas maintenant en janvier, avril, juillet et octobre. C'est le nouveau cycle de publication qui a été adopté après la sortie de Java 9 en septembre dernier.

C'est probablement une très bonne nouvelle, étant donné que cela signifie que les fonctionnalités seront intégrées dès que possible et que les développeurs auront accès à de nouvelles fonctionnalités beaucoup plus vite qu'auparavant. Toutefois, l'adoption de ce nouveau rythme de publication a conduit Oracle à prendre d'autres décisions qui pourraient ne pas réjouir autant les développeurs et les entreprises : en septembre, lorsque le JDK 11 (version 18.09) sera publié, il n'y aura plus de mises à jour publiques, y compris les patchs de sécurité, pour le JDK 8. Si l'on se fie aux chiffres de Semaphore CI, Java 8 était encore utilisé fin 2017 dans plus de 80 % des projets commerciaux. Il y a donc beaucoup d'utilisateurs qui seront affectés par cette décision.

Le fait est que désormais quand une nouvelle version de Java sera disponible, la version précédente va immédiatement cesser de recevoir des mises à jour publiques. Pour mieux comprendre ce que cela veut dire, rappelons un peu comment se sont passées les mises à jour jusqu'ici. Lorsque le JDK 6 a été publié, les mises à jour du JDK 5 ont continué à être publiées pendant près de trois ans (deux ans et onze mois pour être précis). Avec le JDK 7, le JDK 6 a continué à avoir des mises à jour publiques pendant un an et neuf mois. Le JDK 7 a ensuite eu treize mois de mises à jour publiques après la sortie du JDK 8.

Ce que faisait Oracle après la sortie d'une nouvelle version du JDK c'était d'accorder une période de grâce, qui dure généralement plus de 12 mois. Pendant cette période de grâce, la version précédente du JDK continue à recevoir des mises à jour publiques, non seulement pour permettre une transition en douceur, mais encore pour permettre à la nouvelle version d'être suffisamment testée en production afin que tous ses petits problèmes soient corrigés ; et c'est ce qu'attendent la plupart des utilisateurs avant de migrer. Il faut en noter que dans la pratique, de nombreuses équipes de développement ne veulent pas prendre le risque de migrer immédiatement après la sortie d'une nouvelle version. Seules les équipes qui ont vraiment besoin d'une nouvelle fonctionnalité migrent immédiatement. Quant à celles qui ont tendance à toujours migrer vers les nouvelles versions, elles attendent quand même quelques versions mineures avant de se lancer, parce que les versions x.0.0 sont susceptibles d'avoir certains problèmes.

Mais avec le nouveau rythme de publication du JDK, Oracle estime que l'effort d'ingénierie pour rendre les mises à jour disponibles pour de nombreuses versions antérieures serait insoutenable. C'est pour cela qu'à la sortie d'une nouvelle version de fonctionnalités (feature release), la version précédente ne va plus recevoir de mises à jour. Pour atténuer le problème, Oracle a toutefois décidé de passer à un modèle LTS (support à long terme). Des versions spécifiques du JDK seront des versions LTS, ce qui signifie qu'elles auront des mises à jour pendant trois ans (jusqu'à la prochaine version LTS). Toutes les autres versions intermédiaires (les versions de fonctionnalités) ne seront mises à jour que pendant six mois (jusqu'à la prochaine version de fonctionnalités). Et pour synchroniser le nouveau système, le JDK 8 a été classé comme une version LTS, ce qui veut dire qu'après la sortie du JDK 11 (LTS) en septembre, le JDK ne va plus recevoir de mises à jour publiques.


Comme l'explique Simon Ritter, ingénieur chez le fournisseur de JVM et runtime pour les applications Java Azul Systems, cela veut dire que Java sera toujours stable, sécurisé et gratuit, mais vous devez maintenant choisir deux de ces trois qualités.


« Supposons que vous êtes plus préoccupé par la sécurité (comme vous devriez l'être), mais que vous ne voulez pas dépenser d'argent. Pour ce faire, vous devrez passer aux nouvelles versions du JDK dès leur sortie. En l'absence de chevauchement de mises à jour (pour les versions Feature ou LTS), vous devez effectuer cette opération pour pouvoir installer tous les correctifs de sécurité. Malheureusement, sans chevauchement, vous devez passer à une version JDK qui n'a pas eu le temps d'être testée dans des environnements de production réels, de sorte que vous perdez la stabilité que vous aviez », dit-il.

« Alternativement, vous pouvez favoriser la stabilité et le coût nul. Encore une fois, c'est possible. Tout ce que vous faites est de continuer à utiliser la version précédente LTS après la sortie d'une nouvelle version. Vous continuez à avoir la stabilité à laquelle vous êtes habitué, vous ne payez rien, mais vous n'obtiendrez pas de correctifs de sécurité, car ils ne seront plus disponibles pour cette version. » Et enfin, poursuit-il, « si vous voulez la stabilité et la sécurité, ça ne va pas être gratuit. Vous pouvez continuer à utiliser la version précédente de LTS, mais l'accès aux correctifs ne sera disponible que via un contrat de support commercial. » Azul Systems a pour sa part expliqué comment il compte offrir à ses clients un support étendu de différentes versions du JDK.

Source : Azul Systems

Et vous ?

Que pensez-vous de ce changement annoncé par Oracle ?
Quelle version du JDK utilisez-vous ? Quel arbitrage feriez-vous entre stabilité, sécurité et coût ?

Voir aussi :

JDK 10 : les fonctionnalités de la prochaine version de Java sont désormais gelées, la sortie est attendue pour le 20 mars 2018
Oracle annonce des changements pour Java SE : deux versions par an, licence GPL, des fonctionnalités commerciales du JDK d'Oracle en open source
Eclipse OpenJ9 : IBM rend open source sa JVM J9, le développement du composant majeur de son JDK sera désormais géré par la fondation Eclipse


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de Mrsky Mrsky - Membre éclairé https://www.developpez.com
le 31/01/2018 à 21:48
N'étant pas du monde Java, il y a souvent des correctifs de sécurité ? Parce que l'article explique qu'il va falloir migrer à la version suivante dès qu'elle sort car le support pour la version en cours s’arrête, mais en pratique ça explose pas du jour au lendemain non ?
Avatar de d3v10 d3v10 - Membre à l'essai https://www.developpez.com
le 01/02/2018 à 9:09
Maintenant que java est bien implanté, Oracle veut monétiser le truc, quitte à laisser des passoires à ceux qui ne paient pas. Ça ne va pas arranger la réputation de java cette nouvelle politique.
Avatar de Flaburgan Flaburgan - Modérateur https://www.developpez.com
le 01/02/2018 à 10:21
Java 8 ne va plus recevoir de mises à jour et correctifs de sécurité gratuits à partir de septembre
Ne serait-il pas plus juste de dire "Le JDK d'Oracle ne va plus recevoir..." ? Qu'en est-il de l'OpenJDK ? Si rien ne change pour celui-ci, cela signifie probablement qu'il est temps de switcher, histoire de garder les trois qualités...
Avatar de Matthieu76 Matthieu76 - Membre averti https://www.developpez.com
le 01/02/2018 à 10:28
Le C# c'est mieux !
Avatar de nean_j nean_j - Nouveau membre du Club https://www.developpez.com
le 01/02/2018 à 13:15
Il ne faut aller trop vite, c'est pour janvier 2019 l'arrêt des correctifs publics, mais cela pourrait être repoussé, cf : http://www.oracle.com/technetwork/java/eol-135779.html
Avatar de Matthieu76 Matthieu76 - Membre averti https://www.developpez.com
le 01/02/2018 à 13:24
Il ne suffit pas juste de passer sous Java 9 pour réglé le problème du coup ?
Avatar de Flaburgan Flaburgan - Modérateur https://www.developpez.com
le 01/02/2018 à 15:30
Citation Envoyé par Matthieu76 Voir le message
Il ne suffit pas juste de passer sous Java 9 pour réglé le problème du coup ?
Si. Tout réside dans le "juste", qui peut nécessiter des mois de travail pour migrer une application. Cela, additionné au fait que comme l'indique l'article, les nouvelles versions sont toutes fraîches, donc moins bien testées, donc ont plus de risques d'avoir des bugs. Donc en fait, il ne suffit pas, malheureusement.
Avatar de Matthieu76 Matthieu76 - Membre averti https://www.developpez.com
le 01/02/2018 à 16:11
Citation Envoyé par Flaburgan Voir le message
Tout réside dans le "juste", qui peut nécessiter des mois de travail pour migrer une application.
C'est pas justement pour cela qu'il y a quelque chose qui s'appelle la rétrocompatibilité ?
Avatar de millie millie - Rédacteur https://www.developpez.com
le 01/02/2018 à 16:27
La rétrocompatibilité peut rester théorique.

Le gros problème est quand tu es lié aux cycles de vie d'autres outils/produits.
Typiquement des serveurs d'applications qui imposent en général une version spécifique du JDK. La migration de ces serveurs peut-être particulièrement impactant et coûteux.
Avatar de csperandio csperandio - Membre habitué https://www.developpez.com
le 03/02/2018 à 11:00
Quand je pense que je vois certaines applications qui tournent sur des jdks 1.6....
Contacter le responsable de la rubrique Accueil