En raison de la récente mise à jour de la politique de la feuille de route du support Oracle Java SE (fin des mises à jour gratuites d'Oracle après mars 2019 en particulier), j'ai recherché des alternatives à Oracle Java. J'ai trouvé qu'OpenJDK est une alternative open source. Et j'ai trouvé AdoptOpenJDK , maintenant connu sous le nom d'Adoptium, qui est un binaire prédéfini . Cela laisse perplexe.
Quelle est la différence entre OpenJDK et Adoptium / AdoptOpenJDK?
Réponses:
En bref:
Explication:
OpenJDK prédéfini (ou distribution) - binaires, construits à partir de http://hg.openjdk.java.net/ , fournis en tant qu'archives ou installateurs, proposés pour diverses plates-formes, avec un éventuel contrat de support.
OpenJDK, le référentiel source (également appelé projet OpenJDK ) - est un référentiel open source basé sur Mercurial , hébergé sur http://hg.openjdk.java.net . Le code source Java. La grande majorité des fonctionnalités Java (de la VM et des bibliothèques principales au compilateur) sont basées uniquement sur ce référentiel source. Oracle en a une autre.
OpenJDK, la distribution (voir la liste des fournisseurs ci-dessous) - est gratuite comme dans la bière et une sorte de libre comme dans la parole , mais, vous ne pouvez pas appeler Oracle si vous avez des problèmes avec elle. Il n'y a pas de contrat de support. En outre, Oracle ne publiera des mises à jour de toute version d'OpenJDK (la distribution) que si cette version est la version Java la plus récente, y compris les versions LTS (support à long terme). Le jour où Oracle publie OpenJDK (la distribution) version 12.0, même s'il y a un problème de sécurité avec OpenJDK (la distribution) version 11.0, Oracle ne publiera pas de mise à jour pour 11.0. Maintenu uniquement par Oracle.
Certains projets OpenJDK - tels que OpenJDK 8 et OpenJDK 11 - sont maintenus par la communauté OpenJDK et fournissent des versions pour certaines versions d'OpenJDK pour certaines plates-formes. Les membres de la communauté ont pris la responsabilité de publier des correctifs pour les vulnérabilités de sécurité dans ces versions d'OpenJDK.
AdoptOpenJDK, la distribution est très similaire à la distribution OpenJDK d'Oracle (en ce sens qu'elle est gratuite et qu'il s'agit d'une construction produite en compilant les sources à partir du référentiel source OpenJDK). AdoptOpenJDK en tant qu'entité ne rétroportera pas les correctifs, c'est-à-dire qu'il n'y aura pas de «fork / version» d'AdoptOpenJDK qui soit matériellement différent de l'amont (sauf pour certains correctifs de script de construction pour des choses comme le support de Win32). Cela signifie que si des membres de la communauté (Oracle ou autres, mais pas AdoptOpenJDK en tant qu'entité) rétroportent les correctifs de sécurité vers les mises à jour des versions d'OpenJDK LTS, alors AdoptOpenJDK fournira des versions pour ceux-ci. Maintenu par la communauté OpenJDK.
OracleJDK - est encore une autre distribution. À partir de JDK12, il n'y aura pas de version gratuite d'OracleJDK. L'offre de distribution JDK d'Oracle est destinée au support commercial. Vous payez pour cela, mais vous pouvez ensuite compter sur Oracle pour le support. Contrairement à l'offre OpenJDK d'Oracle, OracleJDK est livré avec une prise en charge plus longue des versions LTS. En tant que développeur, vous pouvez obtenir une licence gratuite pour une utilisation personnelle / de développement uniquement de ce JDK particulier, mais c'est surtout un hareng rouge, car «juste le binaire» est fondamentalement le même que le binaire OpenJDK. Je suppose que cela signifie que vous pouvez télécharger des versions corrigées de sécurité des JDK LTS à partir des sites Web d'Oracle tant que vous promettez de ne pas les utiliser à des fins commerciales.
Remarque . Il peut être préférable d'appeler les versions d'OpenJDK d'Oracle les «versions d'Oracle OpenJDK».
Donald Smith, chef de produit Java chez Oracle écrit :
Fournisseurs OpenJDK et comparaison
Builds gratuits à partir de la source - le code source de la distribution est disponible publiquement et on peut assembler sa propre version
Distributions binaires gratuites - les binaires de distribution sont accessibles au public pour téléchargement et utilisation
Mises à jour étendues - aka LTS (support à long terme) - Mises à jour publiques au-delà du cycle de vie de publication de 6 mois
Support commercial - certains fournisseurs proposent des mises à jour étendues et un support client aux clients payants, par exemple Oracle JDK ( détails du support )
Licence permissive - la licence de distribution n'est pas protectrice, par exemple Apache 2.0
Quelle distribution Java dois-je utiliser?
À l'époque de Sun / Oracle, c'était généralement Sun / Oracle qui produisait les distributions JDK en aval propriétaires basées sur des sources OpenJDK. Récemment, Oracle avait décidé de faire ses propres builds propriétaires uniquement avec le support commercial attaché. Ils publient également gracieusement les versions d'OpenJDK sur leur site https://jdk.java.net/ .
Ce qui se passe à partir du JDK 11 est le passage de l'état d'esprit de fournisseur unique (Oracle) à l'état d'esprit où vous sélectionnez un fournisseur qui vous donne une distribution pour le produit, dans les conditions que vous aimez: plates-formes pour lesquelles ils construisent, fréquence et rapidité des versions. , comment le support est structuré, etc. Si vous ne faites confiance à aucun des fournisseurs existants, vous pouvez même créer OpenJDK vous-même.
Chaque version d'OpenJDK est généralement réalisée à partir du même référentiel source d'origine en amont (OpenJDK «le projet»). Cependant, chaque version est assez unique - gratuite ou commerciale, de marque ou sans marque, pure ou groupée (par exemple, BellSoft Liberica JDK propose JavaFX groupé, qui a été supprimé des versions Oracle à partir du JDK 11).
Si aucun environnement (par exemple, Linux) et / ou aucune exigence de licence ne définit une distribution spécifique et si vous voulez la version JDK la plus standard , alors la meilleure option est probablement d'utiliser OpenJDK par Oracle ou AdoptOpenJDK.
Information additionnelle
Il est temps de regarder au-delà du JDK d' Oracle par Stephen Colebourne
Java Is Still Free par la communauté Java Champions (publié le 17 septembre 2018)
Java is Still Free 2.0.0 par la communauté Java Champions (publié le 3 mars 2019)
Aleksey Shipilev à propos des mises à jour de JDK interview par Opsian (publié le 27 juin 2019)
la source
Mise à jour: AdoptOpenJDK a changé son nom en Adoptium , dans le cadre de son passage à la Fondation Eclipse .
OpenJDK ➙ code source
Adoptium / AdoptOpenJDK ➙ builds
Le premier fournit le code source , l'autre fournit des versions de ce code source.
Plusieurs fournisseurs de Java et OpenJDK
L'adoptium de la Fondation Eclipse , anciennement connue sous le nom d' AdoptOpenJDK , n'est que l'un des nombreux fournisseurs distribuant des implémentations de la plate-forme Java. Ceux-ci inclus:
Consultez mon organigramme pour vous guider dans le choix d'un fournisseur pour une implémentation de la plate-forme Java. Cliquez / appuyez pour zoomer.
Une autre ressource: cette matrice de comparaison d'Azul Systems est utile et me semble juste et juste.
Voici une liste de considérations et de motivations à prendre en compte lors du choix d'un fournisseur et de sa mise en œuvre.
Certains fournisseurs vous proposent un choix de technologies JIT .
Pour en savoir plus sur cet écosystème Java, lisez Java est toujours gratuit
la source