最近のOracle Java SEサポートロードマップポリシーの更新(特に2019年3月以降のOracleからの$ freeリリース更新の終了)のため、Oracle Javaの代替手段を探しています。OpenJDKがオープンソースの代替手段であることがわかりました。そして、私が見つけたAdoptOpenJDK、現在知られているAdoptiumとして、ビルド済みのバイナリを。それは困惑します。
OpenJDKとAdoptium / AdoptOpenJDKの違いは何ですか?
最近のOracle Java SEサポートロードマップポリシーの更新(特に2019年3月以降のOracleからの$ freeリリース更新の終了)のため、Oracle Javaの代替手段を探しています。OpenJDKがオープンソースの代替手段であることがわかりました。そして、私が見つけたAdoptOpenJDK、現在知られているAdoptiumとして、ビルド済みのバイナリを。それは困惑します。
OpenJDKとAdoptium / AdoptOpenJDKの違いは何ですか?
回答:
要するに:
説明:
ビルド済みのOpenJDK(またはディストリビューション)— http://hg.openjdk.java.net/から構築されたバイナリ。アーカイブまたはインストーラーとして提供され、さまざまなプラットフォーム用に提供されており、サポート契約が結ばれている可能性があります。
ソースリポジトリ(OpenJDKプロジェクトとも呼ばれる)であるOpenJDK - Mercurialベースのオープンソースリポジトリであり、http://hg.openjdk.java.netでホストされています 。Javaソースコード。Java機能の大部分(VMおよびコアライブラリからコンパイラまで)は、このソースリポジトリのみに基づいています。オラクルには、これの代替フォークがあります。
OpenJDK、ディストリビューション(以下のプロバイダーのリストを参照)- ビールのように無料で、スピーチのように無料ですが、問題がある場合はOracleに連絡することはできません。サポート契約はありません。さらに、そのリリースがLTS(長期サポート)リリースを含む最新のJavaリリースである場合に限り、OracleはOpenJDK(ディストリビューション)バージョンへのアップデートのみをリリースします。OracleがOpenJDK(ディストリビューション)バージョン12.0をリリースした日。OpenJDK(ディストリビューション)バージョン11.0にセキュリティの問題がある場合でも、Oracleは11.0のアップデートをリリースしません。オラクルのみが保守。
OpenJDK 8やOpenJDK 11などの一部のOpenJDKプロジェクトは、OpenJDKコミュニティによって維持され、一部のプラットフォームの一部のOpenJDKバージョンのリリースを提供します。コミュニティメンバーは、これらのOpenJDKバージョンのセキュリティ脆弱性の修正をリリースする責任を負っています。
AdoptOpenJDK、ディストリビューションはOracleのOpenJDKディストリビューションと非常に似ています(無料であり、OpenJDKソースリポジトリからソースをコンパイルして作成されたビルドです)。エンティティとしてのAdoptOpenJDKはパッチをバックポートしません。つまり、アップストリームとは実質的に異なるAdoptOpenJDK 'fork / version'はありません(Win32サポートなどのビルドスクリプトパッチを除く)。つまり、コミュニティのメンバー(Oracleまたはその他、ただしエンティティとしてAdoptOpenJDKではない)がOpenJDK LTSバージョンのアップデートにセキュリティ修正をバックポートする場合、AdoptOpenJDKはそれらのビルドを提供します。OpenJDKコミュニティによって管理されています。
OracleJDK-さらに別のディストリビューションです。JDK12以降、OracleJDKの無料バージョンはなくなります。OracleのJDKディストリビューションは、商用サポートを目的としています。あなたはこれにお金を払いますが、それからサポートのためにOracleに依存するようになります。OracleのOpenJDKオファリングとは異なり、OracleJDKにはLTSバージョンのより長いサポートが付属しています。開発者は、この特定のJDKのみの個人/開発用の無料ライセンスを取得できますが、「バイナリのみ」は基本的にOpenJDKバイナリと同じであるため、これはほとんどの場合ニシンです。LTS JDKのセキュリティパッチバージョンをOracleのWebサイトからダウンロードできることを意味します。
注。OracleによるOpenJDKビルドを「Oracle OpenJDKビルド」と呼ぶのが最適な場合があります。
オラクルのJava製品マネージャーであるドナルド・スミス氏はこう書いている:
理想的には、状況に応じて、すべてのOracle JDKビルドを「Oracle JDK」と呼び、GPLまたは商用ライセンスのいずれかを使用します。ただし、歴史的な理由により、残りの小さな違いは存在しますが、OracleのOpenJDKビルドおよびOracle JDKとして個別に参照します。
-------------------------------------------------- -------------------------------------- | プロバイダー| 無料ビルド| 無料のバイナリ| 拡張| コマーシャル| 許容| | | ソースから| ディストリビューション| アップデート| サポート| ライセンス| | ------------------------------------------------- ------------------------------------- | | AdoptOpenJDK | はい| はい| はい| いいえ| はい| | アマゾン–コレット| はい| はい| はい| いいえ| はい| | アズールズールー| いいえ| はい| はい| はい| はい| | BellSoft Liberica | いいえ| はい| はい| はい| はい| | IBM | いいえ| いいえ| はい| はい| はい| | jClarity | いいえ| いいえ| はい| はい| はい| | OpenJDK | はい| はい| はい| いいえ| はい| | Oracle JDK | いいえ| はい| いいえ** | はい| いいえ| | Oracle OpenJDK | はい| はい| いいえ| いいえ| はい| | ojdkbuild | はい| はい| いいえ| いいえ| はい| | RedHat | はい| はい| はい| はい| はい| | SapMachine | はい| はい| はい| はい| はい| -------------------------------------------------- --------------------------------------
ソースからの無料ビルド -配布ソースコードは公開されており、独自のビルドをアセンブルできます
無料のバイナリディストリビューション -ディストリビューションバイナリをダウンロードして使用できます。
拡張アップデート -別名LTS(長期サポート)-6か月のリリースライフサイクルを超えるパブリックアップデート
商用サポート -一部のプロバイダーは、Oracle JDKなど、有料の顧客に拡張アップデートと顧客サポートを提供しています(サポートの詳細)
許容ライセンス -配布ライセンスは保護されていません(例:Apache 2.0)
Sun / Oracleの時代は、通常、Sun / OracleがOpenJDKソースに基づく独自のダウンストリームJDKディストリビューションを作成していました。最近、オラクルは、商用サポートを添付してのみ独自のビルドを行うことを決定しました。彼らはOpenJDKビルドもhttps://jdk.java.net/サイトで丁寧に公開しています。
JDK 11で始まっているのは、単一ベンダー(Oracle)の考え方から、製品のディストリビューションを提供するプロバイダーを選択する考え方への移行です。 、サポートの構造など。既存のベンダーを信頼しない場合は、OpenJDKを自分で構築することもできます。
OpenJDKの各ビルドは通常、同じ元の上流のソースリポジトリ(OpenJDKの「プロジェクト」)から作成されます。ただし、各ビルドは非常にユニークです-$ freeまたは商用、ブランドまたは非ブランド、純粋またはバンドル(たとえば、BellSoft Liberica JDKは、JDK 11以降のOracleビルドから削除されたバンドルJavaFXを提供しています)。
特定のディストリビューションを定義する環境(Linuxなど)やライセンス要件がない場合、および最も標準的な JDKビルドが必要な場合は、おそらくOracleまたはAdoptOpenJDKによるOpenJDKを使用するのが最良のオプションです。
追加情報
Stephen ColebourneによるOracleのJDKの先を見る時
Javaは Java Championsコミュニティによってまだ無料です(2018年9月17日に公開)
Java ChampionsコミュニティによるJavaはまだ無料2.0.0(2019年3月3日公開)
Aleksey Shipilevによる、JDK更新についてのOpsianインタビュー(2019年6月27日公開)
更新: AdoptOpenJDKは、Eclipse Foundationへの移行の一環として、名前をAdoptiumに変更しました。
OpenJDKとAdoptOpenJDKの違い
最初はソースコードを提供し、他はそのソースコードのビルドを提供します。
以前はAdoptOpenJDKとして知られていたEclipse FoundationのAdoptiumは、Javaプラットフォームの実装を配布するいくつかのベンダーの1つにすぎません。これらには以下が含まれます:
Javaプラットフォームの実装のためにベンダーを選ぶ際の手引きとして、この私のフローチャートを参照してください。クリック/タップしてズームします。
別のリソース:Azul Systemsによるこの比較マトリックスは有用であり、私の心には真実で公平に思えます。
以下は、ベンダーと実装を選択する際に考慮すべき考慮事項と動機のリストです。
一部のベンダーは、JITテクノロジーの選択肢を提供しています。
このJavaエコシステムについてさらに理解するには、Java Is Still Freeをお読みください