Javaライセンスでは、他の会社がJava言語の独自のバージョンを作成することを許可するか、それを正確に実装するだけですか?)JVMについての同じ質問。
Sunが.NETバージョンのJava実装とJava Google Androidの場合)を変更したことでMicrosoftを訴えたと聞きましたが、全体の概念を理解することはできません。全体。
Java言語仕様を実装するコンパイラを書くか、Java仮想マシン仕様を実装するJVMを書くことができますが、正式にそれを呼び出したい場合は " Java」の場合、TCK(テクノロジー互換性キット)のテストに合格して互換性があることを証明し、Oracleからライセンスを購入する必要があります。
ただし、オラクルは他の関係者がこれを行うことを容易にしません。 ApacheにはJVMの独自の実装があります( Apache Harmony )が、以前はSun、現在はOracleがTCKを利用可能にするために協力しておらず、Apacheがライセンスを取得できないため、 ApacheとOracle。
はるか昔、Microsoftは独自のバージョンのJava(実際には「Java」と呼ばれていました)を持っていました。彼らはそれを変更してWindows固有のものにしようとしましたが、Sunはもちろんそれを好みませんでした。訴訟でした、Microsoftは敗北し、独自のJavaバージョンを終了して.NETを作成しました。これはまったく異なる方法で、Java =動作します...
Androidに関する訴訟はこれに基づくものではありません。GoogleはAndroidはJavaです。この訴訟は特許に関するものです。Oracleは特許を所有しています。独自のJVM実装における多くのアイデアと概念に基づいており、GoogleはOracleから特許ライセンスを取得することなく、Androidで同じ特許取得済みのアイデアを使用していると主張しています。
まあ、私が理解しているように、好きなように仕様を実装できます。正当に「Java」と呼べるようにするには、互換性キットのライセンスを取得して渡す必要がありますが、これは簡単なことではないようです。
AndroidはJava言語を使用していますが、「Java」ではありません。TCKを渡そうとはしません。