はてなキーワード: Apache Harmonyとは
悪の帝国 Oracle が Java を有償化し重税を課そうとしたその時、正義の勇者 Amazon が立ち上がり新しい Java 実装 Corretto を無償で広めて救ったのだ!
……という情弱が好きそうなデマがあるんだが、こんな陳腐なシナリオに喜んでいるようではインチキなテック系 YouTuber に食い物にされてしまうぞ☆
Oracle レジスタンスはいた。彼らは Oracle の中に潜んでいたんだ。
時は2005年に遡る。
Java を開発した 米 Sun Microsystems は赤字にあえいでいた。
2004年に Java 5 (目玉機能はジェネリクス) がリリースされてしばらくの頃だ。
この頃、ひとつのオープンソースプロジェクトが立ち上がる。名を Apache Harmony という。
開発は2005年5月に開始され、2006年10月には Apache 財団のトップレベルプロジェクトとなった。
Sun は多数の企業をまきこみ、いろんな企業に Java™ をライセンスしていた。
Java の実装は Sun が持っていたが、各社が独自に実装したり、Sun と契約してコード提供を受けたりしていた。
Java™ を名乗るためには Technology Compatibility Kit (TCK) という互換チェックをパスしなければならない。
初期の Java はオープンソースではなかった。誰もが自由にコードを参照し用いることができるものではなかったんだ。
これをオープンソース化しようという野心で始まったのが Apache Harmony プロジェクトだ。
Java の実装をいちから書き起こしオープンソースの代表的な Apache License Version 2 ライセンスで提供したのだ。
しかし、Sun は Apache2 ライセンスを良しとせず、Harmony に Technology Compatibility Kit (TCK) を受けさせなかった。
なるほど。彼らが Java をオープンソース化したレジスタンスだったわけか?
違う。話はそんなにシンプルではない。
2006年 Sun は Java をオープンソースにする意志があると発表した。
Sun は Java を リンク例外付きの GNU General Public License でオープンソース化することにした。
Harmony のライセンスは自由な改変を認めるものだった。
OpenJDK のライセンスは派生物を作ったなら、そのソースコードの公開義務がある、という点が大きな違いだった。
OpenJDK は出た当初はまだ Sun の JDK との非互換が多かった。しかしこれが現代まで続く OpenJDK の始まりだったのである。
2007年11月 GoogleがAndroidを発表した。 Android は Java 言語で開発することができる。
そのベースとなったのは Sun との火種くすぶる Apache Harmony だった。よりにもよって!
(後にGoogleが負けて賠償し、現在のAndroid は OpenJDK ベース)
その渦中、赤字に喘いでいた Sun はついに身売りを決断する。2009年のことである。
当初 IBM との交渉が報じられていたが金額で折り合わなかったようだ。
そこに颯爽とあらわれたのが Oracle である。 Oracle が Sun Microsystems を買収することになった。
しかし Oracle にはよくない噂がある。敵対買収してプロダクトを潰してしまうという黒い噂だ。
Sun の Java も Oracle に食い物にされてしまうんじゃないか、いわゆる 「悪のOracle」 のイメージはこの頃からのものだ。
しかし、 Sun はすでに Java をオープンソース化していた。 派生物もオープンソースにしなくてはならない OpenJDK で!
Oracle は Java を Sun 社ごと買ったが、 Java はすでに独り占めできるようなものではなかった。
Sun 本家の JDK を引き継いだ Oracle JDK と、OpenJDKがついに統合される。
Oracle がソースコードを OpenJDK に寄贈し、 Oracle JDK も OpenJDK ベースとなった。
ここに OpenJDK への移管は完全となり、Javaのオープン化は成就した。
それまでの OpenJDK は Oracle JDK との非互換が不安視されていたわけだが、Java11 からはその不安もなくなった。
こうして完全にオープン化された Java は、各サードパーティーからディストリビューションが出るようになった。
Java11 での Java のオープン化を経て、Javaはディストリビューション乱立時代へと突入する。
Amazon Corretto もそうした OpenJDK の派生ディストリビューションのひとつである。
OpenJDK の開発は今なお Oracle が主力となって牽引している。
Java を解放しようとしたレジスタンスは、赤字に喘いでいたSunの中にいた。
たとえ Sun が身売りをすることになろうとも、Java を邪悪な独裁者の手に渡さないように。
Sun が倒れてしまう前に Java はオープン化された。Javaの仕様策定は Java Community Process (JCP) にて行われる。
Javaの仕様策定は Oracle の独断で進めることはできない。 OpenJDK の開発も Oracle の独断ですることができない。
GNU General Public License でオープンソース化された Java は、派生物のライセンスもGPLが強制されソースコードを公開しなければならない。
そんな OpenJDK をリリースした、当時の Sun の中の人達こそがレジスタンスだったんだ。