カスタム検索
表示順:
Relevance
Relevance
Date
ウェブ
 
 
 

来月にはJava 10が登場し、9月にはJava 11が登場予定。新しいリリースモデルを採用した今後のJava、入手方法やサポート期間はこう変わる

2018年2月8日


2017年9月に「Java 9」が登場したばかりですが、いまから1カ月後の2018年3月には早くもJavaの新バージョン「Java 10」がリリースされます。そしてその6カ月後の9月にはさらに次の「Java 11」がリリース予定です。

Java 9以後のJavaは、毎年3月と9月の年2回メジャーバージョンアップを行う、タイムベースのリリースモデルを採用することになりました。今年はその最初の年となります。

オラクルによるJDKの提供方法やサポートポリシーも、これから大きく変更されることが明らかになっています。一般公開され無償でダウンロードできたOracle JDKの公開はJava 10が最後となり、サポートは3年ごとに登場する長期サポート(LTS)対応のメジャーバージョンに対して行われる、といったことが予定されているのです。

こうしたリリースモデル、提供形態、サポートポリシーの変更は、既存のJavaアプリケーションの保守や今後の開発体制にも影響を与えるはずです。

これらJavaのオフィシャルな情報は、日本オラクルのWebサイトの「Oracle Java SE サポート・ロードマップ」にまとめられています。また日本オラクルはJavaのユーザーコミュニティや顧客向けにも説明を行い、情報提供を行っています。

しかし、記事としてこうした情報をまとめたものはおそらく存在しなかったように思います。そこでJava 10の登場を約1カ月後に控えたいま(予定では3月20日に提供開始予定)、Webサイトに公開されている情報をベースにしつつ、そこではカバーされていない詳細についても日本オラクルに取材を行い、現時点での最新情報をまとめました。

Oracle Java SEサポート・ロードマップOracle Java SEサポート・ロードマップ

バージョン番号は今後もJava 10、Java 11、Java 12と連番に

Java 9以降のJavaのバージョン番号は、これまで通りJava 10、Java 11、Java 12と連番で増えていくことになりました。

Java 9のリリース後、Javaのバージョン番号がリリース年とリリース月を合わせた数字、例えば2018年3月にリリースされるJava 10は「Java 2018.3」になるという説明もありました。その名残として、公式サイトでもバージョン表記が「Java 10(18.3)」や「Java 11(18.9)」と、バージョン番号とリリース年月の並列表記になっています。

しかし現在の方針は、いままで通り連番でバージョン番号を表していくことだそうです。バージョン番号とリリース年月を併記した「Java 10(18.3)」は、いずれバージョン番号のみにあらためられていくことになるのでしょう。

バージョンアップサイクルは6カ月ごと

Javaのバージョンアップサイクルは前述の通り、2018年3月にリリースされるJava 10から、6カ月ごとにメジャーバージョンアップが行われます。つまり2018年3月にJava 10、2018年9月にJava 11、2019年3月にJava 12、2019年9月にJava 13と続いていくのです。

そしてその合間の1月、4月、7月、10月の年4回、バグフィクスやセキュリティ対策に対応したマイナーバージョンが提供される予定です。

バージョンアップの基本的なポリシーは、機能の追加変更についてはメジャーバージョンアップで行われ、マイナーバージョンアップでは機能に影響のないバグフィクスやセキュリティ対応変更だけが行われるとされています。

なぜ6カ月ごとのメジャーバージョンアップを行うのか?

なぜJavaは6カ月ごとのメジャーバージョンアップへとリリースモデルを変更するのでしょうか。

Javaはこれまで、大きな機能追加に合わせてメジャーバージョンアップを行ってきました。大きな新機能の開発には長い時間がかかり、ときとして開発スケジュールの遅れにも苦しんでもきました。

例えば、Java 6から7へのメジャーバージョンアップには4年8カ月、Java 7から8へは2年8カ月、Java 8から9へは3年6カ月かかっています。

これはつまり、Javaの進化は数年ごとにしか起きなかったということを示しています。

