Skip to content

DNET_JavaLicensing

nishi_74322014 edited this page Sep 11, 2026 · 1 revision

Java有償化について調べてみた。

概要

再び無償化(2021/9/14)

  • 推測では、OracleはCloudの競争力を維持のためらしい。

  • 最新版のOracle JDK 17(LTS)が無料で利用可能に

    • 新ライセンス「Oracle No-Fee Terms and Conditions (NFTC)」は、
      商用利用や本番環境での利用を含む全ユーザーに無料での利用を許可。
    • 四半期ごとのセキュリティ・アップデートも提供。
      次のLTSがリリースされてから1年が経過するまで続く。
  • 参考

補足(その後): NFTC による無償提供は Java 17 / 21 に適用されたが、
Java 21 では「次の LTS リリースの 1 年後まで」という期限付きである点は変わらない。
期限を過ぎた版を使い続ける場合は、従来どおり有償サブスクリプション、
または他ディストリビューション(Temurin / Corretto / Zulu 等)への移行が必要になる。

思い立ったが吉日

久しぶりにこんな作業をしてたら、

SQL Developerの前提として「JDK 8 required」などの文字列が見え、

「そう言えば、Java有償化云々って言われていて、
イマイチ解って無いので某弊Wikiに収集した情報でも書いてみようかな。」

などと思い立ったので書いてみることにした。

結果のサマリ

「Javaが有償化する」というのは誤解だった?

  • Java有償化というが、本質はサポート・ライフサイクルの変更

  • 有償化と言うのは、恐らくOracle Java11以降が商用で無償利用できなくなる点を指す。

  • 選択肢はそれ以外にもあるので、≒ 有償化というのは語弊があるが、
    「何もしなくても安心」的なノリなモノは、確かに、≒ 有償化になるのは事実。

本質はサポート・ライフサイクルの変更

  • 昨今のパッケージ・マネージャを利用した開発では、早いリリースは一般的になって来ている。

  • そこで、Javaのランタイム自体のリリースも、早いペースのタイムベースのリリースに変更される。

  • しかし、エンプラ分野で、

    • パッケージ・マネージャは、あまり浸透していなかったためインパクトが大きい模様。
    • 更に基幹系では、長期サポート版(LTS)が必要になってくる。コレ等はホボ有償になる。
  • ...と言う事で、無償のOracle版のJavaを使用し続けていたSIerにとって、

    • 早い(半年)ペースのタイムベースのリリースが一般化する。
    • 長期サポート版(LTS)が必要になるが、これらはホボ有償になる。

    と言うのが二重のショックだったらしく、大きな混乱を生んでいる模様。

ディストリビューション毎にサポート有/無が違う

以下の類のサポートがある。

  • パッチが適用されると言う意味のサポート
  • 技術問合せが可能と言う意味のサポート
  • ものによってはオンサイト・サポートとかもあるかも。

ディストリビューション毎に有償・無償が違う

基本的に、

  • サポートが無いものは無償
  • サポートが有っても、パッチまでのサポートは無償。
  • 技術問合せ以上のサポートが有るものは、当然、有償。

と言った感じになっている。

考えられる選択肢

バージョンアップしない。

  • エンプラは結構、バージョン上げないことが多い(≒ 今迄どおり)。
  • それは、それでイイのだケド、サポートが提供されないのが問題。
  • よくよく考えると、.NETなどのサポートも近年、結構変わっていたんだよ?

無償のOpenJDKへ移行

  • 移行(動作保証のためのテスト)が必要になるし、

  • 半年毎のバージョンアップしないとパッチ提供されないのが問題。

  • また、当然、無償なので、技術サポートなどは無い。

  • OpenJDKのディストリビューション

    • AdoptOpenJDK
      LTS版があるので、3〜4年ごとにバージョンアップで済む
    • Zulu
    • Amazon Corretto
    • その他

有償のディストリビューションへ移行

  • OracleJDK
    今迄どおりだが、お金がかかる。
    ※ これが、所謂一つの、Java有償化。

    • OracleJDK 8を使い続ける。
    • OracleJDK 11へ切り替える。
      • LTS版なら3〜4年ごとにバージョンアップ
  • クラウド上

    • Zulu
    • Amazon Corretto
    • , etc.
  • その他

    • Red Hat
    • IBM
    • , etc.

詳細

互換試験キット

Test Compatibility Kit(TCK、互換試験キット)と言うものがあり、
各社、別々の ディストリビューション を リリース することが出来るらしい。

OpenJDK

8以前

移行メモ: 元ページでは本文が「...」のまま書きかけになっている。

9以降

  • OpenJDKのリポジトリがJavaのマスタになったらしい。
  • 開発スタイルが変わったので最新版のみのメンテナンスする方向。
  • バージョンアップは半年ペースで、最新版のみをサポート対象とする予定。

企業との関係

  • Oracleと連携をとって開発されており、機能的な差異は無いとされている。
  • Oracleが半年オーナー、以後、LTSのサポートに挙手した、
    企業オーナー(≒ RedHat)になるのがコミュニティ上の慣例らしい。

