プロジェクト

全般

プロフィール

OpenJDK

はじめに

本記事は、2018年9月にリリースされた Java SE 11以降の状況を記載しています。

OpenJDKとは

Java の実行環境と開発環境である Java SE Development Kit のオープンソース開発プロジェクトでOracleにスポンサーされています。
ライセンスはGPLv2+Classpath Exceptionで提供されます。

OpenJDKバイナリ

OpenJDKバイナリ提供組織と内容一覧

この OpenJDK のソースコードをビルドしたバイナリ版が様々な組織から提供されています。

組織名 OpenJDK バイナリ名 Linux Windows MacOS ライセンス 長期サポート JavaFX同梱
Oracle Oracle JDK 有償1/無償2ライセンス N/A
(Oracle)OpenJDK GPLv2 クラスパス例外 N/A N/A
Eclipse Temurin GPLv2 クラスパス例外 N/A
Azul Systems Zulu GPLv2 クラスパス例外 N/A
ZuluFX GPLv2 クラスパス例外
Red Hat (Red Hat)OpenJDK N/A 商用ライセンス3 N/A
Amazon Corretto GPLv2 クラスパス例外 N/A
BellSoft Liberica JDK GPLv2 クラスパス例外
Microsoft Microsoft Build OpenJDK GPLv2 クラスパス例外 N/A
SAP SapMachine GPLv2 クラスパス例外 N/A

1 有償の商用ライセンスとして、Oracle Java SE Advanced(/Desktop)、Oracle Java SE (Desktop) Subscription が提供されており、Extended Support期限までの間、四半期毎のアップデート、商用ライセンスのみ提供される機能の利用および24時間サポートが提供される。

2 JDK 17から、No-Fee Terms and Conditions(NFTC)ライセンスの下、商用利用および配布可能な無償ライセンスが提供された。ただし期限は次のLTSバージョンが提供開始されてから1年後までと限定されている。NFTCライセンスの期限を過ぎた以降は、個人利用または組織での開発用途で無償利用可能な OTNライセンス(Oracle Technology Network License Agreement for Oracle Java SE)で無償提供の計画となっている。
https://www.oracle.com/technetwork/java/javase/terms/license/javase-license.html

3 Linux(RHEL)上でのOpenJDKは、RHELサブスクリプションに基づく使用。Red Hatミドルウェア以外でWindows上での実行(Java workload)には追加のサブスクリプション必要。Java workloadに開発用途が含まれるかどうかは調査中。

Oracle JDK

オープンソースのOpenJDKをOracle社がビルドしたバイナリを、有償のJava SEサブスクリプションで技術サポートと共に提供しています。
https://www.oracle.com/technetwork/java/javase/downloads/index.html

LTS版(JDK 11)は、4半期毎のアップデートも上述の条件で提供され、非LTS版(JDK 12~16)は次のバージョンが出るまでの半年間に適用されるアップデートが提供されています。
LTS版(JDK 17)は、有償のJava SEサブスクリプションの他、無償で商用利用可能な No-Fee Terms and Conditions(NFTC)ライセンスでも提供されるようになりました。NFTCライセンスはJDK 17のライフサイクルより短い期限が設定されています(次のLTS版がリリースされてから1年後まで)。

Java SEドキュメントの英語・日本語サイトへのリンク、日本語ダウンロード版の提供が次のサイトで提供されています。
https://www.oracle.com/jp/java/technologies/documentation.html

サブスクリプション種類と価格

https://www.oracle.com/java/java-se-subscription/

  • Oracle Java SE Desktop Subscription
    Named User Plus
    3600円/年・ユーザー
    1000ユーザー以上は人数により割引あり
  • Oracle Java SE Subscription
    Processor
    36,000円/年・プロセッサー(Intelプロセッサーの場合、総コア数×0.5)
    100プロセッサー以上はプロセッサー数により割引あり

OTNライセンス

なお、個人利用と開発用途(開発・試験・プロトタイプ・デモ)は別途 OTN License Agreement for Oracle Java SE で無償利用できます。

NFTCライセンス

Oracle JDK 17で導入された商用利用も無償で可能なライセンスです。
https://blogs.oracle.com/cloud-infrastructure/post/introducing-free-java-license

Oracle OpenJDK

オープンソースのOpenJDKをOracle社がビルドしたバイナリを無償提供しています。
Oracle の OpenJDKビルド トップページ
OpenJDKバイナリの過去アーカイブ(OpenJDK 9以降)