安定が重視されるエンタープライズのシステム開発分野で使われることが多いJavaにおいて、この数年ごとのゆっくりした進化のペースは好ましいものでもありました。しかし最近ではJavaはほかの言語や技術と比較すると、進化の遅い、やや古めかしいものと見られるようになってきてもいました。

従来のリリースモデルをあらため、6カ月ごとにメジャーバージョンアップを行うタイムベースのリリースモデルへとJavaが移行したのは、こうした反省に立ってJavaをこれまでより速いペースで前進させようとしているためです。

商用のOracle JDKとオープンソースのOpenJDKは同じものになる

商用ライセンスのOracle JDKには、無償版にはないJavaのプロファイラのFlight RecorderやMission Controlといったツールが提供されています。

オラクルは現在、こうしたツールをオープンソースのJava実装であるOpenJDKにも含めるように作業を進めています。

予定ではJava 11がリリースされる2018年9月にこの作業が完了し、商用ディストリビューションのOracle JDKとオープンソース実装のOpenJDKは機能、品質両面で同じものになる予定です。

Oracle JDKの無償配布は次のJDK 10が最後

現在、Javaの実装としてオラクルからOracle JDKが公開されており、無償でダウンロードして利用することができます。多くの開発者、ユーザーがOracle JDKを利用していることでしょう。

しかしOracle JDKの無償公開はJava 10までとされています。2018年9月にリリース予定のJava 11およびそれ以降のOracle JDKは、オラクルと有償サポート契約を結んだユーザーにのみ提供されるようになります。Oracle JDK 11は無償公開されません。

その代わり、前述の通りJava 11からはOracle JDKと同じ機能と品質を備えたオープンソース実装であるOpenJDKがリリースされ、バイナリが無償で提供されます。Java 11からはOpenJDKが、従来無償で提供されていたOracle JDKの代替となるのです。

日本オラクル株式会社 Cloud Platformビジネス推進本部 担当シニアマネージャ 伊藤敬氏は、「オラクルとしてはJDK 11からはOpenJDKが広く一般に利用いただくJDKであり、これまで維持してきたJDKの機能・品質を兼ね備えたJava開発キットと位置づけます」と説明しています。

無償のOpenJDKにオラクルのサポートは提供されずメンテナンス期間は6カ月

続いて、サポートポリシーについて。

当然ながら、無償で提供されるOracle JDK 10やOpenJDK 11などにオラクルのサポートは提供されません。

Java 9以降に無償で提供されるOracle JDKやOpen JDKのサポートポリシーにおいて重要な点は、メジャーバージョンごとのメンテナンス期間が、次のメジャーバージョンが出るまでのあいだである、ということです(Java 8については例外として別のルールが適用されます。これについては後述します)。

具体的には、2018年3月にリリースされるJava 10の実装であるOracle JDK 10は、リリース後の4月と7月にバグフィクスおよびセキュリティフィクスのためのマイナーバージョンアップが行われる予定です。そしてリリースから6カ月後の9月には次のメジャーバージョンであるJava 11とその実装であるOpenJDK 11がリリースされます。

メジャーバージョンアップの後は、それ以前のメジャーバージョンに対するマイナーバージョンアップが行われなくなります。

つまり、OpenJDK 11がリリースされると、Oracle JDK 10に対するパッチはリリースされなくなります。2018年10月と2019年1月にリリースされる予定のパッチは、OpenJDK 11に対するマイナーバージョンアップなのです。

そして2019年3月にJava 12が登場し、その実装であるOpenJDK 12がリリースされると、その後4月と7月にリリースされるマイナーバージョンアップはOpenJDK 12に対応したものになり、OpenJDK 11に対するバグフィクスなどは提供されなくなります。

有償のOracle JDKは長期サポート版ごとに3年かけてメジャーバージョンアップ

Java 11から有償サポートのユーザーだけに提供されるようになるOracle JDKは、無償のOpenJDKとは異なるバージョンアップおよびサポートのポリシーで提供されます。

2018年9月に登場するJava 11から、Javaは3年ごとに「LTS」(Long Term Support)と呼ばれる長期サポートに対応したメジャーバージョンが登場します。そのLTS版ごとにOracle JDKのメジャーバージョンアップが行われるのです。