移行メモ(正誤): 元ページの「TLSのサポート」は文脈上「LTS」の誤記のため修正した。

リリース

  • 公式のOpenJDKというものは存在しない。
  • オーナー企業が個別のディストリビューションとしてリリースするらしい。

ディストリビューション

Oracle

Oracle Javaは、Java全体の70%程度を占めているらしい。

サポート

  • Oracle Java 9や10は既にサポート切れ
    (多分、パッチ、技術問合せなどのサポートも)

  • Oracle Java 8の無償サポートは2019年1月まで
    ※ 無償化終了後の初のアップデートで、
     一般のWindowsユーザー向けのJavaアップデートでも
     新しいライセンス(OTNライセンス)のJavaがダウンロードされる。
     (OTNライセンスは開発 / テスト / デモなど目的を除く商用利用は有償になる)

有償版

有償LTS版(長期サポート版)

リリース

Java の該当節を参照。

Oracle以外

AdoptOpenJDK

  • OpenJDKのビルドを提供するプロジェクト(ソースは同じビルドが違う)。

  • IBM, Microsoft, Azul Systems, etc.のバックアップ

  • OpenJDKより多くのプラットフォームに対応(AIX)。

  • リリース

    • 半年ごとにアップデートする通常のバージョン
    • 4年のサポートを行うLTS版を提供する予定
    • 現時点のリリースとアップデートリリース期間
      • OpenJDK 8 (LTS)、2023年 9月
      • OpenJDK 11 (LTS)、2024年 9月

補足(最新化): AdoptOpenJDK は 2021年に Eclipse Foundation へ移管され、
現在は Eclipse Temurin(Adoptium)という名称でビルドが提供されている。

Zulu

  • Microsoft と Azul Systems による

  • Azure での公式 / 無料 / LTS

  • Windows用のインストーラーが提供

  • リリース

    • 現時点のリリースとアップデートリリース期間
      • version 8 (LTS): 2023年6月
      • version 11 (LTS): 2024年8月

Amazon Corretto

  • Amazonの提供するJava

  • Amazon AWSの公式JDK

  • Windows用のインストーラーが提供

  • リリース

    • 現時点のリリースとアップデートリリース期間
      • Corretto 8 (LTS): 2023年6月
      • Corretto 11 (LTS): 2024年8月

その他

  • Red Hat

    • Red Hat Linux / CentOS / Windowsに提供される可能。
    • OSに内包するOpenJDK8のサポートは2020年10月まで。
    • Windows版のRed Hatミドルウェア向けにもサポート含み提供される。
    • アップデートの提供(Java 8: June 2023、Java 11: October 2024)
  • IBM
    IBMの提供するJava

  • , etc.

フィーとサポート

フィー型か?サポート型か?、
また、其々の価格設定は各ベンダによる。

  • フィー型
  • サポート型

移行メモ: 元ページでは「フィー型」「サポート型」の項が
見出しのみで本文が無い(書きかけ)。

開発者ライセンス

ほとんどのディストリビューションで提供される模様。

OTNライセンス

  • 開発 / テスト / デモ用途の場合はチャージされないらしい。

  • パーソナルユースでも開発 / テスト / デモ用途以外はNGだったが、
    以下で、Java8以降はパーソナルユースでの使用が可能になったらしい。

    Oracle Technology Network (OTN) License Agreement for Oracle Java SE
    ...ゲームでも使われているため(マインクラフトのJava版があったりするらしい)。

  • Oracle Java SE License
    https://www.oracle.com/downloads/licenses/javase-license1.html

...

移行メモ: 元ページでは見出しのみで本文が無い(書きかけ)。

共存

ディストリビューション

  • 基本的に各ディストリビューション毎にインストール先の
    フォルダ(ディレクトリ)は異なるためバイナリ自体は共存可能。

  • 有効になるのは、PATH環境変数への実行パスが設定されているもの。
    殆どのディストリビューションで、インストーラが自動でパスを設定するので(Oracleを除く)、
    最後インストールしたJavaが利用されることになる。

  • ディストリビューションによってはインストール時のオプションで
    上記のOracle Javaのリンクを上書きするインストーラを提供している。

バージョン

  • Java 8ではOracle JavaはOpenJDK 8にない機能(Java Applet等)が含まれている。

  • Java 11 以降 Oracle は Oracle JavaとOpenJDKとで機能差をなくしたので、
    OpenJDK 11 以降のどのディストリビューションでも問題なく動作する。

Windows版

ほとんどのディストリビューションで提供される模様。

参考

ユーザ系

IT関連サイト

トレンド

リリースモデル変更後のトレンド

Wikipedia

Publickey

AdoptOpenJDK - Open source, prebuilt OpenJDK binaries

Java8、LTS版

hotspot の JDK を選択する場合。

判断基準

  • JDK or JRE

    • JDK:開発用
    • JRE:実行環境用
  • Hotspot or OpenJ9

    • Hotspot:Oracle Javaを使用している場合
    • OpenJ9:IBM Javaを使用している場合

Tags: 移行, Java, ライセンス, OSS, 開発基盤

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally