JJUGナイトセミナーに参加してきました

こんにちは。サイオステクノロジー有村です。
JJUG主催イベント【東京】JJUG ナイトセミナー 「緊急特集! Javaの無償版はなくならないぞ!」に参加してきました。
JJUGさんはよくナイトセミナーを開催していますが、今回のナイトセミナーは「Java の無償版がなくなる」「Javaが有償化される」という話の独り歩きに対抗するためのイベントです。
また、OpenJDKの開発に携わる方法に関するセッションもありました。
今回は一つ目のセッションの内容についてレポートします。
内容はJDKの新しいリリースモデルに関する解説です。

JDK8までのリリースモデル

これまでのJavaは以下のようなリリースモデルとなっていました。

  • OpenJDKはソースコードのみを提供し、OracleJDKはJDK/JREのバイナリのみを提供する
  • OracleJDKはOpenJDKをベースとし、JavaFXなど追加の機能をあわせて提供する
  • JCP(Java Community Process)で承認された新機能すべての開発が完了した段階でメジャーリリース
  • OracleJDKのアップデートリリースをOpenJDKに反映するが、同期は不完全、機能追加も含む

結果として以下のような問題が起きていました。

  • 搭載予定の機能の開発がリリース日までに間に合わないなど、リリースが安定しない
  • リリース間隔が長いため、言語としての進化が遅くなる
  • リリース間隔が長いため、ITトレンドやインフラの進化に適応できない

具体的にはJava9のリリースは7月下旬から9月下旬に延期されたり、新機能の数はJDK7では21、JDK8では55、JDK9では91とリリースに合わせて搭載の必要のある機能が急激に増えていました。
完成している機能もリリースまで塩漬けになるので、非常にもったいない状況であるともいえます。

JDK9以降のリリースモデル

これからのJavaは以下のようなリリースモデルとなります。

  • OpenJDKはソースコードに加え、バイナリをOracleが生成して無償提供する
  • OpenJDKのバイナリにインストーラーを追加したものをOracleJDKとして有償提供する
  • OpenJDKのバイナリは6ヶ月単位(3月、9月)にリリースされ、開発済みの新機能がリリースごとに追加される
  • OpenJDKの脆弱性対策やバグフィックスに対するアップデートは四半期に一度
  • OpenJDKのアップデートには新機能搭載は含まれない
  • OpenJDKはコミュニティによる無償サポートを得られる
  • OpenJDKは新バージョン提供開始時点で前バージョンはEOLとなる(重複しての提供はない)
  • OracleJDKはJDK11から3年に1度、その時点のOpenJDKと同じバージョンとしてリリースされる
  • OracleJDKはオラクルにより最低8年の有償サポートを提供する

変更を踏まえて

新たなリリースモデルには以下のようなメリットがあります。

  • リリース日時が安定し、機能追加も半年ごとにコンスタントに行われ、開発された新機能が順次利用できる
  • 同じバージョンのOpenJDKとOracleJDKの機能的な差異がなくなる
  • 単一のソースコードに機能追加とメンテナンスが継続して行われる
  • 長期間固定のバージョンで利用したい用途にも有償の選択肢で対応

というわけで、懸念されていた話に対する回答は以下の通りでした。

  • 今後もOpenJDKは無償で提供されるよ!
  • 長期間固定バージョンで利用したい場合だけサポートの手厚い有償のOracleJDKを利用すればいいよ!

最後に

なお、現在OpenJDK11はEarlyAccess版を提供しています。
https://jdk.java.net/11/
これからのJavaのライフサイクルに慣れるためにも、ぜひどうぞ。

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です