Zulu, ZuluFX(Azul Systems社)

オープンソースのOpenJDKをAzul Systems社が自前ビルドしたバイナリを無償提供し、また有償の技術サポートを提供しています。
https://www.azul.com/products/zulu-and-zulu-enterprise/

ダウンロードページ
https://www.azul.com/downloads/zulu-community/
  • Oracle JDK、OpenJDK公式では提供されていない32bit版も用意されています。
  • JavaFXを同梱したOpenJDKが提供されています。2019年2月3日時点で、OpenJDK 8およびOpenJDK 11のJavaFX同梱版が提供されています。

LTS版のアップデート、および半年リリースの最新版がダウンロード可能です。

Temurin JDK (Eclipse Foundation)

元は、AdoptOpenJDK Foundationが提供していたAdoptOpenJDKが、Eclipse Foundationに移行しました。
Eclipse Foundationの下、オープンソースのOpenJDKをAdoptiumプロジェクト傘下でTemurin JDKとして自前ビルドしたバイナリが無償提供されています。
最初のリリースは 2021年8月です。

https://adoptium.net/

LTS版のアップデート、および半年リリースの最新版がダウンロード可能です。

Liberica JDK (BellSoft社)

オープンソースのOpenJDKをBellSoft社が自前ビルドしたバイナリを無償提供し、また有償の技術サポートを提供しています。
https://bell-sw.com/java.html

  • JavaFXを同梱しています。
  • Windows, Linux x86, Linux ARM OS向けには64bit版に加えて32bit版を提供しています。

LTS版のアップデート、および半年リリースの最新版、また非LTSの過去のバージョンがダウンロード可能です。

Red Hat OpenJDK (Red Hat社)

オープンソースのOpenJDKをRed Hat社が自前ビルドしたバイナリを、Red Hat Enterprise Linux ディストリビューションに含めています。
OpenJDK 8は2026年5月まで、OpenJDK 11は2024年10月までのサポートです。

その他、Windows版のOpenJDKを提供しています。こちらはサブスクリプション契約が必要になる模様

For other Java workloads on Windows (non-Red Hat Middleware), an additional subscription for OpenJDK on Windows is required.

https://developers.redhat.com/products/openjdk/download/

Amazon Corretto

オープンソースのOpenJDKをAmazon社が自前ビルドしたバイナリを無償提供しています。
https://aws.amazon.com/jp/corretto/

提供バージョンは、LTSとなる8、11と、最新の非LTSバージョンです。OpenJDK 8相当のCorretto 8が2026年5月まで、OpenJDK 11相当のCorretto 11が2027年9月までのサポートです。

Microsoft Build OpenJDK

オープンソースのOpenJDKをMicrosoft社が自前ビルドしたバイナリを無償提供しています。
https://www.microsoft.com/openjdk

提供バージョンは、LTSとなる11と、最新の非LTSバージョンです。

SAP SapMachine

オープンソースのOpenJDKをSAP社が自前ビルドしたバイナリを無償提供しています。
https://sap.github.io/SapMachine/

提供バージョンは、LTSとなる11および17と、最新の非LTSバージョンです。

OpenJDKの情報

アップデート情報源

Azul Systems社(S. Ritter氏のブログ)

InfoQ Javaニュース総まとめ

https://www.infoq.com/jp/search.action?queryString=Javaニュース総まとめ

Java Magazine オンライン

https://blogs.oracle.com/javamagazine/

https://blogs.oracle.com/otnjp/java-magazine-2 (日本語訳)

The Java Version Almanac

https://javaalmanac.io/

JDKのバージョン間での違いを分かりやすく示しているサイトです。

  • JDKのバージョン間でのAPIの差異
  • 言語仕様の追加
  • Javaコードの近代化コード断片

ディストリビューション情報

OpenJDK Disco API

https://github.com/foojayio/discoapi
ディストリビューション情報をWebサービスで提供している。

JDK Butler

Disco APIを使うクライアントツール。

JDK Butlerの操作イメージ

Windowsインストーラでインストールした場合、ショートカットがスタートメニューにもデスクトップにもどこにも生成されません。
そこで、インストールされたディレクトリ下(C:\Program Files\JDKButler)のexeファイルをスタートにピン留めする等します。

JDK Mon

PCにインストールされているOpenJDKを検出・一覧化し、新しいバージョンが存在するかをチェックするツールです。

https://www.infoq.com/jp/news/2021/08/jdkmon-java/

JDKMon画面