orangeitems’s diary

クラウドではたらくエンジニアの日々の感想です。

Java SE Subscription : Oracleから発表された情報まとめ

f:id:orangeitems:20180623130844j:plain

 

概要

米Oracleが2018年6月21日、Java SEの有償サブスクリプションモデルである、Java SE Subscriptionを発表しています。

当記事では、米Oracleが発表している内容(公式ブログによるクイックサマリー、および、製品ページに掲載されたJava SE Subscription FAQ)を日本語に翻訳してまとめています。

なお、実際に購入を検討される際は日本オラクルにご確認いただくことを推奨します。

 

 

Oracle公式ブログ「Java Platform Group, Product Management Blog」

引用元:

https://blogs.oracle.com/java-platform-group/a-quick-summary-on-the-new-java-se-subscription

 

本文(日本語訳):

新しい Java SE Subscription のクイックサマリー

ドナルドスミス製品管理シニアディレクター

今日、OracleはOracle Java SE Subscriptionの導入を発表しました。簡単に言えば、Linuxアップデートを購入するのと同じように、Oracleのサポートを含むJava SEアップデートへのアクセスを購入することができます。価格は低く、シンプルです。私たちはすぐにオンラインでサブスクリプションすることができます。

この新しいオファリングは、開発者がOracleからJava SEを入手して使用する方法を変更するものではありません。昨年発表されたとおり、OracleはGPL + CPEライセンスに基づいてOpenJDKビルドを提供しており、2018年9月のJava SE 11の発売によりOracle JDKと機能的に互換性を持たせる予定です。今後、ほとんどの開発者や組織は、私たちは、Oracle JDKとOpenJDKビルドを同等にする努力を完了しています。もう "BCL"(バイナリーコードライセンス)は不要です。Linuxと同じライセンスの下でJDKを使用しクラスパス例外を適用することで、さらに柔軟性を持たせてください。

Java SEサブスクリプションでは、Java SEの商用ライセンスとテクニカルサポート、レガシーバージョンのアップデートへのアクセスを提供することで、すべての機能が追加されているので、独自のスケジュールで後のリリースにアップグレードできます。さらに1年または2年でOracle Java SEのデスクトップディプロイメントテクノロジを他のソリューションに移行することを望む組織は、時間を購入します。高価な永久ライセンスを購入する必要はなく、必要に応じてデスクトップユーザーのサブスクリプションを購入するだけです。

さらに情報が必要であれば、下記を参照してください。

Java SE Subscription FAQ
Java SE Subscription データシート
Java SE Subscription Oracle.Com ページ

 

 

Oracle「Java Subscription FAQ」

引用元:

http://www.oracle.com/technetwork/java/javaseproducts/overview/javasesubscriptionfaq-4891443.html

 

本文(日本語訳):

Oracle Java SE Subscription FAQ

 

 

Java SE Subscription

 

Q. Java SE Subscriptionとは何ですか? Java SEサブスクリプションでは何にアクセスできますか?

A. Java SE Subscriptionは、デスクトップ、サーバー、またはクラウドのデプロイメントで使用するためのJava SEライセンスおよびサポートを含む、シンプルで低価格の月額サブスクリプションです。一般的に使用されるモデルで、Linuxディストリビューションでは人気があります。サブスクリプションでは、OracleからJava SEのパフォーマンス、安定性、およびセキュリティーに関するテスト済みのテスト済みのアクセス権が提供されます。また、24時間365日My Oracle Support(MOS)へのアクセス、27言語でのサポート、Java SE 8デスクトップ管理、監視、ディプロイメントなどの利点があります。詳細は、Java SEサブスクリプションを参照してください。

 

Q. Java SEサブスクリプションのコストはいくらですか?

A. デスクトップの価格は月額ユーザー1人につき2.50ドルです。サーバおよび/またはクラウドの導入に使用するプロセッサ価格は、月額25ドル以下です。詳細は以下の別のセクションに記載されています。

 

Q. Java SEサブスクリプションの用語の長さはどのくらいですか?

A. 標準的な期間は1年で、2年および3年の条件があります。その他のオプションについては、弊社サポートにお問い合わせください。

 

Q. Java SEサブスクリプションでサポートアップデートを入手するにはどうすればよいですか?

A. 包括的なJava SEサポートは、Java SEサブスクリプションの中心であり、My Oracle Support(MOS)を介して提供されます。

 

Q. Java SE Advancedで利用可能な「Java SE Commercial Features」をJava SE Subscriptionで使用することはできますか?

