オラクル、Javaの新機能アップデートを6カ月ごとに行うタイムベースへ提案。さらにJDK 9でOpenJDKビルドをGPLで提供し、アプリなどと一緒に配布することを容易に
Java 9の正式リリースが2週間後に迫っているなかで、オラクルが今後のJavaに関する新たな提案を行っています。
提案のポイントは2つ。1つは、Java SEのリリースサイクルをタイムベースに変更し、6カ月ごとにアップデートする提案。もう1つはOpenJDKのビルドをGPLv2 with the Classpath Exceptionのライセンスで提供することで、フレームワークやアプリケーションと一緒に容易に配布できるようにする、というものです。
オフィシャルな発表は、OracleのJava Platfrom Groupのブログに投稿された記事で公開されました。
- Faster and Easier Use and Redistribution of Java SE | Oracle Java Platform Group, Product Management Blog(日本語の参考訳)
OpenJDKのメーリングリストでも同様の説明をオラクルのJava Platform GroupチーフアーキテクトのMark Reinhold氏が行っています。
Mark Reinhold氏は個人ブログで、主にリリースサイクルを6カ月ごとのタイムベースに変更する提案について説明しています。
Java SEのリリースサイクルを6カ月ごとに
Javaはこれまで、バージョンアップごとに大きな機能追加を実現してきました。今月リリース予定のJava 9ではJavaをモジュール化するProject Jigsawが目玉機能であり、2014年3月に登場したJava 8ではラムダ式が、2011年7月に登場したJava 7ではコードを書きやすく読みやすくしたProject Coinが目玉機能でした。
このようにJavaは数年ごとに大きな機能追加とともにメジャーバージョンアップを行ってきましたが、これは逆に言えばJavaの進化は数年ごとにしか起きないということでもあります。
安定が重視されるエンタープライズのシステム開発分野で使われることが多いJavaでは、この数年ごとの進化のペースは好ましいものでした。しかし最近ではJavaはほかの言語や技術と比較すると、進化の遅い、やや古めかしいものと見られるようになってきてもいました。
そうしたなかで、オラクルのJava Platform GroupチーフアーキテクトのMark Reinhold氏が自身のブログに投稿した記事「Moving Java Forward Faster」(Javaをより速く前進させよう)で次のように提案しています。
Proposal Taking inspiration from the release models used by other platforms and by various operating-system distributions, I propose that after Java 9 we adopt a strict, time-based model with a new feature release every six months, update releases every quarter, and a long-term support release every three years.
提案 ほかのプラットフォームやさまざまなOSのディストリビューションなどから発想を得て、Java 9以降は新機能のリリースを6カ月ごとに、アップデートリリースを四半期ごとに、長期サポートリリースを3年ごとに行うタイムベースのモデルをここに提案したい。
Mark Reinhold氏の提案は、次のようなものです。
- 新機能は3月と9月の6カ月ごとのリリースサイクルのタイミングで完成した機能を追加
- セキュリティフィクスやバグフィクスのためのリリースを1月、4月、7月、10月の3か月ごとのリリースサイクルで提供
- 長期サポートの対象となるリリースを3年ごとに提供
こうした短期リリースと長期リリースを組み合わせて新機能や長期サポートを提供するモデルは、いくつかのOSやブラウザなどですでに提供されています。Javaも今後こうしたモデルへ移行することで、より早いタイミングで新機能を提供していきたい、という提案になります。
OpenJDKビルドをGPLv2 with the Classpath Exceptionで提供
オラクルはJava 9のリリース後、OpenJDKのバイナリをGPLv2 with the Classpath Exceptionで提供することも明らかにしました。
オラクルのブログから説明を引用します。
Oracle plans to ship OpenJDK builds to make it easier for developers to deploy Java applications to cloud environments. We will initially offer Linux x64 binaries and add macOS and Windows later. These will be licensed under the GPLv2 with the “Classpath Exception”, allowing developers to easily and freely distribute them with their frameworks and applications.
オラクルは、開発者がJavaアプリケーションをクラウド環境にデプロイすることが簡単になるよう、OpenJDKビルドの出荷を計画しています。まずはLinux x64バイナリを提供し、その後macOSとWindows向けのバイナリを提供する予定です。これらはGPLv2 with the "Classpath Exception"ライセンスの下で提供されます。つまり、開発者は簡単かつ無料で自身のフレームワークやアプリケーションを付属して配布できる、というものです。
より柔軟にJavaを配布できるようになることは、多くの開発者やベンダに歓迎されることでしょう。
さらにオラクルは、これまで商用版のOracleJDKで提供されていたモニタリング機能のJava Flight Recorderなどのオープンソース化の計画をしていることも明らかにしました。長期的にはOracleJDKとOpenJDKのバイナリは同じものになっていくとのことです。
関連記事
あわせて読みたい
NGINXからアプリケーションサーバ「NGINX Unit」がオープンソースで登場。PHP、Go、Pythonに対応。Java、Node.jsにも対応予定
≪前の記事
Mesosphere DC/OSがKubernetesをサポートすると発表。コンテナオーケストレーションの事実上の標準へ勢いを増すKubernetes