BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Android Java に著作権侵害はあるか

Android Java に著作権侵害はあるか

原文(投稿日:2011/01/24)へのリンク

先週の金曜日,Florian Mueller 氏は http://android.git.kernel.org/ にある Android ソースコードツリーの中で,Google の評価に,さらには継続中の Oracle との法的闘争にもダメージを与えかねない,2セットのファイルを発見した。

氏の 記事 に対しては,数多くの 返答 が寄せられている。そして最近になって,疑惑のポイントはソースツリー内の2つの独立した発見内容に帰着しつつある。

  • マルチメディア API である MMAPI.zip が含まれていること。これはダウンロードは自由であったが,再配布権はない。
  • その他,リバースエンジニアされたと思われる,あるいは Java 逆コンパイラを使用した可能性のあるファイル (過去の PolicyNodeImpl 問題に非常に近い) 。

しかしこれらのファイルは,いずれも Android カーネルの提供ソースには含まれない点についても強調されるべきだろう。いずれもテスト用ソースの一部であって,最終製品には含まれないのだ。結果として,Oracle の主張できる損害の範囲は限定されると思われる。

MMAPI は Java ME 用の SONiVOX ラッパの一部に含まれていたもので,再配布の禁止を記したドキュメントが添付されていた。このファイルがソースツリーに置かれたのは,どうやら手違いによるもののようだが,公開されたソースリポジトリへのファイルの配置が再配布に当たるかどうかの論争で,弁護士が報酬を得ることは間違いないだろう。ツリーが一般公開されていなければ,ライセンス条項に反することはなかったはずだ。コードを Apache ライセンスによって再ライセンスした点については,何ら請求が行われていないことも注記に値する。

第2の論点は,逆コンパイルあるいは再生成されたファイルに関してである。Sun が提供したソースコードにはライセンス (潜在的な GPL ファイルも含む) が明示されているが,逆コンパイルされたファイルにはこれらは適用されない。コードが (JAD のようなツールを使って) 逆コンパイルされた場合,その結果として得られたソースコードは,その逆コンパイラツールを実行した者によって所有される。生成されたコードについては,逆コンパイルされた元のコードと同じライセンスに従う必要はないのだ。Java の逆コンパイルが容易なのは,オリジナルのソースコードが参照できなくても,外観がほぼ同一の Java コードを生成するのに十分な情報がクラスファイルに格納されていることによる。

当然ながらソースコードが逆コンパイルで生成されたという証拠はなく,これは単なる憶測に過ぎない。明示的な定数や 'マジックバリュー’ を必要とする API にとって,それらの値の多くは API コントラクト (API Contract) の一部であり,コードに付加された単なる数値以上の意味を持つ。さらにソフトウェアのリバースエンジニアリングは,異なる著作権 (ただし通常は直接的な逆コンパイルではなく,クリーンルーム設計 が用いられる) の下でのコード開発手法として,しばしば利用されている。ただしこの方法では特許の回避はできないので,テストコードの特許侵害の有無が問題となる可能性は依然として残っている。

今回の件は,Git のような分散バージョン管理システムが潜在的に持っている問題も浮かび上がらせる。ツリーの HEAD からコードを取り除いても,それ以前のブランチをチェックアウトすれば依然としてアクセスは可能である。また仮にそのようなブランチへのアクセスが行われないとしても,レポジトリを複製すれば著作権侵害コードを取り出すことができるのだ。この面においては,Git の方が Hg よりも柔軟である。Git では git --filter-branch コマンドでヒストリを更新することで,コードの全トレースが削除可能であるため,Android のケースで起きたような問題を回避することができる。この方法では,すべてのコミットの識別子が変更されて開発の継続に支障を来すため,それ自体問題がないとは言えないものの,レポジトリに含まれてはならないコードが発見された場合においては必要だろう。

疑わしいコードがいずれも Android オペレーティングシステムの出荷コードの一部ではなく,単なるテストコードにすぎない (そしてマスタブランチからはすでに削除されている) ため,通告後速やかに不適切なコードを削除したという Google の主張が成立し,ごく小さな著作権侵害を越える請求は回避できるものと予想される。Oracle 対 Google の訴訟について Groklaw に展開が詳細に報告されているが,今回の件がそれに重大な影響を与えることはありそうもない。

この記事に星をつける

おすすめ度
スタイル

BT