A. Java SE Subscriptionは、Java SE 8および関連する他のバージョンの「Java SE Commercial Features」を使用し、サポートすることを許可します。ライセンスの詳細については、Java SEのドキュメントページを参照してください。
現在のJava SE Advancedライセンシー向けのJava SEサブスクリプションの詳細については、このFAQの「現在のJava SE Advanced / Java SEスイートユーザー」のセクションを参照してください。

 

Q. サブスクリプションを更新しないとどうなりますか?

A. Java SEサブスクリプションの終了時に、サブスクリプションでダウンロードされた商用ソフトウェアに対する権利とOracle Premiereサポートへのアクセスが終了します。サブスクリプションを終了する前に、サブスクリプション終了前にJava SEアプリケーションをOpenJDKバイナリに移行することをお勧めします(GPLライセンスの下で)。これにより、アプリケーションを中断なく継続して実行することができます。

 

Q. サブスクリプションはJava SE Advancedなど、Oracleの伝統的な永久ライセンス製品とどのように異なるのですか?

A. 恒久ライセンスソフトウェアには、初期費用と追加の年間サポートおよびメンテナンス費用があります。サブスクリプションでは、ライセンス、アップデート、アップグレード、およびサポートを単一の価格で提供します。あなたが必要とするものは、それが必要な時間枠のためだけに支払うだけです。詳細については、上記の質問「サブスクリプションを更新しないとどうなりますか?」も参照してください。

 

Q. Java SEサブスクリプションにサインアップすると、6ヶ月のリリース間隔がどう影響しますか?

A. 新しいリリース間隔に追いつくこともできますが、Java SEサブスクリプションでは、プロダクションアプリケーションがより新しいリリースに移行する時期と方法を制御できます。 Java SE Subscriptionを使用すると、LTSリリースのアップデートを使用できるため、最長8年間、特定のLTSリリースバージョンにとどまることができます。組織は、ワークロードを開発から運用に移行するときに、いつでもサブスクリプションにアドオンを容易に追加できます。 Java SEサブスクリプションは、エンタープライズ向けにJava SEの長期的なサポートとコントロールを提供します。また、Java SE 8デスクトップマネジメントコマーシャルフューチャーへの継続的なアクセスも提供します。

 

Q. Java SE Subscriptionのシステム要件と認定された設定は何ですか?

A. Java SE Subscriptionのシステム要件と認定されたコンフィグレーションは、Java SEドキュメントサイトに記載されています。

Q. Java SEサブスクリプションユーザーの場合は、バグや拡張要求(RFE)を報告できますか?

A. はい、My Oracle Supportを使用します。ウィザードでは、製品情報を指定し、サービスリクエスト(SR)に構成情報を添付するプロセスを案内します。

 

Q. Java SEサブスクリプションのフィードバックおよび/または質問はどこに送信しますか?

A. 顧客の場合は、My Oracle Supportを使用してください。顧客ではなく、Java SEに関する技術的なフィードバックがある場合は、https://java.com/reportをご覧ください。販売、サポート、製品、および/またはライセンスに関するその他のお問い合わせは、https://oracle.com/contactをご参照ください。


Q. JavaFX、Java Web Start、またはアプレットをエンタープライズアプリケーションの一部として使用すると、Java SEサブスクリプションはどのように影響しますか?

A. Java SEサブスクリプションには、Oracle Java SEサポートロードマップに記載されているように、Oracle Premier Supportタイムラインを通じてJava SE 8上でのJavaFXのサポートが含まれています。詳細については、「JavaFXおよびその他のJavaクライアントロードマップの更新の将来」を参照してください。

Java SE 8は、デスクトップ展開を対象とした最後のJava SEリリースです(Java Web StartやスタンドアロンシステムJREなど)。 Java SE 8は2019年1月に公開アップデートが終了し、商用利用者は他のテクノロジに移行するか、Java SEサブスクリプションを購入する必要があります。オラクルは、Java Web Startテクノロジを含むJava SE 8の商用サポートを少なくとも2025年まで提供します。

Javaアプレットは廃止され、2019年3月以降はいつでも削除される可能性があります。詳細は、Javaクライアント・ロードマップ・アップデート - Oracleホワイト・ペーパー(pdf)を参照してください。

 

Q. コンテナプラットフォーム(Dockerなど)またはCloudデプロイメント環境を使用してアプリケーションを実行すると、Java SE Subscriptionはどのように影響しますか?

A. Java SEサブスクリプションは、ユーザー(デスクトップ)またはプロセッサ(サーバーおよび/またはクラウド)ごとに使用できます。基本となるアプリケーションのアーキテクチャと展開モデルは価格に影響しません。

 

Q. 私がISVでJava SEを製品に含める場合はどうなりますか?

