Javaライセンスの変更がACS利用コスト増になるのを避ける方法はありますか
【 当ドキュメントの目的 】
ACS利用の前提としてJavaが必要になりますが、その「有償化」に伴ってACS利用・運用におけるコスト増加を懸念する声が聞かれます。
このドキュメントはお客様のACS利用における便宜を図ることを目的として、Java「有償化」の具体的内容と、継続的に無償で利用する方法に関する、2020年10月時点におけるベル・データの理解をまとめたものです。
【 お断り 】
JavaはOracle社に帰属するため、ベル・データは公開情報に基づいて可能な限り当ドキュメントの正確性・網羅性を追求しておりますが、それを保証するものではありません。
必要に応じて適宜Oracle社ホームページをご参照ください。
【 サマリー 】
Oracle Java 8アップデート202(8u202)ないし以前のバージョンを継続使用するか、無償公開されているOpenJDKディストリビューションをダウンロードして使用します。
前者に対する修正プログラムは提供されませんが、後者は随時アップデートがなされます。
【 問題の背景 】
2019年4月16日をもってOracle Javaライセンス契約は、旧来の「BCL」(Binary Code License)から「Oracle Java SEのOracle Technology Networkライセンス契約」(以降「Java SE OTNライセンス契約」)へと変更されました。
同日以降にリリースされるアップデートを含む全てのJavaバージョンには、Java SE OTNライセンス契約が適用されます。
すなわちJava 8アップデート202(8u202)までは従来どおりのライセンス契約、同アップデート211(8u211)以降を利用する場合は新しいライセンス契約がOracle社との間で成立します。
それぞれのライセンスについて詳細は、Oracle社の以下サイトを参照ください。
BCLについて
(英語)https://www.oracle.com/downloads/licenses/binary-code-license.html
(日本語)https://www.oracle.com/jp/downloads/licenses/javase-dev-license.html
日本語訳は参考であり、英語原文が正式なものとして扱われます。
Java SE OTNライセンス契約について
(英語)https://www.oracle.com/downloads/licenses/javase-license1.html
Java SE OTNライセンスにおいては、個人用または開発目的などの場合は無償でのJava使用が許諾されますが、商用の場合は有償のJava SE Subscriptionを必要とします。
Javaの「有償化」とはこのSubscriptionが必須になる事によるものです。
Java SE Subscriptionについて
(英語)https://www.oracle.com/java/java-se-subscription.html
(日本語)https://www.oracle.com/jp/java/java-se-subscription.html
FAQと価格 :
(英語)https://www.oracle.com/java/technologies/javase/jdk-faqs.html
なお上記の英語版FAQによると、ダウンロードした当初のJavaとそのライセンス契約は、そのまま有効なものとして継続使用できるとあります。
ただしこの環境は開発者が古いシステムを保守できるようにするために提供しているのであり、最新のセキュリティ・パッチが提供されないなどのため、Oracle社は最新バージョンの使用を推奨しています。
Q. What happens to the Oracle Java SE releases I downloaded under previous licenses, such as the BCL?
A. You may continue to use releases you have downloaded under the terms of the license under which you downloaded them.
また以下URLにあるダウンロードサイトには、これから新規にダウンロードする場合であっても8u202と以前のバージョンにはBCLが適用されると記されています。
(英語)https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html
These Java SE 8 update releases are provided under the Binary Code License ("BCL").
【 対応策 】
2018年6月にリリースされたACS(IBM i Access Client Solutions)1.1.8.0と以降のバージョンは、前提としてJava 8以降を必要とします。
IBM社は特にLTS(Long Term Support)バージョンとして、Java 8または11の利用を推奨しています。
当ドキュメント作成時の2020年10月において、Java 9と10のサポートは既に終了していますので、これらの使用は推奨されません。
商用環境においてJavaを無償使用するにあたり、お客様には以下2つの選択肢があります。
IBMのOpenJ9 JVMを組み込んだOpenJDK
JVMとはJavaプログラム実行環境である仮想マシン、JDKとはJVMを前提として、プログラム実行のためのAPI群、アプリケーション開発のためのコンパイラやデバッガなどを含んだ、より包括的なパッケージです。
Oracle社はOpenJDKとして、GPLライセンスの元でJavaテクノロジーを継続的に無償公開しています。そしてIBMを含む開発者がOpenJDKに参画しており、長期的に無償でフィックスやセキュリティ・アップデートを提供します。IBM社はIBM OpenJ9 JVMに対する有償サポートも提供しています。パッケージは以下URLからダウンロードできます。
(英語)https://adoptopenjdk.net/releases.html?variant=openjdk11&jvmVariant=openj9
なおIBM社は、OpenJDKはACSのために有効利用でき、望ましい選択肢であるとコメントしています。
Amazon Corretto
Amazon Webサービスがマルチ・プラットフォーム向けに無償提供している、もう一つのOpenJDKディストリビューションであり、以下URLからダウンロードできます。
以上