Oracle vs Googleのやつ

単純に疑問に思ったことなど。

Androidの非互換性

従来Javaと非互換な実装で、従来Javaのエコシステムが破壊されてんの?私が知らないだけで、今時のJavaライブラリは#ifdefみたいに、VM実装確認してスイッチしたりしてるんだろうか。
Javaと非互換の癖にJava名乗るなみたいな話であれば、それはそれでわかる。

トップレベルパッケージ

Android はまず、名前衝突を避けるために定められたパッケージ名の naming convention を完全に無視し、勝手に android というトップレベル・パッケージ名を宣言しました。

Android以外にもパッケージにドメイン名を入れない例は多い。ぱっと思いつく例だと、Groovyとか、Wekaとか、OpenNLPとか。
OSSなので、組織名入れたくないみたいな、事情はあるかもしれない。だったら、org.androidでいいんじゃね、という気もしますが。

OSSとして

OpenJDKをGPLでリリースしておいて、その一部であるAPIを無断使用として訴えるというのはどゆことだろ。まぁ、AndroidはOpenJDKではなく、Apache Harmonyの派生なので、そんな単純でもないが、Apache Harmonyを放置しておいて、Apache Harmony派生のAndroidだけ訴えるというのは、それこそ道義的にどうなんだ、という気はする。
仮にOpenJDKの派生として作られたら、GPLに従っている限りは文句を言われる筋合いはないはずだよね。

その他

AndroidのString.indexOf が壊れている件はソースを見る限り、Apache Harmonyから引き継いだバグっぽいですね。