A. Java SEをデバイスまたはアプリケーションに組み込み、永久ライセンス付きの「シュリンクラップ」ソフトウェアを配布する場合は、「バイナリライセンスおよび再配布契約」の下でISV製品に関する詳細情報を販売店に問い合わせてください。別の方法で、Java上で動作するが埋め込みはしないホストされたアプリケーションを提供する場合は、Java SE Subscriptionが必要な場合があります。詳細は弊社サポートにお問い合わせください。

 

 

現在のJava SE Advanced / Java SEスイートユーザー

 

Q. 既存のJava SE Advanced / Java SE Suiteライセンスはどうなりますか?

A. Java SE Advanced、Java SE Advanced Desktop、およびJava SE Suiteのライセンスおよび関連サポートの提供は、引き続き通常通り行われます。既存のライセンシーは、この新製品の提供に関連する何もする必要はありません。ビジネスが成長しており、現在のデスクトップ、サーバー/クラウドライセンスを拡張したい場合は、弊社サポートにお問い合わせください。

 

Q. Java SE SubscriptionとJava SE Advanced / Java SE Suiteの違いは何ですか?

A. Java SE Subscriptionは、Java SEデスクトップ、サーバー、およびクラウドのニーズに対応する毎月のライセンスおよびサポートソリューションです。 Java SE Advancedと同じ機能を提供しますが、より便利な製品です。 Java SEアプリケーションのアップグレードと更新を管理する方法とタイミングを柔軟に設定できます。

 


OpenJDKおよび/またはOracle JDK BCLユーザー

 

Q. 私は既に、OracleのOpenJDKバイナリおよび/またはBCLライセンスのOracle JDKを使用しています。 Java SEサブスクリプションから、OpenJDKまたはOracle JDKにはないものがありますか?

A. オラクルはOpenJDKのビルドをGPLで提供しており、Oracle JDKと互換性があるように取り組んでいます。これらのOpenJDKビルドは、6ヶ月のリズムで定期的に提供され、四半期ごとのセキュリティアップデートが定期的に提供され、開発者を対象としています。本番アプリケーションを移行する際の柔軟性を望む組織は、現在および多数の古いバージョンで長期間のサポートとツールを提供するJava SEサブスクリプションから恩恵を受けることができます。

Java SE Subscriptionを使用すると、業界のコンプライアンス要件とビジネスニーズを満たすJava SEバージョンを選択できます。 Java SE Subscriptionは、My Oracle Support(MOS)オンラインおよび電話サポートへのアクセスも提供します。 Java SE 6,7,8などのパフォーマンス、安定性、セキュリティアップデートに直接アクセスできます。

Java SE 8は、Web Startを介してJavaをターゲットとしたブラウザ展開の最後のメジャーリリースです。最新のJava SEバージョンは、JREがバンドルされ、アプリケーションと共に配布される現代的なアプリケーションのパッケージングおよびデプロイメントの慣行に従う必要があります。

Java SEサブスクリプションは、デスクトップ上のJava SEの管理を簡素化するJava SE 8デスクトップマネジメントコマーシャルファンクションへの長期アクセスを提供します。

 

Q. 私はOracleがビルドしたOpenJDKを使用しています。あるいは現在は利用できる無償のOracle JDKを利用しています。Java SE Subscriptionはどのように影響しますか?

A. Java SE Subscriptionは、OpenJDKまたはOracle JDKの使用には影響しません。

 

 

その他のOracle製品

 

Q. Oracle Java SEランタイムに依存する別のOracle製品を使用する場合、Java SE Subscriptionはどのように影響しますか?

A. Java SEが必要なOracle製品を使用する場合は、Oracle製品を実行する唯一の目的でOracle Java SEランタイムを使用することができます。 Java SE Subscriptionは、Oracleによってライセンスされていない製品を実行するためにOracle Java SEランタイムを使用する必要がある場合に、ライセンスおよびサポートを提供します。

 


Oracle Java SEサブスクリプションの価格設定

下記の価格は、2018年7月に予定されているOracle Java SE Subscriptionのグローバル・プライス・リストの入手に先立ち、情報提供の目的で提供されています。

 

f:id:orangeitems:20180623114951p:plain

※翻訳注 上記はデスクトップサブスクリプションの価格表。Volumeはオーダーする数。Subscription Metricは購入する単位。Named User Plusは、ユニークユーザー数に課金するモデル。インストール数ベースではなく、ユーザー数ベースになる。右の価格は1単位あたりの価格となる。

 

f:id:orangeitems:20180623115034p:plain

※翻訳注 上記はサーバーで利用する場合のサブスクリプションモデル。Processorは、プロセッサーごとのカウントを指す。

 


セーフハーバー声明

 

