「Javaインストールしてくれませんか?」
仕事上管理しているPCに対するインストール依頼でこういわれます。依頼する側は気軽に気楽に。
ですが、今後はそう気楽にかつ気軽にJava環境を用意するってのは難しくなっていくのかもしれません。
ちなみに私はJavaには全然詳しくありません。あくまでクライアントPCにJREをインストールしている程度の知識です。
どうでもいい前置き:Javaインストールって変だよね。
Javaインストールしてね、ってのはいささか言葉としては変かなぁと思うところもありますが、実際に言われたのは冒頭の言葉ですので、そのまま記載しています。
×Javaインストールしてね
は
○JREインストールしてね
の意で指示されることが多いです。JREはJava Runtime Environment (JRE、Java Runtime) 、ランタイムなので実行環境を意味します。たいてい依頼される「Java入れといてね」はこのランタイム環境をインストールしておいてね、って意味で言われています。JREを動作条件とするソフトウェアを使用するので、その実行環境であるJREが欲しいってことですね。JDKインストールを指示されたことはありません。
個人的に気になっているのはJREなのですが、これ以降長々としばらくJDKの話が続きます。
Javaのリリース速度が加速している?
去年Java SE 9が登場、しかし今年の前半にJava SE 10がリリースされ、先週にJava SE 11がリリースされました。
Java SE 8までは概ね2年~5年程度の間隔を経てから新バージョンがリリースしていたものですが、ここにきてそのリリース速度は急加速しています。ここ一年で3つのバージョンがリリースしているということもあって以前と違ったリリースになってきているのが分かります。
どうやらJava SE 9以降リリースの頻度が変更になっているようで、毎年メジャーバージョンアップをするようです。
さらに長期サポートとなるとはLTSバージョンのみとなり、そのLTSサポートは3年に1回となっています。
Java 8がLTSという位置づけになったようで、その次のLTSが先週リリースされたJava SE 11だよ、ってことになったようです。
当然ですがLTSであるJava SE 11の次のバージョンとなるJava SE 12は短期サポートとなります。
LTSの有償化
上記のLTSバージョンはJava SE 8⇒Java SE 11という流れとなり、その中間となるJava SE 9とJava SE 10は短期サポートとなっています。つまりJava8より先にサポートが終了してしまう位置づけのバージョンということです。Ubuntuのバージョンのような考え方をするようになったんですね。
で大きな違いとなるのが、Java SE 11から長期サポートが有償化され
「有償サポート契約を締結しないとセキュリティパッチも提供されないよ」
という環境に変化する予定らしいのです。
えぇ?じゃあ、もれなくお金掛かるの?といえば、無償版という位置づけにOpenJDKというオープンソース版が提供されるので、そちらを利用するということになるそうです。
ただOpenJDKは6ヶ月ごとに新バージョンがリリースされ、常に最新バージョンを利用しなければならない=セキュリティアップデートが最新バージョン以外に提供されない、というルールでリリースするらしく、6ヶ月毎のバージョンアップが開発や運用の負担になるケースも考えられそうです。
Windows10も(Office365に限れば)Microsoft Officeも高速リリースサイクルを採用する時代ですから、Javaでも高速リリースになるのは自然な流れなのかもしれません。
で、JREです
話が長くなってしまいましたが、前置きはこれまでです。
私が気になっているのはJRE、JDKではありません。ですがJDKのサポートが有償化されるに当たってJREがどのように変化するかは推測の記事にしか出会えていません。
とりあえず最新版のJREを使っておけばJREにおけるセキュリティ上の問題は回避できるだろう、ということは今までもこれからも変わらないように思えますが、どれも推測の話。JDKの提供方法の変化がJREにも波及しないという保証もない、という状況が現在の状況です。
そのうち、ユーザから「使いたいソフトがあるのでJREを入れてね」と言われてアレコレ考えなきゃいけなくなる未来がやってくるんでしょうか。いまからちょっと不安になります。