web-dev-qa-db-ja.com

OpenJDKとAdoptOpenJDKの違い

最近の Oracle Java SE Support Roadmap ポリシーの更新(特に2019年3月以降のOracleからの$ freeリリース更新の終了)のため、Oracle Javaの代替を探しています。 OpenJDKはオープンソースの代替手段であることがわかりました。そして、AdoptOpenJDKを見つけました。これは、ビルド済みのバイナリです。それは困惑します。

OpenJDKとAdoptOpenJDKの違いは何ですか?

83

要するに:

  • OpenJDKには複数の意味があり、次のように参照できます。
    • Java Platform、Standard Edition(Java SE)の無料でオープンソースの実装
    • オープンソースリポジトリ — Javaソースコード、別名OpenJDKプロジェクト
    • oracleが管理する事前構築済みのOpenJDKバイナリ
    • openJDKコミュニティによって管理されているビルド済みのOpenJDKバイナリ
  • AdoptOpenJDK—コミュニティが管理するビルド済みのOpenJDKバイナリ( オープンソースライセンス

説明:

Prebuilt OpenJDK(またはディストリビューション)— http://hg.openjdk.Java.net/ からビルドされたバイナリさまざまなプラットフォーム向けに提供されるアーカイブまたはインストーラーとして、可能なサポート契約があります。

OpenJDK、ソースリポジトリ(別名OpenJDKプロジェクト)- Mercurial -ベースのオープンソースリポジトリ、 http://hg.openjdk.Java.net でホストされています。 Javaソースコード。 Java機能の大部分(VMおよびコアライブラリからコンパイラまで)は、このソースリポジトリのみに基づいています。 Oracleにはこれの代替フォークがあります。

OpenJDK、ディストリビューション(以下のプロバイダーのリストを参照)-は ビールのように無料 および種類 スピーチのように無料 、ただし、問題がある場合はOracleに連絡できません。サポート契約はありません。さらに、Oracleは、そのリリースがLTS(長期サポート)リリースを含む最新のJavaリリースである場合にのみ、OpenJDK(ディストリビューション)バージョンのアップデートをリリースします。 OracleがOpenJDK(ディストリビューション)バージョン12.0をリリースした日は、OpenJDK(ディストリビューション)バージョン11.0にセキュリティ上の問題があったとしても、Oracleは11.0のアップデートをリリースしません。 Oracleのみが管理します。

OpenJDK 8OpenJDK 11 などのOpenJDKプロジェクトは、OpenJDKコミュニティによって管理されており、一部のプラットフォームのOpenJDKバージョンのリリースを提供します。コミュニティメンバーは、これらのOpenJDKバージョンのセキュリティ脆弱性の修正をリリースする責任を負っています。

AdoptOpenJDK、ディストリビューション-OracleのOpenJDKディストリビューションに非常に似ています(無料であり、OpenJDKソースからソースをコンパイルすることで作成されたビルドです)倉庫)。エンティティとしてのAdoptOpenJDKはパッチをバックポートしません。つまり、アップストリームと実質的に異なるAdoptOpenJDKの「フォーク/バージョン」はありません(Win32サポートなどのビルドスクリプトパッチを除く)。つまり、コミュニティのメンバー(Oracleまたはその他、ただしエンティティとしてのAdoptOpenJDKではない)がセキュリティ修正をOpenJDK LTSバージョンの更新にバックポートする場合、AdoptOpenJDKはそれらのビルドを提供します。 OpenJDKコミュニティによって管理されています。

また、OracleJDKもあります。JDK12以降の別のディストリビューションには、この無料バージョンはありません。オラクルのJDKディストリビューションは、商用サポートを目的としています。あなたはこれにお金を払うが、それからあなたはサポートのためにOracleに依存するようになる。 OracleのOpenJDKオファリングとは異なり、OracleJDKオファリングはLTSバージョンのサポートが長くなります。開発者は、この特定のJDKのみの個人/開発用の無料ライセンスを取得できますが、「ちょうどバイナリ」は基本的にOpenJDKバイナリと同じであるため、ほとんどがニシンです。商業的に使用しないことを約束する限り、OracleのWebサイトからLTS JDKのセキュリティパッチバージョンをダウンロードできることを意味すると思います。

