Q1。 Javaで(Android)モバイルアプリを開発するために開発者が無料であるかどうか(つまり、Sun/Oracleにロイヤリティを支払う必要がないかどうか)を知りたいのですが?
Javaフィールドの使用についてのこのスニペットを読んだ後、私はJavaはではないモバイル開発は無料ですが、そうですか?
..「汎用デスクトップコンピューターおよびサーバー」とは、エンドユーザー制御下の一般的なコンピューティング機能(電子メール、汎用インターネットブラウジング、オフィススイートの生産性などに限定されない)に使用されるデスクトップおよびラップトップコンピューター、またはサーバーを含むコンピューターを意味しますツール)。 (上記以外の)専用機能を提供する、または組み込みまたは機能固有のソフトウェアアプリケーションで使用するために設計されたシステムおよびソリューションでのソフトウェアの使用。たとえば、これらに限定されない:産業用制御システムに組み込まれた、またはバンドルされたソフトウェアワイヤレス携帯電話、ワイヤレスハンドヘルドデバイス、ネットブック、キオスク、TV/STB、ブルーレイディスクデバイス、テレマティクスおよびネットワーク制御スイッチング機器、プリンター、ストレージ管理システム、およびその他の関連システムは、この定義から除外され、本契約に基づいてライセンスされていません...
および http://www.excelsiorjet.com/embedded/ から
注意:Java SE Embeddedテクノロジーライセンスでは、現在、携帯電話でのJava SEの使用が禁止されています。
Q2。 Android Java開発者がSun/Oracleに10セントも払っていないのはなぜですか?
引用する Javaライセンス スニペットの読み取りは、Android( 別の回答で説明されているように )に適用されないというだけでなく、間違っています=)。
アプリケーション開発者は、Javaがインストールされているデバイス用のアプリケーションを開発する場合、Sun/Oracleに支払う必要はありません(ここでは、Androidではなく「公式の」Javaについて話しています)。引用したライセンススニペットは、別のこと、つまりJavaランタイムのこのデバイスへのインストールをカバーしています。
その意味では、モバイルについて考える方が簡単ですJava Windowsの開発について考えるような開発。MicrosoftはWindowsのアプリケーションの開発に対して料金を請求しません。しかし、自由に許可されていません。 Windows OSをインストールします。
同様に、Oracleはモバイルアプリケーションの開発に対して料金を請求しません。ただし、Javaランタイムをモバイルに自由にインストールすることはできません。
Q1
Android向けに開発するために、Sun/Oracleにライセンス料を支払う必要はありません。
質問で引用されているライセンステキストは、Oracle独自のJava実装を参照しています。これらのいずれかを使用する場合は、Oracleの条件に基づくライセンスに同意する必要があります。しかし、それは完全にAndroidとは別です OpenJDK もあります。これはJavaの主要なオープンソース実装であり、制限なしで好きな場所で使用できます。
Q2
これは複雑ですが、その理由はおおまかに次のとおりです。
オラクルは最近これらの問題についてグーグルを訴えようとしました、そして、かなりひどく負けました。
追伸IANALなので、これを法的助言として扱わないでください。明らかに。