上記の説明は、一般的な製品の方向性を概説することを意図しています。これは情報提供のみを目的としており、いかなる契約にも組み込むことはできません。商品、コード、または機能を提供する約束ではなく、購買意思決定に頼るべきではありません。オラクル製品について記述されている機能の開発、リリース、およびタイミングは、オラクル社の単独の裁量で行われます。

 

 

感想

ここからは個人的な感想となります。

 

Java SE Subscriptionをクラウドで動かすときのライセンスカウントに注意

サーバーサイドでのサブスクリプションカウントは、プロセッサー数単位となります。オンプレミスの場合は動かす物理サーバー単位に購入すればよいのでわかりやすいです。2プロセッサーの物理サーバーを3台並べて使う場合は、6 x $25 = $150が、月額コストです。円にして16,500円、年間では198,000円(1ドル110円換算)となります。

一つ問題なのは、クラウドで動かす場合です。今回クラウドで利用することそのものが記載されているのですが、クラウドの場合は仮想サーバーのコア数しかわかりません。

Oracle Databaseの場合で、クラウドの仮想サーバーで利用するという場合は、Oracle Cloud、AWS、Azureしか認められていないのは有名な事実です。

クラウド・コンピューティング環境における Oracle ソフトウェアのライセンス | Oracle (PDFファイル)

Oracle Processor Core Factor Table 補足資料 | Oracle

承認されたクラウド環境ではない環境については、オンプレミスの考え方にて、その仮想サーバーを動かす可能性のある物理サーバーの全プロセッサーに対して、プロセッサーライセンスを購入しなければいけません。

Oracle DatabaseをVMwareやHyper-Vなどの仮想環境で動かす設計をしたときに、ライブマイグレーションとライセンスの関係の考え方で苦労された方はいらっしゃると思います。全く同じ問題が発生するのでご注意ください。

具体的に言えば、

A 仮想サーバーを提供するIaaS
B 物理サーバーの仕様が公開されていない
C 仮想サーバーが動く物理サーバーが不定

Aであり、かつ(BもしくはC)であれば、Java SE Subscriptionは事実上動かせないということになります。上記制約により、Oracle Databaseだけ物理サーバーで動かす設計をされた方もいらっしゃるのではないでしょうか。Oracle Java SE Subscriptionも同じ考え方となるということになります。

 

依然として、OpenJDKでLTS提供されるとは言っていない

Oracleは、LTSについてむしろJava SE Subscriptionのメリットであるように言っています。むしろJava SE 8が2025年までLTSを提供するということを前に打ち出してきました。

サブスクリプションモデルが受け入れられない場合、OpenJDKに置き換えるようと言っていますが、OpenJDKにLTSがあるとは決して言っていません。

下記のように、OracleはLTSの一部メニューである、セキュリティーパッチの提供をOpenJDKで支援する旨発言しています。

OpenJDK11のLTS(長期サポート)実現をOracleが支援する方向で調整 - orangeitems’s diary

今のところこの発言にかけるしかないかなと思います。

ただ、企業はオープンソースのリスクを認識しつつあります。オープンソース製品の一部のコミュニティー運営は俗人的であったり、特定企業の支援によってなりたっていたりするため、場合によっては安定的に使い続けられない状況が発生する点です。あるオープンソース製品において、企業が買収したと思えば転売したりし、結局更新もされなくなった件も知っています。この点において、むしろJava SE Subscriptionを購入しOracleが製品の継続性を保証してくれるほうが良い、という見方もあると思います。

また、RedHatに付属するOpenJDKについては、メンテナンスを独自に提供し続けるものと思います。したがって、RedHat付属のOpenJDK8のサポートは

OpenJDK ライフサイクルおよびサポートポリシー - Red Hat Customer Portal

にある通り、2020年10月で終わり、とみてよいと思います。そして、ここ最近、Java SE 11発表後にOpenJDK11をリリースし、RedHatとしてOpenJDK8と同様に長期サポートする旨を表明しました。

Red Hat OpenJDK 11 Advice - Red Hat Customer Portal

(読むためにはログインが必要)

Oracle Java SE subscriptionにて費用を発生させたくなく、しかもOpenJDKをLTSで使いたいのであれば、Redhat Enterprise Linuxのサブスクリプション費用の中で利用するというのが現在のところ正しい解釈となると思います。たいていのクラウドの仮想サーバーにはRedhat Enterprise Linuxのモデルが存在していますので、これを使うのが手堅いといえます。一方で、CentOSに付属するOpenJDKがRedhatがメンテナンスしたOpenJDKのコードを取り込んでくれれば、無償でOpenJDKのセキュリティー更新が受けられそうです。

 

以上です。

 

 

ゲームを作りながら楽しく学べるHTML5+CSS+JavaScriptプログラミング[改訂版] (Future Coders(NextPublishing)) Kindle版