和訳: SCO の「証拠」に対する Bruce Perens 氏の反論
本家でもとりあげられていますが、 一昨日も話題になった SCO が権利侵害 あると主張しているコードに対する Bruce Perens 氏の詳細な分析が 発表されました。
この文書の翻訳をしてみましたので、公開します。 Perens 氏がこの文書で論じているのは 1) 開示されたコードはもともと SCO のものではない、もしくは、2) すでに SCO がオープンソースで開示したものだったこと、 さらに 3) SCO がコードの所有権を主張する法的根拠は合理的ではない、という三つの点です。 法律用語など、解釈が難しいところは原文も残してありますので、この訴訟の是非を考える材料にしてみてください。
SCO のラスベガスでのスライドショーに対する分析Linus Torvalds とオープンソースコミュニティーのみんなの助力の元に、
Bruce Perens, Perens LLC 記すあなたはこの資料を再発行してもよろしい。あなたはここから引用しても、体裁を編集しても、あなたのプレゼンテーションに沿うように翻訳してもよろしい。 あなたは私の意見を故意に曲解する方向にこの資料を編集してはならない。
8月 18日にラスベガスで行われた SCO によるプレゼンテーションは、Linux 開発者による侵害を主張していた。 Microsoft PowerPoint フォーマットによるプレゼンテーションは ここ (GZIP 圧縮)か, ここ (非圧縮)か, または (Adobe Acrobat の) PDF フォーマットで ここにある。, またブラウザから見れるように変換されたものは ここにある。 私のかわいそうな貧弱な DSL 接続をこの重荷から開放してくれた WebFarmHosting.com と vanGennip.nl に感謝する。
SCO はこのプレゼンテーションを IDG News Service の Bob McMillan に秘密保持契約なしに提供した。 Bob はそれについて私にコメントを求めた。彼の記事は ここにある。
私はまず SCO が「コピーされた」としているソフトウェアから分析を始めよう。 SCO はこの中で「コピーされた」としているコードの最も良い例を発表していると考えていいだろう。 しかし私は見せられた二つの例のうち、片方はまったく SCO の所有物でないこと、もう片方は合法なライセンスの元に Linux で使用されていることを簡単に調べることができた。 もしこれが SCO の見せられる最善の例だというなら、彼らは敗訴するだろう。
スライド 15 は Unix System V から Linux へと "Obfuscated Copying" [隠蔽工作をしつつコピー] している実例だとしている。 SCO はさらにコードの詳細を隠蔽すべくこのスライドのフォントをギリシャ文字にしているが、それはすぐに解除できた。 SCO の連中がフォントの変換などすぐにできることを知らないらしいのは愉快だ。 彼らが私のコンピュータのセキュリティー担当でなくてほっとする。
このスライドで示されているコードは Berkeley Packet Filter (バークレーパケットフィルター)と呼ばれ、よく BPF と略される インターネットファイヤーウォールを実装している。 SCO は BPF を所有していない。それはローレンス バークレー研究所でアメリカ政府の援助の元に開発されたもので、 もともとはスタンフォードとカーネギーメロン大学で開発された「enet」と呼ばれるもっと古いバージョンから派生したものだ。 BPF が初めて搭載されたのはカリフォルニア大学バークレー校で開発された 4.3 BSD システムだ。 SCO は後にこのソフトウェアを Unix System V にコピーしたのである。
この BPF ソースコードは研究所のウェブサイトの ここでみることができる。 そのデザインについての論文は 1993 に出版されていて、ここでみることができる。
BPF は BSD ライセンスに属している。そのライセンスによって、SCO は Unix System V に対して 1996 年にコードを合法的にコピーすることができた わけだが、SCO 自身はコードを所有しているわけではない以上、彼らは他人がそれを利用するのを妨げるいかなる権利ももっていない。
というわけで、この件については SCO の「パターン解析」チームは Linux と SCO における BPF の実装が似ていることは正しく推論できた。 しかし私は BPF の由来について数分の google.com でのウェブ検索で明確にすることができた。 どうしてこの「パターン解析」チームがおなじことをできないのだろう?彼らが単に確かめようとしなかったというのは信じがたいことだ。 System V に BPF ソースコードをコピーする際に SCO が研究所への帰属を示す文面を削っていることも大いにあり得る。 そうでなければ[パターン解析]チームがすぐに気付いたはずだからである。
Linux 上の BPF はもともとの BPF コードの obfuscation (隠蔽工作)をしたものではない。 これは Linux 開発者の一人 Jay Schulist の手によるクリーンルームな再実装で、研究所のドキュメンテーションを注意深く追ってはいるが、 もともとのソースコードとは何も共有していない。 スライド 15 に示されている System V と Linux の BPF はおなじ仮想マシンの命令セットを実装していて、それは インターネットのパケットをフィルター (許可、拒否、変更、転送) するものである。 そして VM のドキュメンテーションはフィールド名さえも明記している。だから Schulist の実装と研究所の実装は酷似しているのである。 Schulist が研究所のコードをそのまま使っていたとしても、それはそれで合法だったのだが、Linux で使われているバージョンは Linux 開発者独自 のものなのである。SCO が権利を主張できるような法的な状況は存在しない。
スライド 10 から 14 は Unix System V のメモリアローケーション関数と、Linux におけるよく対応する内容を示している。 この内容のいくつかは SCO の手によって故意にギリシャ文字を使って obfuscate (隠蔽工作)されているが、私はそれを 普通のフォントにもどした。
これらのスライドには、いくつかの C の文法上のエラーがあるのでコンパイルは成功しない。 よって Linux のどこにも対応すべきソースコードは存在しないのだが、彼らがどのコードのことを言いたがっているのか私たちには見当がついた。 それは AT&T が権利を有していて、Caldera、現在は自らを SCO と呼んでいる会社によって BSD ライセンスのもとにオープンソースで提供 されているものである。よって Linux 開発者はそのライセンスに基づいてコードを利用する合法な権利を有している。 SCO の著作権や企業秘密の侵害はここには存在しない。
今のところ我々がみつけたこのコードの最も古いバージョンは Donald Knuth によって 1968 年に出版された The Art of Computer Programming に記載されている。Knuth はきっと、さらに以前の研究論文に基づいてこれを書いたのだと思われる。 彼は C言語を使っていないので、細かい点で違いはあるものの、アルゴリズムは同じである。 スライドに見られる実装は 1973 年に AT&T の Dennis M. Ritchie か Ken Thompson によって書かれた。 もともと dmr/malloc.c と呼ばれていた 1973 年版の関数は このファイル で見ることができる。 このコードは Unix version 3 と呼ばれる、機械可読な Unix としては最も古いものに由来している。 そのシステムの完全なソースはネット上で ここで見ることができる。 2002 年に Caldera はこのコードを このライセンス の元にオープンソースとして 公開した。Caldera というのはもちろん、現在自分を SCO と呼んでいる会社だ。 このライセンスは問題となっているコードを、Linux 開発者が利用することをとても明解に許可している。 なぜ Caldera が公共に Unix ソースコードを公開したかについての歴史的な情報は ここにあり、きっと SCO の訴訟に関しても有益な情報を含んでいる と思われる。
1990年代初頭に、AT&T の Unix Systems 研究所 (USL) は、 BSD システムを販売している会社である BSDI とカリフォルニア大学を相手どり、 この問題のコードとその他カリフォルニア大学バークレー校の BSD システムに関連する訴訟を起こした。。 SCO の主張と AT&T の当時の主張はとても似ている。だが AT&T は敗訴した。
AT&T は実際のところ訴訟の課程で問題のコードの著作権を失っていたことが判明した。というのも、それらのコードには正式な 著作権表示がなかったからである。現在はそれは問題にならない。というのも、著作権法の改正とともに、全ての著作にデフォルトで著作権が認められ るようになったからである。とはいえ、当時の裁判長の判決は:
よって、私は原告が [Unix バージョン] 32V の著作権を保護するに十分な類似性を示すことができなかったと判断する。 原告による著作権侵害の主張は、差止請求権の根拠にならない。
原文:
Consequently, I find that Plaintiff has failed to demonstrate a likelihood that it can successfully defend its copyright in [Unix version] 32V. Plaintiff's claims of copyright violations are not a basis for injunctive relief.結果として、裁判長の判決と、ベルン条約に修正が加わって AT&T のコードも著作権を主張し得るものとなった 1996 年の間、 コードは十質的にパブリックドメインに入っていた。その期間中と、それ以前の Unix から派生したコードは合法ということになる。
さらに AT&T は大学から帰属の明記なしに多数のコードをコピーしていたことがわかり、よって AT&T は和解するという決断をした。 和解では、大学はいくつかのファイルに AT&T の著作権表示を加えることに合意し、システム全体は BSD ライセンスの下で提供が 続けられることになった。またAT&Tは大学側に法廷費用を支払うことに合意した。 訴訟に関するいくつかの詳細な点は ここ で見れる。
この訴訟の対象となった AT&T のコードは、SCO の現在のシステムにも存続している。 SCO の「パターン解析」チームはこのコードを発見し、Linux に存在するコードと似ているという正しい推論をした。 しかし彼らはそのコードがすでに他の人々にも合法的にコピーできるように公開されていたかどうかを確かめるという ステップを踏まなかったのである。
問題となっているコードは、最も最近の開発版の Linux カーネルからは技術的な理由ですでに除去されている。 それは別の関数と重複しており、そもそも採り入れるべきものではなかったからである。 そのコードは実際には販売されていない SGI のあるシステムと、もう一つは非常にまれなシステムのために利用されていたもので、 本流の Linux カーネルでは用いられていなかった。
スライド 20 で SCO は、IBM, SGI, そしてその他の Unix ライセンス取得者によって手を加えられた Linux コードの、 実質的に全てが彼らに属していると主張している。 こうした寄贈コードは 110万行を越えており、1549ファイルにわたっていて、Linux 2.2 から 2.4 までのリリースの間に新しく開発されたコードの 約 2/3 の量に該当すると主張している。 しかしどうして SCO が他社と他の個人の著作物であるこれら全てのコードを所有しているといえるのだろうか? スライド 6 に説明されている SCO の法的根拠としては、 これらすべての会社が開発した Unix ソースコードからの派生物は全て、 AT&T Unix ライセンスの元では AT&T に、さらに後には SCO に強制的に譲受されるというのである。 スライド 6 の鍵となる文はここである:
このような権利には、本ソフトウェアを改変したり、本ソフトウェアに基づいて派生物を作成することが含まれる。 ただし最終的な制作物が本条項に基づき元である本ソフトウェアの一部分として扱われることを条件とする
原文:
Such right to use includes the right to modify such SOFTWARE PRODUCT and to prepare derivative works based on such SOFTWARE PRODUCT, provided the resulting materials are treated hereunder as part of the original SOFTWARE PRODUCT.SCO の理論によるならば、Unix ライセンス取得者の作ったコードが Unix に触れたとたん、それはとたんに SCO の所有物となり、元の著作者がそれを他の目的に使うことを拒むことができるということになる。
しかし SCO の法的根拠は成り立たない。 というのも彼らは、もしある著作物が SCO に著作権のあるコードを含んでいないのならそれは派生物とはいえないという事実を無視しているからである。 これは特にスライド 20 に明らかに示されている。 そこで SCO は JFS、つまり IBM のジャーナリングファイルシステムの所有権を主張している。 Linux で用いられている JFS のバージョンはもともと OS/2 オペレーティングシステム のために開発されたもので、後に Linux に移植されたものである。 それは System V の JFS の実装とはコードを共有してはいないのである。 SCO の主張は彼らが発表で触れている他の構成物でも同じように成り立たない。 例えば RCU、すなわち Read Copy Update という、マルチプロセッサシステムで互いのプロセッサが干渉しあわないようにするソフトウェアは Sequent という、後に IBM に買収されたされた会社によって開発された。 Sequent は RCU を Dynax という Unix から派生したオペレーティングシステムで開発した。 彼らは後に RCU を Dynux から取り除き、すなわち SCO の所有するいかなるコードからも分離して、Linux に搭載した。 同様に、SGI の XFS、eXtent FileSystem も IRIX という Unix から派生したオペレーティングシステムから分離されて Linux に加えられた。
SCO の主張は、著作権の存在するソフトウェアは決して分離させることのできるものではなく、 Unix ライセンス取得者の作ったコードが SCO Unix かもしくは Unix に少しでも関連したものに触れた時点から、 それは完全に SCO の所有物であり、コードの著作者も SCO の認可なしにはそれを他の用途に使ってはいけないということである。 SCO の主張は知的所有権に関するいかなる合理的な理解の範疇をも越えたものである。 法廷でこの主張が通ることは難しいだろう。
この文書に対する SCO の回答は、 「我々は Unix を所有しており、それがどんな形をかはわかっている。これは水かけ論だ。」 (原文: We own Unix and would know what it looks like, and It's his word against ours.) だった。 しかし私は皆さんに私の言葉に頼っていただこうとは思っていない。 私は証拠に対するリンクを皆さんに示した。 そのほとんどは、私の影響の及ばないウェブサイトから提供されている。 よく吟味して、あなた自身の結論を導いてほしい。
Bruce Perens
Links
- まだ私がスライドを二枚しかもっていなかったときの、この記事のもっと古いバージョン。
- Bruce Perens' ウェブサイト.