「Apache Harmony」を含む日記 RSS

はてなキーワード: Apache Harmonyとは

2021-09-21

Javaを救うOracleレジスタンス

悪の帝国 OracleJava有償化し重税を課そうとしたその時、正義勇者 Amazon が立ち上がり新しい Java 実装 Corretto を無償で広めて救ったのだ!

……という情弱が好きそうなデマがあるんだが、こんな陳腐シナリオに喜んでいるようではインチキテックYouTuber に食い物にされてしまうぞ☆

Oracle レジスタンスはいた。彼らは Oracle の中に潜んでいたんだ。

赤字に苦しむ Sun

時は2005年に遡る。

Java を開発した 米 Sun Microsystems は赤字にあえいでいた。

2004年Java 5 (目玉機能ジェネリクス) がリリースされてしばらくの頃だ。

この頃、ひとつオープンソースプロジェクトが立ち上がる。名を Apache Harmony という。

開発は2005年5月に開始され、2006年10月には Apache 財団トップレベルプロジェクトとなった。

Java は当初より、 Sun の独占物ではなかった。

Sun は多数の企業をまきこみ、いろんな企業Javaライセンスしていた。

Java実装Sun が持っていたが、各社が独自実装したり、Sun契約してコード提供を受けたりしていた。

Java を名乗るためには Technology Compatibility Kit (TCK) という互換チェックをパスしなければならない。

初期の Javaオープンソースではなかった。誰もが自由コードを参照し用いることができるものではなかったんだ。

Javaオープンソース化を目論んだ Apache Harmony

これをオープンソース化しようという野心で始まったのが Apache Harmony プロジェクトだ。

Java実装をいちから書き起こしオープンソース代表的Apache License Version 2 ライセンス提供したのだ。

しかし、SunApache2 ライセンスを良しとせず、Harmony に Technology Compatibility Kit (TCK) を受けさせなかった。

Java を名乗らせなかったということだ。

なるほど。彼らが Javaオープンソース化したレジスタンスだったわけか?

違う。話はそんなにシンプルではない。

OpenJDK の登場

2006年 SunJavaオープンソースにする意志があると発表した。

SunJavaリンク例外付きの GNU General Public License でオープンソース化することにした。

これが OpenJDK である

Harmonyライセンス自由な改変を認めるものだった。

OpenJDKライセンス派生物を作ったなら、そのソースコードの公開義務がある、という点が大きな違いだった。

OpenJDK は出た当初はまだ SunJDK との非互換が多かった。しかしこれが現代まで続く OpenJDK の始まりだったのである

2007年11月 GoogleAndroidを発表した。 AndroidJava 言語で開発することができる。

そのベースとなったのは Sun との火種くすぶる Apache Harmony だった。よりにもよって!

これは揉めに揉め、巨額な賠償金をめぐる裁判となる。

(後にGoogleが負けて賠償し、現在Android は OpenJDK ベース)

Sun の身売り

その渦中、赤字に喘いでいた Sun はついに身売りを決断する。2009年のことである

当初 IBM との交渉が報じられていたが金額で折り合わなかったようだ。

そこに颯爽とあらわれたのが Oracle であるOracleSun Microsystems を買収することになった。

しかOracle にはよくない噂がある。敵対買収してプロダクトを潰してしまうという黒い噂だ。

SunJavaOracle に食い物にされてしまうんじゃないか、いわゆる 「悪のOracle」 のイメージはこの頃からのものだ。

しかし、 Sun はすでに Javaオープンソース化していた。 派生物もオープンソースにしなくてはならない OpenJDK で!

OracleJavaSun 社ごと買ったが、 Java はすでに独り占めできるようなものではなかった。

Java オープン化の仕上げ

時は流れ、2018年 Java 11リリースされる。

Sun 本家JDK を引き継いだ Oracle JDK と、OpenJDKがついに統合される。

Oracleソースコードを OpenJDK に寄贈し、 Oracle JDK も OpenJDK ベースとなった。

ここに OpenJDK への移管は完全となり、Javaオープン化は成就した。

それまでの OpenJDKOracle 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強制されソースコードを公開しなければならない。

未来永劫、Javaオープンソースでありつづける。

そんな OpenJDKリリースした、当時の Sun中の人達こそがレジスタンスだったんだ。

Oracle はそんな Java を、そういう存在だと分かって Sun ごと買った。

Sun中の人達の多くは Oracle へと移籍した。そして、今でもオープン化された Java を作り続けている。

 
ログイン ユーザー登録
ようこそ ゲスト さん