Licence Oracle Java et fin de support Java 17 : ce qui expire vraiment, et quand
La plupart des logiciels n'ont qu'un seul compte à rebours : le jour où les correctifs de sécurité s'arrêtent. Java exécuté sur le JDK d'Oracle en a deux — une horloge de support et une horloge de licence — et les équipes qui ne planifient qu'en fonction de l'une se font régulièrement surprendre par l'autre. Ce guide présente les deux, avec des dates de support vérifiées par rapport aux données de cycle de vie des éditeurs, ainsi que la voie de sortie qui règle les deux problèmes à la fois.
Les dates clés en un coup d'œil
- Oracle JDK 25 : fin du Premier Support le 30 septembre 2030 ; fin de l'Extended Support le 30 septembre 2033
- Oracle JDK 21 : fin du Premier Support le 30 septembre 2028 ; fin de l'Extended Support le 30 septembre 2031
- Oracle JDK 17 : fin du Premier Support le 30 septembre 2026 ; fin de l'Extended Support le 30 septembre 2029
- Oracle JDK 14 : fin du Premier Support le 16 septembre 2020
- Oracle JDK 11 : fin du Premier Support le 30 septembre 2023 ; fin de l'Extended Support le 31 janvier 2032
- Oracle JDK 9 : fin du Premier Support le 20 mars 2018
L'horloge de support : quelles versions de Java reçoivent encore des correctifs
Java suit un train de versions : une nouvelle version tous les six mois, certaines étant désignées comme versions à support long terme (LTS) — 8, 11, 17, 21 et 25. La quasi-totalité du Java en production dans le monde tourne sur une LTS. Voici où en est chacune :
| Version | Fin du support Oracle JDK | Fin du support Eclipse Temurin (OpenJDK) |
|---|---|---|
| Java 8 | 31 mars 2022 | 31 décembre 2030 |
| Java 11 | 30 septembre 2023 | 31 octobre 2027 |
| Java 17 | 30 septembre 2026 | 31 octobre 2027 |
| Java 21 | 30 septembre 2028 | 31 décembre 2029 |
| Java 25 | 30 septembre 2030 | 30 septembre 2031 |
Cliquez sur une version pour voir son statut du jour (pages en anglais).
Relisez ce tableau, car c'est sa structure qui raconte l'histoire : sur chaque ancienne LTS, les builds Java gratuits et open source survivent au support qu'Oracle assure pour son propre JDK. Temurin 8 recevra encore des correctifs de sécurité communautaires plus de huit ans après la fin du support d'Oracle JDK 8. Le build de Java que vous exécutez compte désormais davantage que sa version.
L'horloge de licence : comment le « Java gratuit » est discrètement devenu un abonnement
C'est le volet licence qui transforme un runtime obsolète en problème budgétaire. Dans les grandes lignes, qui ne sont pas contestées :
2019 : Oracle a mis fin aux mises à jour publiques gratuites d'Oracle JDK 8 pour un usage commercial. Dès lors, appliquer les correctifs de JDK 8 dans un environnement professionnel exigeait en général un abonnement Java SE payant. Un très grand nombre d'installations ont continué à se mettre à jour malgré tout — beaucoup d'organisations n'avaient tout simplement pas remarqué que les conditions avaient changé.
2021 : avec JDK 17, Oracle a introduit la licence « No-Fee Terms and Conditions » (NFTC) — Oracle JDK redevenait gratuit, usage commercial compris, mais seulement pendant une fenêtre : environ jusqu'à un an après la sortie de la LTS suivante. Quand cette fenêtre se referme, les mises à jour suivantes repassent sous des conditions payantes. Gratuit, mais avec une date d'expiration que la plupart des calendriers n'ont jamais notée.
2023 : Oracle a basculé les nouveaux abonnements vers le Java SE Universal Subscription, facturé par employé — ni par serveur, ni par développeur, mais sur l'ensemble des effectifs de l'organisation, quel que soit le nombre de personnes qui utilisent réellement Java. Pour une entreprise qui compte une poignée de services Java et des milliers d'employés, le changement de devis a été spectaculaire, et il a fait de « quelques vieilles installations de JDK quelque part » une question de licence à l'échelle de toute l'entreprise. Les conditions d'Oracle ont changé plusieurs fois et peuvent encore changer : vérifiez directement les conditions en vigueur avant de prendre des décisions qui en dépendent.
2024–2026 : la fenêtre NFTC s'est refermée, et elle se referme à nouveau. Celle de JDK 17 s'est fermée la première : les mises à jour publiques jusqu'en septembre 2024 étaient sous licence permissive, et tout ce qui a été publié à partir d'octobre 2024 relève de la licence Java SE OTN. JDK 21 est le suivant. La Java SE Support Roadmap d'Oracle (en anglais) indique que les mises à jour d'Oracle JDK 21 publiées à partir du Critical Patch Update d'octobre 2026 doivent passer sous la licence OTN, celle qu'Oracle applique déjà à 8, 11 et 17. Si vous exécutez en production le build Oracle JDK 21 d'Oracle sans abonnement, octobre 2026 est votre date de licence, et elle n'a rien à voir avec les dates de support de Java 21. Le remède indiqué par Oracle est Oracle JDK 25 ou une version ultérieure, dont la fenêtre permissive couvre, selon la feuille de route, les mises à jour publiées jusqu'en septembre 2028.
La voie de sortie : le même Java, un autre build
Ce qui sauve la plupart des équipes, c'est un fait qui surprend encore : depuis Java 11, Oracle JDK et OpenJDK sont construits à partir d'un code source quasiment identique. Votre application s'exécute sur la même plateforme. La solution est donc rarement « réécrire l'application » ; c'est « changer de runtime » :
1. Passer à un build OpenJDK (la réponse de la plupart des équipes)
Eclipse Temurin (projet Adoptium ; page en anglais) est le build open source le plus largement adopté : aucun coût de licence, aucune surface d'audit, et il passe la même suite de tests de compatibilité. Changez de runtime, lancez votre suite de tests, c'est terminé. D'autres builds OpenJDK gratuits existent aussi, dont les builds OpenJDK gratuits d'Oracle lui-même, mais ceux-ci ne reçoivent des mises à jour que pendant six mois par version : ils conviennent aux équipes qui mettent à niveau en continu, pas à celles qui restent sur une LTS.
2. Monter de version au passage
Si vous touchez au runtime de toute façon, visez Java 21 ou 25 plutôt que 17 : le Premier Support d'Oracle pour 17 a pris fin le 30 septembre 2026, et même Temurin 17 s'arrête le 31 octobre 2027. Si vous utilisez le build d'Oracle plutôt qu'un build OpenJDK, choisissez 25 : les mises à jour d'Oracle JDK 21 passent sous licence OTN avec le Critical Patch Update d'octobre 2026, tandis que la feuille de route d'Oracle maintient JDK 25 sous licence permissive pour les mises à jour publiées jusqu'en septembre 2028. Le saut de 8 vers une version moderne est le seul vraiment difficile (API internes supprimées, système de modules) ; les passages de 11 à 21 et de 17 à 21 sont généralement routiniers.
3. Impossible de migrer tout de suite ? Faites la transition, délibérément
Certains parcs Java 8 sont soudés à des logiciels d'éditeurs qui ne certifieront jamais un runtime plus récent. Pour ceux-là, des fournisseurs commerciaux de support étendu proposent des correctifs de sécurité continus pour les anciennes versions de Java : voir notre page options de support étendu (en anglais). Considérez-le comme une passerelle assortie d'une date de migration, pas comme une destination.
Que faire ce trimestre
Commencez par l'inventaire : trouvez chaque JVM du parc et identifiez son build (Oracle JDK ou une distribution OpenJDK) et sa version ; java -version vous donne les deux. Tout ce qui tourne sur Oracle JDK 8 ou 11 est prioritaire : sans correctifs depuis des années, et porteur de l'exposition de licence. Tout ce qui tourne sur Oracle JDK 17 avait une date ferme, le 30 septembre 2026, désormais dépassée : abonnez-vous, changez de build ou montez de version. Vous pouvez vérifier en quelques secondes le statut actuel de n'importe quelle version avec l'EOL Checker (en anglais), et le calendrier des échéances 2026 (OpenSSL 3.0, Python 3.10, .NET 8/9, PostgreSQL 14, PHP 8.2) se trouve sur la page EOL Watch.
Questions fréquentes
Quand Oracle JDK 17 arrive-t-il en fin de support ?
Oracle JDK 17 : fin de support le 30 septembre 2026. Oracle JDK 8 : fin de support le 31 mars 2022. Oracle JDK 11 : fin de support le 30 septembre 2023. Oracle JDK 21 est supporté jusqu'au 30 septembre 2028 et JDK 25 jusqu'au 30 septembre 2030.
Quand Oracle JDK 21 cesse-t-il d'être gratuit ?
Avec le Critical Patch Update d'octobre 2026. Oracle JDK 21 est gratuit pour tous les utilisateurs, production commerciale comprise, sous les No-Fee Terms and Conditions depuis sa sortie le 19 septembre 2023. La Java SE Support Roadmap d'Oracle indique que les mises à jour d'Oracle JDK 21 publiées à partir du Critical Patch Update d'octobre 2026 doivent être proposées sous la licence Java SE OTN, gratuite uniquement pour un usage personnel, pour le développement et pour quelques autres usages nommément cités. Cette date de licence est distincte des dates de support de Java 21, qui courent jusqu'au 30 septembre 2028. Pour rester sur un build Oracle sous licence permissive, passez à Oracle JDK 25 ; pour rester sur Java 21 sans date de licence, utilisez un build Temurin, Corretto, Zulu, Microsoft ou IBM.
OpenJDK remplace-t-il vraiment Oracle JDK sans modification ?
Pour la grande majorité des charges de travail, oui. Depuis Java 11, ils sont construits à partir d'un code source quasiment identique, et les builds d'éditeurs comme Eclipse Temurin passent la même suite de tests de compatibilité. La plupart des migrations se résument à changer de runtime puis à relancer les tests.
OpenJDK reçoit-il des mises à jour de sécurité plus longtemps qu'Oracle JDK ?
Souvent, oui. Temurin 8 est supporté jusqu'au 31 décembre 2030, plus de huit ans après la fin du support d'Oracle JDK 8. Temurin 11 est supporté jusqu'au 31 octobre 2027, Temurin 17 jusqu'au 31 octobre 2027 et Temurin 21 jusqu'au 31 décembre 2029.
Pourquoi les anciennes installations d'Oracle JDK créent-elles un risque de licence ?
Depuis 2019, appliquer les mises à jour d'Oracle JDK 8 en environnement commercial exige en général un abonnement payant, et l'actuel Java SE Universal Subscription d'Oracle est facturé par employé, sur l'ensemble de l'organisation. Les installations sans licence qui ont reçu des mises à jour sont un constat d'audit fréquent. Les conditions évoluent : vérifiez directement les conditions en vigueur chez Oracle.