。 OracleのOpenJDKビルドを「Oracle OpenJDKビルド」と呼ぶのが最善でしょう。

Donald Smith、Java Oracleのプロダクトマネージャー writes

理想的には、状況に応じてGPLまたは商用ライセンスの下で、すべてのOracle JDKビルドを単に「Oracle JDK」と呼びます。ただし、歴史的な理由から、わずかな違いが残っていますが、それらを別々にOracleのOpenJDKビルドとOracle JDKと呼びます。


OpenJDKプロバイダーと比較

 --------------------------------------------- ------------------------------------------- 
 |プロバイダー|無料ビルド|無料のバイナリ|拡張|コマーシャル|寛容| 
 | |ソースから|分布|アップデート|サポート|ライセンス| 
 | ---------------------------------------------------------- ----------------------------------------- | AdoptOpenJDK |はい|はい|はい|いいえ|はい| 
 |アマゾン–コレット|はい|はい|はい|いいえ|はい| 
 |アズール・ズール|いいえ|はい|はい|はい|はい| 
 |ベルソフトリベリカ|いいえ|はい|はい|はい|はい| 
 | IBM |いいえ|いいえ|はい|はい|はい| 
 | jClarity |いいえ|いいえ|はい|はい|はい| 
 | OpenJDK |はい|はい|はい|いいえ|はい| 
 | Oracle JDK |いいえ|はい|いいえ** |はい|いいえ| 
 | Oracle OpenJDK |はい|はい|いいえ|いいえ|はい| 
 | ojdkbuild |はい|はい|いいえ|いいえ|はい| 
 | RedHat |はい|はい|はい|はい|はい| 
 | SapMachine |はい|はい|はい|はい|はい| 
 ------------------------------------------- --------------------------------------------- 

ソースからの無料ビルド-配布ソースコードは公開されており、独自のビルドをアセンブルできます。

無料のバイナリ配布-配布バイナリは、ダウンロードおよび使用のために公開されています

拡張アップデート-別名LTS(長期サポート)-6か月のリリースライフサイクルを超えるパブリックアップデート

コマーシャルサポート-一部のプロバイダーは、有料の顧客に拡張アップデートと顧客サポートを提供しています。 Oracle JDK(---(サポートの詳細

許可ライセンス-配布ライセンスは保護されていません。 Apache 2.0


どのJavaディストリビューションを使用すべきですか?

Sun/Oracleの時代には、通常、OpenJDKソースに基づいて独自のダウンストリームJDKディストリビューションを作成していました。最近、オラクルは、商用サポートが添付されている場合にのみ、独自のプロプライエタリビルドを行うことにしました。彼らは https://jdk.Java.net/ サイトでもOpenJDKビルドを丁寧に公開しています。

JDK 11から始まっていることは、シングルベンダー(Oracle)の考え方から、好みの条件(ビルドのプラットフォーム、リリースの頻度/プロンプト)で製品の配布を提供するプロバイダーを選択する考え方への移行です、サポートの構造など。既存のベンダーを信用しない場合は、OpenJDKを自分で構築することもできます。

OpenJDKの各ビルドは通常、同じオリジナルのアップストリームソースリポジトリ(OpenJDKの「プロジェクト」)から作成されます。ただし、各ビルドは非常にユニークです-無料または商用、ブランドまたは非ブランド、純粋またはバンドル(たとえば、BellSoft Liberica JDKはバンドルされたJavaFXを提供しますが、これはJDK 11以降のOracleビルドから削除されました)。

特定のディストリビューションを定義する環境(Linuxなど)やライセンス要件がなく、最も標準JDKビルドが必要な場合は、おそらくOracleのOpenJDKを使用するか、 AdoptOpenJDK。


追加情報

OracleのJDKを超える時間 Stephen Colebourne

Javaはまだ無料です by Java Championsコミュニティ(2018年9月17日公開)

Java is Still Free 2.0. by Java Championsコミュニティ(2019年3月3日公開)

JDKの更新に関するAleksey Shipilev Opsianによるインタビュー(2019年6月27日公開)

132