JavaをめぐるオラクルとASFのイザコザをパースしてみる
- ASF: http://ja.wikipedia.org/wiki/Apacheソフトウェア財団
- TCK: 「Technology Compatibility Kit」 実装がJavaの規格に準じているかを検証するテスト
- JCP: 「Java Community Process」 Java技術の標準化団体。
http://en.wikipedia.org/wiki/Technology_Compatibility_Kitの「Controversy」の欄にこうある:
In spite of the Java Specification Participation Agreement, Oracle have denied Java implementors a FOSS-compatible license to the TCK. On November 9, 2010, the Apache Software Foundation threatened to withdraw from the Java Community Process if they are not granted a TCK license for Apache Harmony without additional restrictions.[6]
「Java Specification Participation Agreement」に反してオラクルはJavaの実装者に対しFOSS-compatibleなTCKのライセンスの提供を拒んだ。2010年11月9日にApache Software FoundationはApache Harmonyに対し追加の制約のないTCKラインセンスが認められなければJava Community Processからの脱退する意思のあることを示した。
バックグラウンド
テングが理解しているところの事実は:
解釈
SunはOpenJDKをGPLでリリースしたが、モバイルでライセンスフィーを取るためか、Java自体でなく、そのテストキットで稼働環境に制約をつけたと見える。GPLでリリースして世界にJavaのオープンソース性を確心させる。一方で、ビジネス上、依存コンポーネントであるTCKで制約を加える。上手く考えたものだ。
これに対して、ASF同様批判的だったオラクルは、Sun買収したら掌を返したようにTCK制約路線の姿勢を固めた。驚くべきことではないが、正当化できる挙動ではない。そんな状況にアタマにきたASFが辞めてやる!と気炎を吐くのも無理はない。
疑問
Clojureやってみようかな…と思っている以外はJavaには縁がないテングには素朴な質問がある: TCKは「Javaに互換性のあるものと」と呼ぶために必要なんだよな? じゃあ、Javaに互換性のあると言わなかったらOracleから解放されるわけだよね? つまり、ASFはHarmonyをJavaモドキと位置付ければいいだけの話じゃない? でも「エンタープライズ」市場では太鼓判が必須なんだろうな。
あとGoogleは実際Harmony+DalvikでJavaと一線を画したにもかかわらずスーされているし。TCKを通るとOpenJDKのGPLが効いて、こういう攻撃からも守られるのかな。逆に言えば、競争相手の実装をGPLの安全地帯に逃がないために、TCKと「limited field of use」なる罠をしかけたってことになる? よくわからん。
やはり大企業絡み言語は恐い。