-
Notifications
You must be signed in to change notification settings - Fork 0
DNET_JavaLicensing
-
TOP > Java
- Javaを書いてみる。
- Java有償化について調べてみた。
-
推測では、OracleはCloudの競争力を維持のためらしい。
-
最新版のOracle JDK 17(LTS)が無料で利用可能に
- 新ライセンス「Oracle No-Fee Terms and Conditions (NFTC)」は、
商用利用や本番環境での利用を含む全ユーザーに無料での利用を許可。 - 四半期ごとのセキュリティ・アップデートも提供。
次のLTSがリリースされてから1年が経過するまで続く。
- 新ライセンス「Oracle No-Fee Terms and Conditions (NFTC)」は、
-
参考
- Oracle、「Oracle JDK」を再び無料提供へ 本番環境でも利用可 - ITmedia NEWS
https://www.itmedia.co.jp/news/articles/2109/15/news147.html - オラクル、Oracle JDKを再び無料提供へ、
本番環境でも利用可。昨日リリースのJava 17から - Publickey
https://www.publickey1.jp/blog/21/oracle_jdkjava_17.html
- Oracle、「Oracle JDK」を再び無料提供へ 本番環境でも利用可 - ITmedia NEWS
補足(その後): NFTC による無償提供は Java 17 / 21 に適用されたが、
Java 21 では「次の LTS リリースの 1 年後まで」という期限付きである点は変わらない。
期限を過ぎた版を使い続ける場合は、従来どおり有償サブスクリプション、
または他ディストリビューション(Temurin / Corretto / Zulu 等)への移行が必要になる。
久しぶりにこんな作業をしてたら、
SQL Developerの前提として「JDK 8 required」などの文字列が見え、
「そう言えば、Java有償化云々って言われていて、
イマイチ解って無いので某弊Wikiに収集した情報でも書いてみようかな。」
などと思い立ったので書いてみることにした。
-
Java有償化というが、本質はサポート・ライフサイクルの変更。
-
有償化と言うのは、恐らくOracle Java11以降が商用で無償利用できなくなる点を指す。
-
選択肢はそれ以外にもあるので、≒ 有償化というのは語弊があるが、
「何もしなくても安心」的なノリなモノは、確かに、≒ 有償化になるのは事実。
-
昨今のパッケージ・マネージャを利用した開発では、早いリリースは一般的になって来ている。
-
そこで、Javaのランタイム自体のリリースも、早いペースのタイムベースのリリースに変更される。
-
しかし、エンプラ分野で、
- パッケージ・マネージャは、あまり浸透していなかったためインパクトが大きい模様。
- 更に基幹系では、長期サポート版(LTS)が必要になってくる。コレ等はホボ有償になる。
-
...と言う事で、無償のOracle版のJavaを使用し続けていたSIerにとって、
- 早い(半年)ペースのタイムベースのリリースが一般化する。
- 長期サポート版(LTS)が必要になるが、これらはホボ有償になる。
と言うのが二重のショックだったらしく、大きな混乱を生んでいる模様。
以下の類のサポートがある。
- パッチが適用されると言う意味のサポート
- 技術問合せが可能と言う意味のサポート
- ものによってはオンサイト・サポートとかもあるかも。
基本的に、
- サポートが無いものは無償
- サポートが有っても、パッチまでのサポートは無償。
- 技術問合せ以上のサポートが有るものは、当然、有償。
と言った感じになっている。
- エンプラは結構、バージョン上げないことが多い(≒ 今迄どおり)。
- それは、それでイイのだケド、サポートが提供されないのが問題。
- よくよく考えると、.NETなどのサポートも近年、結構変わっていたんだよ?
-
移行(動作保証のためのテスト)が必要になるし、
-
半年毎のバージョンアップしないとパッチ提供されないのが問題。
-
また、当然、無償なので、技術サポートなどは無い。
-
OpenJDKのディストリビューション
- AdoptOpenJDK
LTS版があるので、3〜4年ごとにバージョンアップで済む - Zulu
- Amazon Corretto
- その他
- AdoptOpenJDK
-
OracleJDK
今迄どおりだが、お金がかかる。
※ これが、所謂一つの、Java有償化。- OracleJDK 8を使い続ける。
- OracleJDK 11へ切り替える。
- LTS版なら3〜4年ごとにバージョンアップ
-
クラウド上
- Zulu
- Amazon Corretto
- , etc.
-
その他
- Red Hat
- IBM
- , etc.
Test Compatibility Kit(TCK、互換試験キット)と言うものがあり、
各社、別々の ディストリビューション を リリース することが出来るらしい。
移行メモ: 元ページでは本文が「...」のまま書きかけになっている。
- OpenJDKのリポジトリがJavaのマスタになったらしい。
- 開発スタイルが変わったので最新版のみのメンテナンスする方向。
- バージョンアップは半年ペースで、最新版のみをサポート対象とする予定。
- Oracleと連携をとって開発されており、機能的な差異は無いとされている。
- Oracleが半年オーナー、以後、LTSのサポートに挙手した、
企業オーナー(≒ RedHat)になるのがコミュニティ上の慣例らしい。
移行メモ(正誤): 元ページの「TLSのサポート」は文脈上「LTS」の誤記のため修正した。
- 公式のOpenJDKというものは存在しない。
- オーナー企業が個別のディストリビューションとしてリリースするらしい。
Oracle Javaは、Java全体の70%程度を占めているらしい。
-
Oracle Java 9や10は既にサポート切れ
(多分、パッチ、技術問合せなどのサポートも) -
Oracle Java 8の無償サポートは2019年1月まで
※ 無償化終了後の初のアップデートで、
一般のWindowsユーザー向けのJavaアップデートでも
新しいライセンス(OTNライセンス)のJavaがダウンロードされる。
(OTNライセンスは開発 / テスト / デモなど目的を除く商用利用は有償になる)
有償LTS版(長期サポート版)
-
価格など
http://www.oracle.com/us/corporate/pricing/price-lists/java-se-subscription-pricelist-5028356.pdf -
リリース
バージョンアップは3年毎の予定。- 現在は、8
- 次回は、11の予定
-
特典: Java SE 8 の アップデート・リリース
- Premier Supportサービス: 2022年3月まで
- Extended Supportサービス: 2025年3月まで
- Sustaining Supportサービス: 無期限
Java の該当節を参照。
-
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)という名称でビルドが提供されている。
-
Microsoft と Azul Systems による
-
Azure での公式 / 無料 / LTS
-
Windows用のインストーラーが提供
-
リリース
- 現時点のリリースとアップデートリリース期間
- version 8 (LTS): 2023年6月
- version 11 (LTS): 2024年8月
- 現時点のリリースとアップデートリリース期間
-
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.
フィー型か?サポート型か?、
また、其々の価格設定は各ベンダによる。
- フィー型
- サポート型
移行メモ: 元ページでは「フィー型」「サポート型」の項が
見出しのみで本文が無い(書きかけ)。
ほとんどのディストリビューションで提供される模様。
-
開発 / テスト / デモ用途の場合はチャージされないらしい。
-
パーソナルユースでも開発 / テスト / デモ用途以外は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 以降のどのディストリビューションでも問題なく動作する。
ほとんどのディストリビューションで提供される模様。
-
2019年1月以降どのJavaを使うべき?〜Oracle Java有償化後〜
https://papa111.com/2019/01/09/post-560/ -
JDK: 新しいリリースモデル解説(ver.2.1)
https://www.slideshare.net/oracle4engineer/jdk-ver21
-
アップデート終了でどうなる、Java有償化問題 | Navi.(情シスナビ)
https://josys-navi.hiblead.co.jp/ -
Oracle Java 有償化。その現状と企業の今後の対策について調査報告。 | Call Center Trends
https://callcenter-trend.com/2019/01/10/oracle-java-roadmap-and-plans/
-
Java 11正式版がリリース、本バージョンから
「Oracle JDK」のサポートは有償に (1/4) - ITmedia エンタープライズ
https://www.itmedia.co.jp/enterprise/articles/1809/28/news101.html -
JavaアップデートでインストールされるJava、
無償利用が一部用途にのみ限定されたバージョン
に切り替わる | スラド デベロッパー
https://developers.srad.jp/story/19/04/23/0821225/ -
公式アップデートの提供方法の変更に伴う Java SE の
商用ユーザに向けた注意喚起:IPA 独立行政法人 情報処理推進機構
https://www.ipa.go.jp/security/announce/java8_eol.html
リリースモデル変更後のトレンド
-
New Relic - Javaの現状報告
https://www.infoq.com/jp/news/2020/04/new-relic-jvm-report/ -
Javaの現状:世界で最も人気のあるプログラミング言語の
一つであるJavaの動向とデータ - New Relic公式ブログ
https://blog.newrelic.co.jp/engineering/state-of-java/
- OpenJDK - Wikipedia
https://ja.wikipedia.org/wiki/OpenJDK
-
来月にはJava 10が登場し、9月にはJava 11が登場予定。
新しいリリースモデルを採用した今後のJava、
入手方法やサポート期間はこう変わる(OpenJDKに関する追記あり)
https://www.publickey1.jp/blog/18/java_109java_11java.html -
Microsoft Azure上での実行目的なら
Javaの長期サポート(LTS)を無料提供、
MacやWindowsでの開発用途もOK。
マイクロソフトとAzul Systemsが提携で
https://www.publickey1.jp/blog/18/microsoft_azurejavaltsmacwindowsokazul_systems.html -
AWS、「Java 8」を2026年まで、「Java 11」は
2027年まで、現行より3年サポート期間延長を発表。
独自JavaディストリビューションのCorretto 8とCorretto 11で
https://www.publickey1.jp/blog/20/awsjava_82026java_1120273javacorretto_8corretto_11.html -
マイクロソフトが無償でJavaの長期サポートを提供へ、
「Microsoft Build of OpenJDK」をリリース
https://www.publickey1.jp/blog/21/javamicrosoft_build_of_openjdk.html
hotspot の JDK を選択する場合。
-
JDK
- AdoptOpenJDK - Open source, prebuilt OpenJDK binaries
https://adoptopenjdk.net/?variant=openjdk8&jvmVariant=hotspot
- AdoptOpenJDK - Open source, prebuilt OpenJDK binaries
-
JRE
以下からプラットフォームのJREを選択してダウンロード。- Archive | AdoptOpenJDK - Open source, prebuilt OpenJDK binaries
https://adoptopenjdk.net/archive.html?variant=openjdk8&jvmVariant=hotspot
- Archive | AdoptOpenJDK - Open source, prebuilt OpenJDK binaries
-
インストールが完了したら、システム環境変数に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を使用している場合
Tags: 移行, Java, ライセンス, OSS, 開発基盤
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。