「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfrastructure.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-[[戻る>Java]]

*目次 [#b9ada740]
#contents

*概要 [#x23ca290]

**再び無償化(2021/9/14 [#u648429a]
-推測では、OracleはCloudの競争力を維持のためらしい。

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

-参考
--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

**思い立ったが吉日 [#ff828303]
久しぶりに[[こんな作業>https://techinfoofmicrosofttech.osscons.jp/index.php?Oracle11gXE%20%2B%20ODP.NET%20Managed%20Driver]]をしてたら、

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

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

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

**結果のサマリ [#l1f12153]

***「Javaが有償化する」というのは誤解だった? [#i7e9b9f3]
-Java有償化というが、[[本質はサポート・ライフサイクルの変更>#a60d5efc]]。

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

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

***本質はサポート・ライフサイクルの変更 [#a60d5efc]
-昨今のパッケージ・マネージャを利用した開発では、早いリリースは一般的になって来ている。

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

-しかし、エンプラ分野で、
--パッケージ・マネージャは、あまり浸透していなかったためインパクトが大きい模様。
--更に基幹系では、長期サポート版(LTS)が必要になってくる。コレ等はホボ有償になる。

-...と言う事で、無償のOracle版のJavaを使用し続けていたSIerにとって、
--早い(半年)ペースのタイムベースのリリースが一般化する。
--長期サポート版(LTS)が必要になるが、これらはホボ有償になる。

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

***ディストリビューション毎にサポート有/無が違う [#v8bd8117]
以下の類のサポートがある。

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

***ディストリビューション毎に有償・無償が違う [#n64439c7]
基本的に、

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

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

**考えられる選択肢 [#j6b544db]

***バージョンアップしない。 [#w67fa2e1]
-エンプラは結構、バージョン上げないことが多い(≒ 今迄どおり)。
-それは、それでイイのだケド、サポートが提供されないのが問題。
-よくよく考えると、.NETなどのサポートも[[近年、結構変わっていた>https://techinfoofmicrosofttech.osscons.jp/index.php?.NET%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%82%A2%E3%83%83%E3%83%97#x721bd87]]んだよ?

***無償のOpenJDKへ移行 [#i07644ae]
-移行(動作保証のためのテスト)が必要になるし、
-半年毎のバージョンアップしないとパッチ提供されないのが問題。
-また、当然、無償なので、技術サポートなどは無い。

-OpenJDKのディストリビューション
--AdoptOpenJDK~
LTS版があるので、3~4年ごとにバージョンアップで済む
--Zulu~
--Amazon Corretto~
--その他

***有償のディストリビューションへ移行 [#cf50e07e]

-OracleJDK~
今迄どうりだが、お金がかかる。~
※ これが、所謂一つの、Java有償化。
--OracleJDK 8を使い続ける。
--OracleJDK 11へ切り替える。
---...
---LTS版なら3~4年ごとにバージョンアップ

-クラウド上
--Zulu
--Amazon Corretto
--, etc.

-その他
--Red Hat
--IBM
--, etc.

*詳細 [#e806e49b]

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

**OpenJDK [#d9f81a03]

***8以前 [#tf1e2e10]
...

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

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

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

*ディストリビューション [#h40443f0]

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

***サポート [#ob3e07ee]
-Oracle Java 9や10は既にサポート切れ~
(多分、パッチ、技術問合せなどのサポートも)

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

***有償版 [#hb522e6a]
有償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#z24a058c]] [#wd01436a]

**Oracle以外 [#had7dbf8]

***AdoptOpenJDK [#v40f00f6]
-OpenJDKのビルドを提供するプロジェクト(ソースは同じビルドが違う)。

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

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

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

***Zulu [#f163eddd]
-Microsoft と Azul Systems による
-Azure での公式 / 無料 / LTS
-Windows用のインストーラーが提供

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

***Amazon Corretto [#p8fd5336]
-Amazonの提供するJava
-Amazon AWSの公式JDK
-Windows用のインストーラーが提供

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

***その他 [#ee303fa0]
-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.

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

***フィー型 [#u1591925]

***サポート型 [#jbaf403a]

**開発者ライセンス [#c7f79e2e]
ほとんどのディストリビューションで提供される模様。

***OTNライセンス [#rc03ed53]
-開発 / テスト / デモ用途の場合はチャージされないらしい。

-パーソナルユースでも開発 / テスト / デモ用途以外は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

***... [#qa81c485]

**共存 [#y81976b6]

***ディストリビューション [#me7b2c73]

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

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

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

***バージョン [#q9196512]

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

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

**Windows版 [#n6dfd90a]
ほとんどのディストリビューションで提供される模様。

*参考 [#k57dfd72]
-2019年1月以降どのJavaを使うべき?~Oracle Java有償化後~~
https://papa111.com/2019/01/09/post-560/

-JDK: 新しいリリースモデル解説(ver.2.1)~
https://www.slideshare.net/oracle4engineer/jdk-ver21

**ユーザ系 [#nd4823f9]
-アップデート終了でどうなる、Java有償化問題 | Navi.(情シスナビ)~
https://josys-navi.hiblead.co.jp/josys-bk_java%E6%9C%89%E5%84%9F%E5%8C%96%E5%95%8F%E9%A1%8C_181130

-Oracle Java 有償化。その現状と企業の今後の対策について調査報告。 | Call Center Trends~
https://callcenter-trend.com/2019/01/10/oracle-java-roadmap-and-plans/

**IT関連サイト [#g02d3bd2]

-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

**トレンド [#g684f906]
リリースモデル変更後のトレンド

-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/

**Wikipedia [#o2872a32]
-OpenJDK - Wikipedia~
https://ja.wikipedia.org/wiki/OpenJDK

**Publickey [#ge9f4c91]
-来月には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
**AdoptOpenJDK - Open source, prebuilt OpenJDK binaries [#md478ae9]

***Java8、LTS版 [#f6e5c5ab]
hotspot の JDK を選択する場合。

-JDK

--AdoptOpenJDK - Open source, prebuilt OpenJDK binaries~
https://adoptopenjdk.net/?variant=openjdk8&jvmVariant=hotspot

-JRE~
以下からプラットフォームのJREを選択してダウンロード。

--Archive | AdoptOpenJDK - Open source, prebuilt OpenJDK binaries~
https://adoptopenjdk.net/archive.html?variant=openjdk8&jvmVariant=hotspot

-インストールが完了したら、システム環境変数にJAVA_HOMEを設定する。~
(何気に、インストール・オプションで自動登録も可能)
 JAVA_HOME=C:\Program Files\AdoptOpenJDK\jdk-8.0.222.10-hotspot

***判断基準 [#qe9689ff]
-JDK or JRE
--JDK:開発用
--JRE:実行環境用

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

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS