メニューボタン
IBMi海外記事2022.04.13

Oracle JDKが再び無償化。それでもOpenJDKを推奨

Alex Woodie 著

Oracle社は、Oracle Java Development Kit(JDK)を使用するライセンス料金を企業に請求するとして物議を醸していましたが、そうした方針を転換して、Javaテクノロジーを再び無償提供するということです(先日、リリースされたOracle JDKバージョン17以降)。しかし、こうした動きによって、IBM i のショップがAccess Client Solutions(ACS)ソフトウェアを稼働するためにどのJavaパッケージを使用するかについてのIBMの推奨が変わることはなかったようです。

Oracle 社は、2018年にOracle JDKバージョン11の無償配布を止め、商用利用の場合に企業に料金を請求することとした(デスクトップ1台当たり年間30ドル、サーバー デプロイメントではプロセッサー1台当たり300ドル)ことで、Javaを利用するコミュニティの怒りを買うこととなりました。同時に、この巨大IT企業は、Oracle Technology Network(OTN)ライセンスの下で配布していた、Java Standard Edition(SE)バージョン8の利用に制限を加えました。

ライセンス条件の変更には、次のようなOracle社からの脅し文句も含まれていました。「本プログラムは、データ処理、内部業務、商用または本番利用を目的として使用することはできません。ただし、お客様のアプリケーションの開発、テスト、プロトタイピング、およびデモンストレーションを目的とする場合を除きます。」 Oracle社の決定に異議を唱えた誰ひとりとして、おそらく、このカリフォルニア州レッドウッドシティの企業によるソフトウェア監査に引っ掛かった人はいないようです。

Oracle社は、ムチだけでなく、アメも用意していました。引き続き、無償版のJDKを使用することを希望する組織には、OpenJDK(Sun Microsystems社が2006年に公開を始めたオープンソース版のJDK)を導入することが推奨されました。このソフトウェアは、GPLを介してライセンスされ、Oracle社、 IBM、およびその他のJavaコミュニティのメンバーによってサポートされており、バージョン7以降のJava SEの公式リファレンス実装となっています。

OpenJDKおよび関連するランタイムの導入は、IBMが2018年にIBM i コミュニティに推奨した対応策でしたが、現在でも、引き続き、推奨の対応策とされています。しかし、Oracle社の動きは広範囲にわたる反発を生みました。調査で示されたように、多くの組織がOracle JDKの使用を選んだためです。

Big Red(Oracle社の愛称)は、ようやく間違いを認め、間違いを正す方向に向かっています。 9月14日のブログ記事で、Oracle社プロダクト マネジメント担当シニア ディレクターのDonald Smith氏は次のように記しています。

「GPLの下でのOracle OpenJDKビルドの提供は大いに歓迎されましたが、開発者、学界、および企業からのフィードバックは、無償であることが明確に規定されたライセンスの下での、信頼できる堅固なOracle JDKも必要だというものでした。Oracle社では、開発者エコシステムからのフィードバックを踏まえて、Java 17以降では、そうした要望にきちんと応える形で提供を行うことを発表します。」

Oracle社は、OTNライセンスの代わりに、分かりやすく「Oracle No-Fee Terms and Conditions」(NFTC)ライセンスと呼ばれる新たなライセンスを介してOracle JDKを提供します。このライセンスは、「商用および本番環境での使用も含めて、すべてのユーザーに無償利用を許可します。有償でない限り、再配布は許可されます」とOracle社は述べています。当然ながら、いくつか制限はありますが、そうした制限については、 www.oracle.com/downloads/licenses/no-fee-license.htmlで、すべて確認することができます。

Oracle JDKバージョン17以降、Oracle社は、長期サポート(LTS: Long Term Support)リリースが提供開始されてから1年間、Oracle JDKの無償バージョンをサポートするとしています。Oracle JDK 17(Oracle社でも 9月14日に発表)は、最新のLTSです。3年間、無償でサポートされます。Oracle社は、次のLTSをJava 21とし、2023年9月に提供開始することを表明しました。また、Oracle社は、LTSのリリース サイクルを3年から2年へと短縮することも発表しています。

IBMは、IBM i の顧客がどのバージョンのデスクトップJavaランタイムおよびJava SDKを使用したらよいかに関する ガイダンス を修正しました。現時点では、ACSはJava 8以降が必要であり、IBMでは、Java 11での稼働を推奨しています。

OpenJDKをベースにしたJavaパッケージはいくつかありますが、現時点でのIBMの推奨フレーバーは、 8月に公開された 、OpenJDKをベースにしたIBM OpenJ9 JVMである、IBM Semeru Runtimesです。

このプラットフォームにおけるJavaの責任者である、IBM i オープンソース ソフトウェア担当IBMビジネス アーキテクトのJesse Gorzinski氏によれば、IBMは、Oracle社の方針変更を踏まえてJavaに関する推奨事項を再検討しましたが、スタンスは変わらないということです。

「当然ながら、Oracle社のライセンス方式の変更は、判断に影響を与えます」と、Gorzinski氏は『 IT Jungle』に述べます。「しかし、IBMは、揺らぐことなくOpenJ9コードベースに注力し続けます。」

IBMのACS向けの推奨ランタイムは IBM Semeru Runtimesであり、IBMは「コストの掛からない、高性能Javaランタイム」と称しています。IBM Semeru Runtimesは、Open EditionとCertified Editionの2つの異なるエディションで、異なるライセンスで利用可能です。「クライアントは、どれが最も適しているか選ぶことができ、オプションとしてIBMから商用サポートを受けることができます」とGorzinski氏は述べています。

また、IBMは、IBM i のショップに対して、 Eclipse Temurinを使用することを推奨しています。これには、Hotspot JVMとともにOpenJDKが含まれています。また、IBMでは、IBM i のショップにEclipse Temurin向けのサポート パッケージも販売しています。

あわせて読みたい記事

PAGE TOP