Oracle JDK, OpenJDK, AdoptOpenJDK, Amazon Corretto ... Ne vous perdez plus dans la Jungle des JDK !
Suite la publication récente de la JDK 14, il est l'heure de faire le point sur les JDK disponibles sur le marché.
Une JDK, ça sert à quoi ?
Le cigle JDK signife "Java Developper Kit", c'est le kit de développement qui permet de compiler et d'exécuter des projets informatiques développés en Java.
Vous avez aujourd'hui deux grandes familles de JDK :
- Les JDK dites "commerciales" qui ne peuvent pas être utilisées en production sans licences. C'est par exemple le cas de la JDK Oracle et d'IBM.
- Les JDK dites "libres", qui peuvent être utilisées sans coûts de licences et avec un support communautaire uniquement.
Oracle JDK est devenue payante ?
Historiquement, les distributions des JDK étaient principalement assurées par SUN puis Oracle depuis son rachat. La quasi totalité des projets Java fonctionnaient sur cette distribution Java largement supportée.
Oracle a changé sa politique de licence depuis quelques années interdisant toute utilisation de sa JDK en production sans achat d'une licence commerciale.
Seules les distributions d'OpenJDK compilées par Oracle peuvent être utilisées sans licence et sans support d'Oracle.
OpenJDK, c'est quoi ?
OpenJDK est le code source Opensource du JDK. Celui-ci est maintenu par une communauté Opensource : https://openjdk.java.net/
Le terme OpenJDK est aussi associé aux librairies compilées d'OpenJDK maintenues par Oracle et celles maintenues par la communauté OpenJDK.
OpenJDK est aujourd'hui le code source principal qui alimente toutes les JDK que l'on peut télécharger à date.
Où trouver une JDK ?
Plusieurs fournisseurs distribuent des versions compilées du code source OpenJDK sur Internet. Chaque fournisseur de JDK possède des spécificités qui sont résumées dans la tableau suivant :
Fournisseur | Compilation depuis sources | Distributions gratuites | MAJ étendues | Support Commercial | Licence Permissive |
---|---|---|---|---|---|
AdoptOpenJDK | Oui | Oui | Oui | Non | Oui |
Amazon Corretto | Oui | Oui | Oui | Non | Oui |
Azul Zulu | Non | Oui | Oui | Oui | Oui |
BellSoft Liberica | Non | Oui | Oui | Oui | Oui |
IBM | Non | Non | Oui | Oui | Oui |
jClarity | Non | Non | Oui | Oui | Oui |
OpenJDK Upstream | Oui | Oui | Oui | Non | Oui |
Oracle JDK | Non | Oui | Non | Oui | Non |
Oracle OpenJDK | Oui | Oui | Non | Non | Oui |
ojdkbuild | Oui | Oui | Non | Non | Oui |
RedHat | Oui | Oui | Oui | Oui | Oui |
SapMachine | Oui | Oui | Oui | Oui | Oui |
Quelle JDK choisir ?
Plusieurs choix sont possibles en fonction de ce que vous souhaitez faire. Le schéma de Basil Bourque ci-dessous détaille d'une manière simplifée les différentes stratégie de choix que vous avez :
Les meilleures options sont à l'heure d'aujourd'hui les distributions OpenJDK d'Oracle ou celles d'AdoptOpenJDK, enfin si vous recherchez un support LTS, Amazon Corretto assure un support longue durée de ses distributions de JDK.