最初のLTSとなるJavaは2018年9月に登場するJava 11で、その実装としてOracle JDK 11がリリースされます。次のLTSは3年後の2021年9月に登場するJava 17で、その実装としてOracle JDK 17がリリースされます。Oracle JDKのメジャーバージョンアップ版は3年ごとにリリースされるのです。

LTS版のサポート期間は、「Premier Support」としてリリースから5年、「Extended Support」としてさらに3年が追加され、「Sustaining Support」を契約するとさらにサポート期間を延長することができます。3年が経過し次のメジャーバージョンが登場したからといって、サポートが終わることはありません。

そしてサポート期間中はずっと、1月、4月、7月、10月の3カ月ごとにバグフィクスやセキュリティフィクスを対象としたマイナーバージョンアップの提供を受けることができるのです。

下記は、日本オラクルが無償版のJDKおよび有償版JDKのサポートポリシーについての説明に用いている図を許可を得て転載したものです。

Javaの新しいサポートポリシー

白いマーカーは無償版Oracle JDKのリリース時期とサポート期間を示し、青いマーカーは無償版OpenJDKのリリース時期とサポート期間を示し、赤いマーカーは有償版Oracle JDKのリリース時期とサポート期間を示しています。

無償のOpenJDKは6カ月ごとにメジャーバージョンアップが登場し、そのつどサポート期間が終了することが分かります。

有償のOracle JDKは3年ごとにLTS版が登場し、8年以上のサポート期間があることが分かるでしょう。

Java 8のサポート期間はJava 11の登場後1カ月後まで

最後はJava 8のサポート期間についてです。

Java 9ではJavaのモジュール化を実現するProject Jigsawが実装されたため、Java 9以前と以後ではこれまでのメジャーバージョンアップと比較しても大きな違いがあります。

そのため、Java 8からJava 9かそれ以後のバージョンへの移行には時間がかかると考えられます。

Java 8のサポート期間はそれを考慮して設けられています。具体的には、最初のLTS版であるJava 11が2018年9月に出て4カ月後、2019年1月までは無償版Oracle JDKの公式アップデートが提供されます。さらに、個人でJava SEを利用する(non-corporate desktop use)場合、2020年12月末まで引き続きJava 8のアップデートを受け取ることができると説明されています。

follow us in feedly

カテゴリ 開発ツール / 言語 / プログラミング
タグ  Java , Oracle


前の記事
JavaScriptエンジン「V8 release v6.5」リリース。WebAssemblyバイナリをダウンロードと並行してコンパイル、ダウンロード完了とほぼ同時にコンパイルも完了


カテゴリ



Blogger in Chief

photo of jniino Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

人気記事ランキング

  1. Webブラウザの操作をJavaScriptで自動化。Headless Chromeのフレームワーク「Puppeteer」がバージョン1.0に到達。ChromeのDevToolsチームが開発
  2. 無償のコードエディタVSCode、実行中のJavaアプリのコードを動的に書き換えて修正できる「Hot Code Replacement」(ホットコード置換)を実現
  3. クラウドインフラ、AWSがシェア3割超で突出したリーダーを維持。小規模ベンダは上位ベンダにシェアを奪われている。2017年第4四半期、Synergy Research Group
  4. マウスやGUI、イーサネットなどを発明してきたゼロックスが、富士フイルムホールディングス傘下に
  5. Kubernetesを統合した「Docker for Windows Desktop with integrated Kubernetes」リリース
  6. デルの再上場もしくはVMwareとの合併、デルが正式に検討中と認める。米証券取引委員会へ提出した書類で
  7. Red Hatがコンテナ専業ベンダのCoreOS買収を発表、コンテナプラットフォームやKubernetes関連など強化へ
  8. VMwareがデルを買収する可能性、CNBCやBloombergなどが報じる。デルは資金調達のため再上場を目指していると
  9. Heroku Postgres、データベース性能と容量を向上させた「Postgres PGX」アップデート
  10. GPU搭載の高密度サーバもラックにぎっしり集積可能な新設データセンター。ラックあたり30kVAの提供電力と1㎡あたり3トンの耐荷重をなぜ作った?[PR]


新着記事 10本


PR - Books


fig

fig

fig