「.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
思い立ったが吉日 †
久しぶりにこんな作業をしてたら、
SQL Developerの前提として「JDK 8 required」などの文字列が見え、
「そう言えば、JDKアンインストール云々って言われていて、
イマイチ解って無いので某弊Wikiに収集した情報でも書いてみようかな。」
などと思い立ったので書いてみることにした。
(検索システム無いのに社内情報を探せとか無理なので)。
結果のサマリ †
「Javaが有償化する」というのは誤解だった。 †
- 有償化と言うのは、恐らくOracle Java11以降が商用で無償利用できなくなる点を指す。
- 選択肢はそれ以外にもあるので、≒有償化というのは語弊があるが、
何もしなくても安心的なノリなモノは、確かに、≒有償になる。
本質はサポート・ライフサイクルの変更 †
- 昨今のパッケージ・マネージャを利用した開発で早いリリースは一般的になって来ている。
- しかし、
- エンプラ分野で、パッケージ・マネージャは、あまり浸透していなかったためインパクトが大きい模様。
- 更に分野によっては、長期サポート版(LTS)が必要になってくる。コレ等はホボ有償になる。
- と言う事で、無償のOracle版のJavaを使用し続けていたSIerにとって、
- 早い(半年)ペースのタイムベースのリリースが一般化する。
- 長期サポート版(LTS)が必要になるが、これらはホボ有償になる。
と言うのが二重のショックだったらしく、大きな混乱を生んでいる模様。
ディストリビューション毎にサポート有/無が違う †
以下の類のサポートがある。
- パッチが適用されると言う意味のサポート
- 技術問合せが可能と言う意味のサポート
- ものによってはオンサイト・サポートとかもあるかも。
ディストリビューション毎に有償・無償が違う †
基本的に、
- サポートが無いものは無償
- サポートが有っても、パッチまでのサポートは無償。
- 技術問合せ以上のサポートが有るものは当然有償。
と言った感じになっている。
考えられる選択肢 †
バージョンアップしない。 †
- エンプラは結構、バージョン上げないことが多い(≒今迄どおり)。
- それは、それでイイのだケド、サポートが提供されないのが問題。
- よくよく考えると、.NETなどのサポートも近年、結構変わっていたんだよ?
無償のOpenJDKへ移行 †
- 移行(動作保証のためのテスト)が必要になるし、
- 半年毎のバージョンアップしないとパッチ提供されないのが問題。
- また、当然、無償なので、技術サポートなどは無い。
無償のAdoptOpenJDKへ移行 †
- 移行(動作保証のためのテスト)が必要になる。
- LTS版があるので、3~4年ごとにバージョンアップで済む
有償サポート付きのOracle JDK †
今迄どうりだが、お金がかかる。
- JDK11へ切り替える。
- ...
- LTS版なら3~4年ごとにバージョンアップ
有償サポート付きのDistribution †
詳細 †
互換試験キット †
Test Compatibility Kit(TCK、互換試験キット)と言うものがあり、
各社、別々の ディストリビューション を リリース することが出来るらしい。
OpenJDK †
- 9からOpenJDKのリポジトリがJavaのマスタになったらしい。
- 企業との関係
- Oracleと連携をとって開発されており、機能的な差異は無いとされている。
- 11未満は、Oracleがオーナーだったが、11以後からRedHat?がオーナーになる。
- RedHat?社は
- OSに内包するOpenJDK8のサポートを独自に2020年10月まで行う。
- アップデートの提供(Java 8: June 2023、Java 11: October 2024)
- リリース
- バージョンアップは半年ペースで、最新版のみをサポート対象とする予定。
- LTS版をリリースするという話が出ていたが、公式発表は無く、期待できない。
- 現時点のリリース
リリース †
Java SE 8 (2014年3月18日) †
- 2014年3月4日に仕様が規定
- JDK 8 は2014年3月18日にリリースされた。
- Java ME 8 は2014年4月30日にリリースされた。
Java SE 9 (2017年9月21日) †
- Java SE 9 は 2017年9月21日にリリースされた。
- リリースモデル
タイムベースのリリースモデルへと移行
- 新機能の完成を待ってメジャーバージョンアップから、
- 毎年3月と9月の年2回メジャーバージョンアップへ変更。
- アップデートは年4回らしい。
- サポートサイクル
- サポート期間は、次のメジャーバージョンが出るまでの間(≒non-LTS)。
Java SE 10 (2018年3月20日) †
- 新リリースモデルによる初リリース
- 無償で入手可能な最後のメジャーバージョン
Java SE 11 (2018年9月25日) †
- オラクルによるビルドはOracle JDKとOpenJDKの二種類が提供
- Oracle JDKの商用利用は有償サポート契約を結んだ顧客のみ
- OpenJDK
Java SE 12 (2019年3月19日) †
ディストリビューション †
Oracle †
Oracle Javaは、Java全体の70%程度を占めているらしい。
サポートポリシー †
- Oracle Java 9や10は既にサポート切れ
- Oracle Java 8の無償サポートは2019年1月まで
- LTS版(長期サポート版)
- 現在は、JDK8
- 次回は、JDK11の予定
- バージョンアップは3年毎のサイクル予定。
OTNライセンス †
- 開発/テスト/デモ用途の場合はチャージされないらしい。
- 個人ユーザーは2020年12月末まで無償でJava8を利用可?
ココがチョット解らなくて、サポート無いものが無償?
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月
その他 †
参考 †