BonTfの日記: Oracle vs Google 9行のコード 8
陪審員は以下のコードを著作権侵害と認定。
private static void rangeCheck(int arrayLen, int fromIndex, int toIndex) {
if (fromIndex > toIndex)
throw new IllegalArgumentException("fromIndex(" + fromIndex +
") > toIndex(" + toIndex+")");
if (fromIndex < 0)
throw new ArrayIndexOutOfBoundsException(fromIndex);
if (toIndex > arrayLen)
throw new ArrayIndexOutOfBoundsException(toIndex);
}
計9行。ちなみにTimsortの一部(もとはjava.util.Arraysの一部)。Androidのコードベース全体の中でこれだけ。更に現在はもう取り除かれている。あとは37APIの侵害。これは最終的には裁判長自身が判断を下すことになる。
法定損害賠償だと最高$150Kだが、Oracleは侵害者利益を求めるらしい。そうなると法定損害賠償は当てはまらなくなる。その上、Oracleはこの9行のコードによるGoogleの利益を証明しなくちゃならいない。裁判官は、この戦略は賢くないと考えているようだ。
$150KはOracleにとっちゃ端金だから、たとえ確立が低くてももっと貰える可能性があるからそっちに賭けてるような感じかな。
特許侵害の方はもうちょっと損害賠償取れるんだろうけど。
優れたプログラマで構成された陪審員だったら…きっと有罪 (スコア:1)
if 文の実行文は、たとえ1行でも { } で囲んで、未来の修正時に備えなくては…
「Oracle のバカが犯した愚かしい過ちを、Google までもが同じ様に、なおかつ独立事象として犯すとは考えがたい」
「故に、この『馬鹿丸出し』なバグの原因になりかねないコードは、誰かが Oracle のバカが作ったコードからコピーしたものに違いない、と断定する」
「さよう、これは Oracle がバカでなければ証明し得ない類のコード流用であったことは事実である」
「愚かしさは多様性があるのに、その中でも最悪なOracleと同じ過ちを犯すのは、それ自体が罪である」
「故に、取り敢えずここは Guilty と判断する」
…という判断結果に違いない。
fjの教祖様
Re:優れたプログラマで構成された陪審員だったら…きっと有罪 (スコア:1)
そうだったら楽しいんですけどねえ。
実際はOracleの弁護士達がよっぽどの馬鹿でもない限り、プログラマは陪審員選定の段階で排除されちゃうと思う。
ちなみに、Michael A. JacobsとDavid BoiesがOracleの弁護士。
特にBoiesはかなり大きなBoies, Schiller & Flexnerのネームドパートナーだし(というかチェアマン)、やり手であるのは確実。
この2人はSCO v Novellでやり合った仲 (BoiesがSCOで、JacobsがNovell)。
どうすりゃいいんだこれ (スコア:0)
今後は訴えられたくなければこれと同じ動作をするコードは著作権侵害しないように書けと…
同じようなソースを書いた記憶がある (スコア:0)
やべえ俺Oracleの権利侵害してたのか、洒落になんねえわ。
こんなん10人に書かせたら7人は同じようなコードになるだろw
Re:同じようなソースを書いた記憶がある (スコア:2)
いや、そこまで単純じゃないみたい。
流れとしては、Google社員がTimsortの実装をOpenJDKにコントリビュートした。その際に、この社員はSunのjava.util.ArraysのrangeCheckをコピペして使った。そうした理由は、Timsortが最終的にはArraysにマージされると思っていたから。もしそうなっていたらコピペされたrangeCheckは重複するんで取り除かれていた筈。その後、この人はAndroidの開発中に同じコードを使い回した。
Timsortのコードの著作権はこの人が持っているので、Androidに同じコードが入っていても問題無し。だけど、rangeCheckに関してはSunが著作権を持っているんで、アウト。ってことらしい。
こういう背景がなかったら著作権侵害はさすがに立証がほぼ不可能じゃないかな。
Re: (スコア:0)
#2151960のACです。なるほど、ソースの履歴を追っていったらあからさまにコピペしてる形跡があるからアウト、ってことですか。
通常だったら問題にならないような、変数名まで一言一句一致してもおかしくない(名づけルールがあれば十分ありえる)レベルの単純なコードではあっても、
明白にコピペしているのであれば、確かに侵害といわれるのもやむ終えない気もしますね。
# プログラマー的には、こんぐらいなら別にいいだろ、と言いたくはなりますがorz 陪審員にプログラマーを求む!
Re: (スコア:0)
API(であること)はぜんぜん関係ないじゃん
Re:同じようなソースを書いた記憶がある (スコア:1)
うん、このコードに関してAPIに関係していない。紛らわしかったか。すまんかった。あと、私のAPIに関する記述に間違いがあった。著作権侵害が認定されたのはAPIの全体の構成に関してであり37 APIではない。
陪審員が審議したことは大きく分けて4つあった。1つ目がAPIが著作権で保護されると仮定して、それをGoogleは著作権侵害をしているか。2つ目がドキュメントに関して著作権を侵害しているか。3つ目が実装に関して。4つ目がSun/Oracleの行ないの中に、Googleがライセンスを必要無いと考えるに足る根拠があったか。
それぞれの項目が幾つかに分かれているんだが、2つ目と4つ目に関してはGoogleよりの結論が出た。この9行のコードは3つ目に関連している。他にも幾つかのコードの著作権侵害が討議されたが、結局これだけが侵害と結論された。
今回大きく問題になっているのは1つ目のAPIに関して。ここで、陪審員は著作権で保護されるAPIの"overall structure, sequence and organization"をGoogleが侵害したと認定したが、その侵害がフェアユースの範囲内であるかどうかに関しては意見が割れたまま結論が出なかった。
ただし、この1つ目に関しては、APIは著作権で保護されるという仮定の上での審議であり、実際にこの仮定が正当であるかの判断は後日裁判長が自ら下す。よって、現時点で確定しているのは、実装に関してはこの9行のコードだけが黒であった点。