レポート

【GlassFish勉強会レポート】各JDKベンダの動向を知ってJava 11に備えよう

この記事を読むのに必要な時間:およそ 2.5 分

2018年9月25日,Javaの最新版である「Java 11」およびその開発ツールキットである「JDK 11」がリリースされました。このバージョンは,新しいリリースサイクルが採用されて初めてのLTS(Long Term Support)版であり,今後どのような方針でJavaシステムのバージョン管理を行なっていくかを見極めなくてはならない重要なターニングポイントになります。

そこでこのリリースに先立って,GlassFishユーザ会がAzul Systems社(以下,Azul)と日本IBM社からスピーカーを招いて【JDK 11 リリース直前】各ベンダのJDKリリースモデル特集!と題した勉強会を開催しました。本レポートではJDKのリリースモデル変更についての復習も交えながら,この勉強会の様子をレポートします。

Javaは有償化されない

Javaの開発および実行環境であるJDKは,2017年9月にリリースされたJDK 9からリリースモデルが変更され,6ヵ月に1度メジャーバージョンアップされることになりました。それに併せてOracleは,同社製のJDKビルドである「Oracle JDK」の無償提供を停止し,JDK 11以降は3年ごとにLTS(Long Term Support)版を有償提供していくという方針を発表しました。

この発表は,⁠Javaが有償化される」という誤解を伴って広まり業界に衝撃を与えました。結論から言ってしまえば,今回明確に有償化が発表されたのはOracleが提供する「Oracle JDK」であり,すべてのJDKが有償になるわけではありません。Oracle JDK以外のJDKで代表的な例としては「OpenJDK」があります。これは,Oracleがオープンソースコミュニティに提供したリソースをベースとしてオープンソースで開発されているJDKであり,コア部分はOracle JDKとほぼ同一のものです。

AzulやIBMではOpenJDKをベースとしてビルドしたJDKバイナリの提供を行なっています。そしてOracle自身も,無償版Oracle JDKの提供をやめる代わりに,OpenJDKの独自ビルド(以下,Oracleビルド)を無償提供するようになりました。さらに,これまでOracle JDKにのみ搭載されていた独自の機能やツールがOpenJDKプロジェクトに寄贈されており,Oracle JDK自身もJDK 11以降はOpenJDKをベースに商用サポートを追加したものになります。

(※)ただし,Java Web StartのようにOpenJDKに寄贈されておらず,JDK 11以降は(OpenJDKだけでなく)Oracle JDKにもバンドルされなくなる機能があるので移行の際には注意が必要。

OpenJDKを選択した場合に大きな問題となるのはそのサポート期間です。OpenJDKの公式サポート期間は,各バージョンごとに次のバージョンがリリースされるまでとなっているため,実質的には6ヵ月のみです。サポート期間が終了したバージョンには,原則として修正パッチ等は提供されません。

Oracle JDKについては,前述のように3年ごとに長期のサポートが付いたLTS版をリリースする方針となっています。OracleによるJDKのサポート・ロードマップについては,以下のページを参照してください。

AzulやIBMをはじめとするOracle以外のJDKベンダでもそれぞれLTS版のJDKを提供しています。それぞれ価格帯やサポート方針が異なるため,Oracle JDKに代わる選択肢として検討する価値があります。その選択の参考にして欲しいというのが,今回の勉強会の開催趣旨となっています。

Azul Systemsは「Zing」「Zulu」の2つのJavaランタイムを長期サポート付きで提供

松岡義明氏

松岡義明氏

Azulからは日本市場向けのセールスディレクターを務める松岡義明氏が登壇し,同社のJavaポートフォリオについて紹介しました。Azulは,JavaとJVMにフォーカスしたサービスを提供している会社であり,Javaポートフォリオとしては以下の3つが展開されているとのことです。

  • Zing - 優れたワークロードを実現した独自の高性能Javaランタイム
  • Zulu Enterprize - 長期間のサポートを提供するOpenJDKベースのJDKビルド
  • Zulu Embedded - OpenJDKベースで100%オープンソースの,組込み製品とIoTのためのカスタムJava SE

このうちZulu Enterpriseで使用されているJDK「Zulu」は,OpenJDKをベースとしてAzulがビルドして配布しているJDKバイナリです。Zuluそのものは無償でダウンロードおよび使用することができ,そこに有償のサポートを加えた製品がZulu Enterpriseという位置づけになっているそうです。

特徴的なのはサポート期間の長さで,JDK 8以前のバージョンでは10年以上,今後のLTSであるJDK 11や17では9年の有償サポート期間が設けられています。さらに,非LTSであるJDK 9や13,15といった中間バージョンでも,MTS(Mid Term Supoprt)として中期間のサポートが提供されるというのも,Oracle JDKをはじめとする他の主要なJDKとは異なる点です。

ZuluおよびOracle JDKのライフサイクルの比較

ZuluおよびOracle JDKのライフサイクルの比較

AzulによるJDKのサポート・ロードマップについては,次のページも参照してください。

著者プロフィール

杉山貴章(すぎやまたかあき)

ONGS Inc.所属のプログラマ兼テクニカルライター。雑誌,書籍,Webメディアで多数の著作をもつ。

著書

バックナンバー

2018年

バックナンバー一覧

コメント

コメントの記入