orangeitems’s diary

クラウドではたらくエンジニアの日々の感想です。

JMCのオープンソース化をめぐる一連のお話を整理

f:id:orangeitems:20180614103044j:plain

 

オープンソース化後にJMCチームの大部分がORACLEを解雇される

Java関連のニュースです。

 

www.infoq.com

Java Mission Controlツールスイートが、JMCとしても知られているが、オラクルにより5月3日にオープンソースとなった。Java開発者のコミュニティからは大きな称賛と興奮があった。その興奮はJMCの開発チーム全体が解雇されたと報じる情報によって困惑に置き換えられてしまった。

 

正しく理解するために、JMCの歴史と機能を理解していきます。

 

JMCの歴史

JMCが登場したのは、2013年9月、「Java SE Update 40」からです。

 

builder.japan.zdnet.com

【Java SE 7 Update 40の主な強化ポイント】

(1)システムの稼働情報記録ツールであるJava Flight Recorderと、システム障害分析ツールであるJava Mission Controlの提供

 

リリース当初はJava Flight Recorder(JFR)とJava Mission Control(JMC)は別々の扱いだったのですが、現在のリリースではJMCの一部としてJFCは捉えられています。

 

Oracle JDK 10のJMCの画面でそう書いてあります(赤枠の部分)。

f:id:orangeitems:20180614095850p:plain

 

Oracle JDK 7u40からは、JDKをインストールすると同時に導入されるようになりました。現行最新10のインストーラーを見るとその旨明記してあります。

f:id:orangeitems:20180614100205p:plain

 

ライセンスについて

JMCそのものは有償製品です。使用するためにはOracle Java SE Advancedのライセンスが必要です。ただし、Java SEのBCL(Oracle Binary Code License Agreement for the Java SE Platform Products and JavaFX)にある通り、開発用途で利用するのであれば無料です。

http://www.oracle.com/technetwork/jp/licenses/javase-dev-license-2595998-ja.html

(中略)オラクルはお客様に対し、プログラムの設計、開発及びテストの目的で、本ソフトウェアを完全かつ改変されない状態で、社内で複製及び使用するための非独占的、譲渡不能の限定的なライセンスを無償で許諾します。

本番環境で利用する場合は有償ということです。

 

JMCとは何?

さて、JMCとは何でしょうか。一言で言えば、JVMの稼働状況を分析し問題の原因を切り分けるためのツールです。

具体的な利用方法が記載された記事がありますので紹介しておきます。

qiita.com

 

さて、何が起こった?

JMCそのものは、Oracle JDKに付属し、Oracleがバイナリ提供しているツールでした。したがってOpenJDKには含まれていませんでした。

ここからは、InfoQの記事の通りですが要約します。

2018年5月3日にOracleによりJMCがオープンソース化されました。5月5日にはOracleのJavaプラットフォームグループのメンバーであるマーカスハット氏より、公式に発表されました。

JMC Open Sourced! – Marcus Hirt

その後、記事の通りマーカスハット氏含めて3名以外のJMCチームはOracleを解雇されていたことがわかった。ということです。

現在のOracle JDK10に付属しているJMCはバージョン6で、オープンソース化されたものはバージョン7の開発中のものだということで、今後JMC6のアップデートだけを残った人が行いつつ、JMC7はOpenJDKコミュニティーに委ねられるということになったという理解で良いと思います。現行のJMCのメンテナンスを行う人は必要なので3名は残されたということかなと考えると、なかなかドライな職場だなという感想です。

 

 

CODE COMPLETE 第2版 上 完全なプログラミングを目指して