.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

思い立ったが吉日

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

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

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

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

結果のサマリ

「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が半年オーナー、以後、TLSのサポートに挙手した、
    企業オーナー(≒ RedHat?)になるのがコミュニティ上の慣例らしい。

リリース

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

ディストリビューション

Oracle

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

サポート

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

有償版

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

  • リリース
    バージョンアップは3年毎の予定。
    • 現在は、8
    • 次回は、11の予定
  • 特典: Java SE 8 の アップデート・リリース
    • Premier Supportサービス: 2022年3月まで
    • Extended Supportサービス: 2025年3月まで
    • Sustaining Supportサービス: 無期限

リリース

Oracle以外

AdoptOpenJDK

  • OpenJDKのビルドを提供するプロジェクト(ソースは同じビルドが違う)。
  • IBM, Microsoft, Azul Systems, etc.のバックアップ
  • OpenJDKより多くのプラットフォームに対応(AIX)。
  • リリース
    • 半年ごとにアップデートする通常のバージョン
    • 4年のサポートを行うLTS版を提供する予定
    • 現時点のリリースとアップデートリリース期間
      • OpenJDK 8 (LTS)、2023年 9月
      • OpenJDK 11 (LTS)、2024年 9月

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版があったりするらしい)。

...

共存

ディストリビューション

  • 基本的に各ディストリビューション毎にインストール先の
    フォルダ(ディレクトリ)は異なるためバイナリ自体は共存可能。
  • 有効になるのは、PATH環境変数への実行パスが設定されているもの。
    殆どのディストリビューションで、インストーラが自動でパスを設定するので(Oracleを除く)、
    最後インストールしたJavaが利用されることになる。
  • ディストリビューションによってはインストール時のオプションで
    上記のOracle Javaのリンクを上書きするインストーラを提供している。

バージョン

  • Java 8ではOracle JavaはOpenJDK 8にない機能(Java Applet等)が含まれている。
  • Java 11 以降 Oracle は Oracle JavaとOpenJDKとで機能差をなくしたので、
    OpenJDK 11 以降のどのディストリビューションでも問題なく動作する。

Windows版

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

参考

ユーザ系

IT関連サイト

  • 来月にはJava 10が登場し、9月にはJava 11が登場予定。新しいリリースモデルを採用した
    今後のJava、入手方法やサポート期間はこう変わる(OpenJDKに関する追記あり) - Publickey
    https://www.publickey1.jp/blog/18/java_109java_11java.html

トレンド

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

Wikipedia

AdoptOpenJDK - Open source, prebuilt OpenJDK binaries

Java8、LTS版

hotspot の JDK を選択する場合。

  • JDK
  • JRE
    以下からプラットフォームのJREを選択してダウンロード。
  • インストールが完了したら、システム環境変数にJAVA_HOMEを設定する。
    (何気に、インストール・オプションで自動登録も可能)
    JAVA_HOME=C:\Program Files\AdoptOpenJDK\jdk-8.0.222.10-hotspot

判断基準

  • JDK or JRE
    • JDK:開発用
    • JRE:実行環境用
  • Hotspot or OpenJ9
    • Hotspot:Oracle Javaを使用している場合
    • OpenJ9:IBM Javaを使用している場合

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2020-07-08 (水) 14:51:09 (77d)