最近のOracle Java SE サポート ロードマップポリシーの更新(特に2019年3月以降のOracleの無料リリース更新の終了)を受けて、Oracle Javaの代替品を探していました。OpenJDKがオープンソースの代替品であることを発見しました。そして、OpenJDKを採用、現在知られているAdoptium のように、あらかじめビルドされたバイナリです。これは困惑します。
OpenJDK と Adoptium/AdoptOpenJDK の違いは何ですか?
ベストアンサー1
要するに:
- OpenJDKには複数の意味があり、以下を指します。
- Java Platform, Standard Edition (Java SE) の無料かつオープンソースの実装
- オープンソースリポジトリ— Javaソースコード、別名OpenJDKプロジェクト
- Oracle が管理するビルド済みの OpenJDK バイナリ
- OpenJDKコミュニティによって管理されているビルド済みのOpenJDKバイナリ
- AdoptOpenJDK — コミュニティによってメンテナンスされているビルド済みのOpenJDKバイナリ(オープンソースライセンス)
説明:
ビルド済みのOpenJDK(またはディストリビューション) — バイナリ、以下からビルド参考:アーカイブまたはインストーラーとして提供され、さまざまなプラットフォーム向けに提供され、サポート契約も可能です。
OpenJDK、ソースリポジトリ(OpenJDKプロジェクトとも呼ばれる)は、気まぐれなベースのオープンソースリポジトリ、ホストされている出典: javascript. Java ソース コード。Java 機能の大部分 (VM やコア ライブラリからコンパイラまで) は、このソース リポジトリのみに基づいています。Oracle には、これの代替フォークがあります。
OpenJDKディストリビューション(以下のプロバイダーリストを参照)はビールのように無料そして、ちょっと言論の自由ただし、問題が発生した場合に Oracle に問い合わせることはできません。サポート契約はありません。さらに、Oracle は、LTS (長期サポート) リリースを含む最新の Java リリースである場合にのみ、OpenJDK (ディストリビューション) バージョンのアップデートをリリースします。Oracle が OpenJDK (ディストリビューション) バージョン 12.0 をリリースした日には、OpenJDK (ディストリビューション) バージョン 11.0 にセキュリティ上の問題があったとしても、Oracle は 11.0 のアップデートをリリースしません。Oracle によってのみ保守されます。
いくつかのOpenJDKプロジェクト - 例えばオープンJDK8そしてオープンJDK11- OpenJDK コミュニティによって管理されており、一部のプラットフォーム向けの OpenJDK バージョンのリリースを提供しています。コミュニティのメンバーは、これらの OpenJDK バージョンのセキュリティ脆弱性に対する修正をリリースする責任を負っています。
AdoptOpenJDK のディストリビューションは、 Oracle の OpenJDK ディストリビューションと非常によく似ています (無料であり、OpenJDK ソース リポジトリからソースをコンパイルして作成されたビルドである点)。AdoptOpenJDK は、パッチをバックポートしません。つまり、アップストリームと実質的に異なる AdoptOpenJDK の「フォーク/バージョン」はありません (Win32 サポートなどのビルド スクリプト パッチを除く)。つまり、コミュニティのメンバー (Oracle など、AdoptOpenJDK は含まない) が OpenJDK LTS バージョンの更新にセキュリティ修正をバックポートする場合、AdoptOpenJDK はそれらのビルドを提供します。OpenJDK コミュニティによって管理されています。
OracleJDKは、また別のディストリビューションです。JDK12 以降、OracleJDK の無料バージョンは提供されなくなります。Oracle の JDK ディストリビューションは、商用サポートを目的としています。このディストリビューションには料金がかかりますが、サポートは Oracle に頼ることになります。Oracle の OpenJDK とは異なり、OracleJDK には LTS バージョンのサポート期間が長くなっています。開発者は、この特定の JDK の個人/開発使用のみに無料ライセンスを取得できますが、これはほとんど誤解です。「バイナリのみ」は基本的に OpenJDK バイナリと同じだからです。つまり、商用利用しないと約束する限り、Oracle の Web サイトから LTS JDK のセキュリティ パッチ バージョンをダウンロードできるということです。
注意: Oracle による OpenJDK ビルドを「Oracle OpenJDK ビルド」と呼ぶのが最適かもしれません。
オラクルのJava製品マネージャー、ドナルド・スミス氏書く:
理想的には、状況に応じて、GPL または商用ライセンスのいずれかの下で、すべての Oracle JDK ビルドを単に「Oracle JDK」と呼びます。ただし、歴史的な理由により、わずかな違いが残っている間は、Oracle の OpenJDK ビルドと Oracle JDK として別々に参照します。
OpenJDK プロバイダーと比較
プロバイダー | ソースからの無料ビルド |
無料のバイナリ 配布 |
拡張 アップデート |
商用 サポート |
許可 ライセンス |
Webサイト |
---|---|---|---|---|---|---|
OpenJDKを採用 | はい | はい | はい | いいえ | はい | https://adoptopenjdk.net |
アマゾン – コレット | はい | はい | はい | いいえ | はい | 詳細はこちら |
アズール・ズールー | いいえ | はい | はい | はい | はい | https://www.azul.com/downloads/zulu/ |
ベルソフト リベリカ | いいえ | はい | はい | はい | はい | https://bell-sw.com/java.html |
IBM | いいえ | いいえ | はい | はい | はい | 参考: |
jClarity | いいえ | いいえ | はい | はい | はい | https://www.jclarity.com/adoptopenjdk-support/ |
オープンJDK | はい | はい | はい | いいえ | はい | https://adoptopenjdk.net/upstream.html |
オラクル | いいえ | はい | いいえ** | はい | いいえ | https://www.oracle.com/technetwork/java/javase/downloads |
オラクル | はい | はい | いいえ | いいえ | はい | 出典: java |
ojdkビルド | はい | はい | いいえ | いいえ | はい | ビルド |
レッドハット | はい | はい | はい | はい | はい | https://developers.redhat.com/products/openjdk/概要 |
サップマシン | はい | はい | はい | はい | はい | https://sap.github.io/SapMachine |
ソースからの無料ビルド- 配布ソースコードは公開されており、独自のビルドを組み立てることができます。
無料のバイナリ配布- 配布バイナリはダウンロードして使用できるように公開されています
拡張アップデート- 別名 LTS (長期サポート) - 6 か月のリリース ライフサイクルを超えたパブリック アップデート
商用サポート- 一部のプロバイダーは、有料顧客に対して拡張アップデートと顧客サポートを提供しています。例: Oracle JDK (サポートの詳細)
許容ライセンス- 配布ライセンスは非保護的である(例:Apache 2.0)
どの Java ディストリビューションを使用すればよいですか?
Sun/Oracle時代は、OpenJDKソースに基づいてプロプライエタリなダウンストリームJDKディストリビューションをSun/Oracleが生産するのが一般的でした。最近、Oracleは商用サポート付きのプロプライエタリなビルドのみを独自に行うことを決定しました。彼らはOpenJDKビルドも親切にも自社のWebサイトで公開しています。参考文献サイト。
JDK 11 以降では、単一ベンダー (Oracle) の考え方から、希望する条件 (構築対象のプラットフォーム、リリースの頻度と迅速性、サポートの構造など) で製品のディストリビューションを提供するプロバイダーを選択する考え方への移行が行われます。既存のベンダーを信頼できない場合は、OpenJDK を自分で構築することもできます。
OpenJDK の各ビルドは通常、同じ元のアップストリーム ソース リポジトリ (OpenJDK「プロジェクト」) から作成されます。ただし、各ビルドは、無料か商用か、ブランド付きかブランドなしか、純粋かバンドルかなど、非常にユニークです (たとえば、BellSoft Liberica JDK はバンドルされた JavaFX を提供しますが、これは JDK 11 以降の Oracle ビルドから削除されました)。
特定のディストリビューションを定義する環境 (Linux など) やライセンス要件がなく、最も標準的なJDK ビルドが必要な場合は、おそらく Oracle の OpenJDK または AdoptOpenJDK を使用するのが最善の選択肢です。
追加情報
OracleのJDKを超えて考える時が来たスティーブン・コールボーン著
Javaはまだ無料ですJava Champions コミュニティ (2018 年 9 月 17 日公開)
Java はまだ無料 2.0.0Java Champions コミュニティ (2019 年 3 月 3 日公開)
JDK アップデートに関する Aleksey Shipilev 氏のコメントオプシアンによるインタビュー(2019年6月27日公開)