SCOが開示したLinuxの盗用ソース....とその正体 212
ストーリー by Oliver
ふっ 部門より
ふっ 部門より
brake-handle曰く、"CNET Japanの記事によると、SCOsourceはラスベガスで開催されているSCO Forumの基調講演にて、LinuxがUnix System Vから盗用したとされるソースの一部を公開した。講演を行ったChris Sontagによると、SMPに関するコードについては82万9千行以上が盗用されているとのこと。NUMAなどほかの機能についても盗用されたコードの行数を求めているそうだ。
盗用されたソースのすべてを見るにはNDA締結が必要。しかし、公開された部分についてSCO Forum参加者が撮影したと見られる写真がwebで公開されている。Brandon Stewartが、写真へのURLをlinux-kernel mailing listに流してくれた(写真1、写真2)。写真では、Unix System Vのソースに含まれていたコメントの半分ほどがLinuxに盗用されている例が示されている。また、System V側について伏せ字にされていたコメント(ギリシャ文字になっている)をBart Samwelが解読している。"
このコードの出自を探した人も現れ、実はAT&T UNIX 7th Editionのmalloc.cほぼそのままであることが判明している。このコードはカルデラが2002年にBSDライセンスに似た許可を与えるライセンスで公開したものであることも判明した。カルデラとは、後にUNIXの権利を持っていたSCOという企業を買収し、自らの社名をSCOに変更した会社のことである。つまり、今のSCOそのものである。
盗用疑惑の正体? (スコア:5, 興味深い)
SCO の方もコードを見つけたのが「パターン認識の専門家」なんて言ってるし、コードの出自なんて全然考慮してないみたいですな。
古い UNIX コードの公開をしたときは賞讃ものだったけど、それ以降会社が変質しちゃったんですかね。
の
会社の変質 (スコア:2, 興味深い)
Caldera が行ったことに対し、SCO が責任を放棄しようとしていることが、一番の問題だと思ふ。
Re:盗用疑惑の正体? (スコア:1, 参考になる)
ところで (スコア:3, すばらしい洞察)
という行為自体は道義的/法律的に問題ない行為なの?
#Forum 参加者の規約みたいのがあるんだろうか?
Kiyotan
Re:ところで (スコア:2, おもしろおかしい)
Re:ところで (スコア:1, おもしろおかしい)
Re:ところで (スコア:1, おもしろおかしい)
予想の範囲内 (スコア:3, 参考になる)
ちなみに、atealloc() 辺りの話は既に LKML で議論済 [theaimsgroup.com]で、
企業秘密というには無理がありますな。
# 業務中なのでAC
Re:予想の範囲内 (スコア:1, すばらしい洞察)
で、それがわかる人が白だと判定したとしても機密保持契約を結んでしまった
後では何も言えない、と思うのは私の勘違いでしょうか?(^^;
いやまぢでわからないのでAC
Re:予想の範囲内 (スコア:1, 参考になる)
Lion本というと、The TeXbookのことになってしまう。
Re:予想の範囲内 (スコア:1, すばらしい洞察)
ほぼ確実に言えることは (スコア:2, 参考になる)
Version7のコードなら問題なさそうというように読めますが、これって証明できるのかなぁ。
Re:ほぼ確実に言えることは (スコア:2, 参考になる)
『コメントをコピー&ペーストしている』という証拠には見えるが,
『コードを盗用している』という証拠には見えないが.
どこかで『コードを盗用している』といった証拠は,
公開されているのでしょうか?
Re:ほぼ確実に言えることは (スコア:2, 興味深い)
Re:ほぼ確実に言えることは (スコア:2, すばらしい洞察)
> コンパイラに捨てられたコメントに著作権を主張できるん?
二次著作物であるバイナリはライセンスしてやるけど、ソースコードはうちのIPだと言ってるんだと思いますが。再配布を許諾するソースライセンスならもっといい値段を付けてくるはず。
写真2が写真1のコードの続きであるなら (スコア:2, すばらしい洞察)
かなりピンチだと思うのですが
写真1 の*コメント*は 7th Editionから変わってないけど
写真2 の*コード*は 7th Edition のものとは違い
#spin lock とか入っている
Bell研由来のコードからのコピーであれば、ごく最近のものではないでしょうか
正気を失ったSCO、GPLは無効だと主張 (スコア:2, 参考になる)
正気を失ったSCO、GPLは無効だと主張 [linux.com]
次のセリフ予想 (スコア:1)
# なんだか、かわいそう。
-- 哀れな日本人専用(sorry Japanese only) --
Re:更には・・・ (スコア:1, おもしろおかしい)
このコードでほんとに動くの!? (スコア:2, すばらしい洞察)
しょっぱなの
if (size == 0)
return)((ulong_t)NULL);
ってのは何なんでしょう…どう考えてもコンパイルできない文法エラーなんですけど。
なるほど、道理で見せる前にNDAを結ばせたがったわけだ(違
なぜ誰も突っ込まない? (スコア:2, おもしろおかしい)
"As part of the kernel evolution towords modular naming, the functions malloc
and free are being renamed to rmalloc and rfree.
Compatibility will be maintained by the following assembler code:
(also see free/malloc below)"
「モジュール式ネーミングに向けてのカーネルの発展の一環として、mallocと
free関数はrmallocとrfreeと名称変更される。互換性は下記のアセンブラ
コードによって保持されるだろう:(下のfree/mallocも見る事)」
~~~~~~~~~~~
という事は、このコメントの下のコードはフリーのmalloc (!)
だから、Bartは最後にこんなコメントを書いてるのだと思う。
What a way of obfuscating their IP. :)
彼らの知的所有権(IP:Intellectual Property)をごまかす手なんてこんなものさ。:)
#既出だったらスマソ。
「余計なもの」と言われる前に (スコア:1, 参考になる)
ライセンスより著作権の方が上? (スコア:1, すばらしい洞察)
方が法的には優先されますよね?
そうすると、過去に公開されたライセンスは無効だ!とSCOが言い張
れば、法廷ではSCOの言い分が通ってしまうのでは・・・?
Re:SCOの件では (スコア:1, 参考になる)
>で提供した SystemV のソースコードの事を言いました。
<抜粋>
specific exclusion of UNIX System III and UNIX
System V and successor operating systems
</抜粋>
訳 : http://srad.jp/comments.pl?sid=115055&cid=381938
SystemVは含まれないと書いてあるが。
ライセンス和訳(前半) (スコア:2, 参考になる)
Re:おお? (スコア:1)
いや、元記事見ましょうよ。
該当する公開されたUNIXコードからLinuxにマージされたんです。
Re:おお? (スコア:1)
??どう読めるかはともかく、公開時点で「CalderaのCopyrightを
外さなければ改変・再配布を自由に認める」という、
BSDライクなライセンスになってます。Linuxに取り込まれた
時点では……あれ、BSDtoGPLって、どう扱ってましたっけ。
Re:じゃあ (スコア:1)
ああ、なるほど。派生物のアーキテクチャ縛り、という解釈でしたか。
これは多分、既に多数の大学等の教育機関にAT&Tのソースコードは
色々なバージョンがライセンスされて配布されているので、
「このバージョンのコードはBSDライクなライセンスで公開可能だけど、
他のはまだ昔のライセンスが有効なので勝手に再配布したりしちゃダメだからね」
ってこと言っているのだということじゃないかな?
Re:じゃあ(オフトピ) (スコア:1)
GPL と矛盾するフリーソフトウェアライセンス [gnu.org]から「オリジナルの BSD ライセンス」参照のこと。
Re:じゃあ (スコア:1, 参考になる)
2.4.20における、問題のファイル(arch/ia64/sn/io/ate_utils.c)の
著作件表示は次の通り。
/* $Id: ate_utils.c,v 1.1 2002/02/28 17:31:25 marcelo Exp $
*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
* Copyright (C) 1992 - 1997, 2000-2002 Silicon Graphics, Inc. All rights reserved.
*/
Calderaに対する言及、宣伝は、少なくともこのファイル近辺と
ソースツリーのトップレベルには見付けられなかった。
ってことは下手打ったのはSGIってこと?
Re:他力本願 (スコア:1)
ライセンスの詳細ではないですが、手元にあるBSD Magazine No.11には「BSDスタイル」と書いてますね。
#つたない英語力で眺めてみた限りでは、
自分で「BSDライセンス」と謳ってないだけでほぼまんまBSDライセンスに見えます……。
ちなみにそれ以前も2000年から、個人の趣味的な利用に限り
無料で取得・利用は出来たようですから……現時点では問題あるのかな?
無いように思えますけど。
和訳してみました。 (スコア:3, 参考になる)
Bruce Perens <bruce@perens.com [mailto]>, Linux コミュニティーの多くのメンバーの支援を受けて。
この資料を再版しても良い。
SCO は 8月18日に開かれたラスベガスの展示会で著作権や業務機密を侵害して Linux にコピーされたと主張するコードを示した。ドイツ人の Heise (Heise はドイツの有名コンピューター雑誌 c't の発行人だ。)は SCO のコードの2つのスライドを撮影し、それを(雑誌 c't の)ニュースティッカーで公表した。(The German publisher Heise photographed two slides of SCO's code show and made them public on their news ticker. Heise publishes c't, a popular German computer magazine.) それらのスライドは :
slide 1 [heise.de]
このスライドは (左側が) "System V" のソースコードのコメントで、(右側が)対応する Linux の非常に良く似たコメントを示す。いくつかの System V のコメントはわざと Symbol フォントのギリシャ文字を使用して読み難くされている。ギリシャのテキストを Latin フォントで打ち直して読み易くすると、
となる。このコメントは次のスライドで示される関数について記述されている。SCO の連中がフォントの変更で非常に容易に読み解けるようなもの以外に手段をもたなかったのは微笑ましい。(It's entertaining that the SCO folks had no clue that the font-change could be so easily un-done.) これらが私のコンピュータのセキュリティにかからなかった事を歓迎する。
slide 2 [heise.de]
このスライドには幾つかの C 言語の構文エラーがあるのでコンパイルできない。したがって、Linux の何れかのソースコードを完全に表示したのではないだろう。しかし、われわれはこのスライドが参照する malloc() 関数を見つけた。それは AT&T が著作権を持ち、BSDライセンスの下で二度 [ 一度目は AT&T の Unix Systems Labs、および現在は SCO と名乗る企業 Caldela によって再度 ] 公開された。公開された版のいくつかは最初のスライドのコメントを含む。Linux 開発者はそのライセンスの下でこのコードを使用する法的権利を持つ。SCO の企業秘密や著作権の侵害は起こっていない。
この関数は 1973年に AT&T で Dennis M. Ritchie もしくは Ken Thompson によって書かれ、異なるバージョンで "dmr", "ken" ディレクトリの両方に登場する。もとは dmr/malloc.c という名前だった ファイル [perens.com] を見ることが出来る。このコードは Unix バージョン 3 のもので、機械可読形式で存在する最も古いバージョンである。ネット上では、完全なソースは ここ [tuhs.org]で見ることが出来る。2002年、 Caldera は このコードをこのライセンス [tribug.org]でオープンソースとして公開した。Caldera とは、もちろん現在 SCO と名乗る企業の事だ。このライセンスは Linux 開発者が問題のこのコードを使用することを非常に明白に許可する。なぜ Caldera が Unix ソースコードを公開したかに関する経緯を記述した情報はここ [oreillynet.com]にあり、SCO 訴訟に関連した情報を含んでいる。
malloc() のコードは Lions Commentary on Unix 6th Edition [amazon.com](日本語版 [amazon.co.jp]) にも現れる。Lion の本は 1977 年に非公開条項の下に初版され、Unix ソースのライセンスを持つ大学で教科書として使用された。AT&T はしばらくこの本のコピーを Unix のライセンスを持つ人々に売っていて、これをコピー機で複製したもの(photocopy version) は Unix のライセンスを持つ人々の間で広く配布された。Santa Cruz Operation (現在は Tarantella) は UNIX を Caldera (現在は SCO) に売る以前、1996年に この本を非
ついでに和訳 (スコア:2, 参考になる)
Bruce Perens, Perens LLC <bruce@perens.com [mailto]>
Linus Torvalds と オープンソースコミュニティの支援を受けて。
この資料を再版しても良い。この資料を必要に応じて引用、翻訳、改行位置などの変更をしても良いが、故意に私の意図を誤って伝えるような編集をしてはいけない。
8月18日ラスベガスで SCO は Linux 開発者による違反を主張する発表を行った。 Microsoft PowerPoint 形式のスライドはここ(GZIP圧縮したもの) [webfarmhosting.com] か ここ(無圧縮のもの) [webfarmhosting.com] PDF (Adobe Acrobat)形式のものは ここ [vangennip.nl]、ウェブブラウザで読めるように変換したものはここ [webfarmhosting.com]にある。WebFarmHosting.com および vanGennip.nl に 私の貧弱な DSL 回線からこれらのファイルを取り払ってくれた事を感謝する。
SCO は発表の内容を IDG ニュースサービスの記者 Bob McMillan に非公開条項無しで公表した。Bob はそれについてのコメントを私に求めた。彼の記事はここにある [infoworld.com]。
まず SCO が言うところの「コピーされた」ソフトウェアに関して見てみる事にする。SCO はスライドショーで彼らが持つ「コピーされた」コードの最良の例を示すだろうと思われる。しかし、私は最初の二つの例に関して、一つは完全に SCO の所有物で無く、もう片方も正等なライセンスの下で Linux で使用されていると断定できた。これが SCO の提示できる最良のものならば、彼らは敗訴するだろう。
スライド 15 は Unix System V から Linux へ "故意に読みにくくしたコピー" を見せると主張する。SCO はさらにこのスライドのコードをギリシャのフォントに切り替えてそれを読みにくくしたが、それは容易に読むことができた。SCO の連中がフォントの変更という非常に容易に読み解けるような手段以外に仕方がなかった事には失笑を禁じえない。彼らが私のコンピュータのセキュリティに関わっていないのでほっとした。
このスライド中で示されるコードは、しばしば頭文字を取って BPF と呼ばれるインターネットのファイアーウォールソフトウェアの Berkeley Packet Filter のものだ。SCO は BPF を所有しない。これは米国政府から資金を受けた Lawrence Berkeley Laboratory によって作成され、それ自体も、スタンフォード大学とカーネギーメロン大学によって開発された "enet" とよばれるより古いバージョンに由来する。 BPF は カリフォルニア大学バークレー校で作られた 4.3 BSD システムで初出する。SCO はその後、このソフトウェアを Unix System V にコピーした。
BPF のコードは研究室のウェブサイト内のここ [lbl.gov]にある。1993年に刊行された設計についての論文はここ [lbl.gov]にある。
BPF は BSD ライセンスの下にある。このライセンスは 1996年にコードを合法的に Unix System V にコピーする事を SCO に許可している。しかし SCO はコードを所有するわけではないので、彼らは他人がそれを使用する事を妨げる権利を持たない。
したがって、この場合 SCO の "パターン認識チーム" は Linux と SCO のBPFの実装が類似していると正確に推論した。しかし、私は google.com のウェブ検索によって数分で BPF の起源を見つけることができた。 なぜ "パターン認識チーム" は同じ事ができなかったのだろうか? 彼らが単にチェックすらしなかったと考えるのは無理があるだろう。SCO が System V の BPF のソースコード のコピーから研究室の著作権表示を見落としたか、あるいは、おそらくチームは知っていたのだろう。
Linux 版の BPF は故意に読みにくくしたコードではない。それはオリジナルソースコードを共有せず、研究室の製品のドキュメントに慎重に従った Linux 開発者 Jay Schulist による BPF のクリーンルームでの再実装である。スライド 15 で示される System V と Linux 版の BPF は同じ仮想マシンにおけるインターネットのパケットを許可したり、拒否したり、交換したり、経路の再選択したりするためのフィルタの命令セットの実装コードだ。仮想マシンのドキュメントはフィールド名を規定している。したがって、Schulist と研究室の実装コードは似ているように見える。Schulist が研究室のコードをそのまま使用する事を選択しても、適法だったろう。しか
Re:伏せ字? (スコア:1, おもしろおかしい)
Re:伏せ字? (スコア:1)
を翻訳してみると、ギリシャ語が英語圏からどういう扱いなのかは伺えるかも。
Masafumi Otsune [otsune.com]
それじゃ不足ですよ (スコア:1)
原文は It's all Greek to me. ね。
原文: It's all Greek to me.
英→日
訳文: それは、私にすべてギリシアです。
…だめやん。
# [聞き流すだけ] ←これに尽きる
# ACなのでAC
Re:829,000行って… (スコア:4, おもしろおかしい)
対象はkernel source 2.4.20で、.[chS]の拡張子を持つファイルから下記条件に該当する行数をカウントしています。
(条件式はperl風味)
行数:条件
606354:^\s*$(空行)
61207:^\s*\/\*\s*$(コメント開始の /* だけの行)
80861:^\s*\*\/\s*$(コメント終了の */ だけの行)
58700:^\s*\*\s*$(ブロックコメント内にある*だけの空行)
28489:^[\s\}]*else[\s\{]*$(前後に}{だけがあるか全く無いelse行)
合計835611行(多少増えていますが、バージョンの違いによるものと思われます)
なお、調査の過程で下記条件に該当する盗用コードが大量に見付かりました。
今後問題となる可能性もありますので注意が必要です。
100318:^\s*\{\s*$(開き中括弧だけの行)
218501:^\s*\}\s*$(閉じ中括弧だけの行)
Re:829,000行って… (スコア:2, 興味深い)
Re:829,000行って… (スコア:1, おもしろおかしい)
Re:829,000行って… (スコア:1)
ぐぐってもすぐわかりますが (スコア:2, 参考になる)
2.2のカーネルだけで180万、
2.4だと240万行になりますが。
カーネル以外合計しちゃうと2000万に近いでしょうね。
自分で数えてみました (スコア:4, 参考になる)
数え方は
% find $DIR -name "*.[chS]" | xargs cat | wc -l
結果は以下の通り。
. 3843815
arch 703741
drivers 2195564
fs 278023
include 406160
init 878
ipc 3264
kernel 14032
lib 3474
mm 15081
net 214649
scripts 8138
ドライバを除くと165万行で、そのうち半分(83万行)がSMPのコード?
ぐぐらなくても (スコア:3, 参考になる)
コンピュータさまのお告げによると,linux-2.4.21 (linus 版) では,ドキュメント類を含めた一切合財で
C とアセンブラのソースコードだけだと だそうです.# find のパターンマッチは適当なので,間違ってたら修正よろしくです
ディストロのカーネルソースだと,該当 CPU 以外のソースは削除されていたりするので,これより少なかったりするかな.
Re:ぐぐってもすぐわかりますが (スコア:1)
それってデバイスドライバなんかのモジュール込みの行数じゃないですか?
こちらのグラフ [atmarkit.co.jp]だと2.4.0が全部で350万行くらいですが。
Re:ショック! (スコア:1)
敵(Linux)がいなくなったら、その敵(SCO)も用済み。
オサマ・ビン・ラディンという奴も、敵(ロシア)の敵だった。
アメリカ合州国を地でいくM$。
-- gonta --
"May Macintosh be with you"
Re:タレコミ・コメントみても (スコア:5, すばらしい洞察)
SCOは最初から「嘘は」言ってません。 「本当のこと」を言ってないだけです。
SCOは問題を混同させるためにわかりづらい 主張の仕方をしていますが、大きな問題は二つあります。
この内、前者は主に著作権に関する問題、 後者は主にIBMとSCOの契約に関する問題です。 で、SCOは一貫してこの両者を混同させるような 主張を行って来ました。 元記事でも両方を混同させる主張の仕方をしているのが 見て取れるかと思います。
まず、具体的な分量は示さずにUNIXのコードがLinuxに混入 している実例を出し、次に82万行という具体的な分量を出し IBMがLinuxに提供したAIXのコードを(そうとは言わずに) 示す。きわめて恣意的だと言えるないでしょうか。
別人だが (スコア:1)
百科事典の編集方針が画期的だったので、Bさんがフランス語で大幅に書き換えてB体系辞典として世界に広く行き渡った。(今でもB体系は英語版やドイツ語版があってとっても人気がある)
ところが、AさんはBさんとは別に新A体系統一辞書を著して、IさんやSさんがAさんから許諾を得て翻訳版(英語と日本語)を作った。時代が下るにつれて、I体系とS体系は英語や日本語の独自の項目を増やしていき、また元の新A体系辞書にあった項目も大幅に書き換えられた。
ここで、Lさんが構造的には新A体系に似ているが、新A体系を引用せずに作った中国語版L体系辞書が広く出回るようになった。
そこで、Aさんから新A体系の権利を譲渡されたCさんが、「I体系とL体系は、新A体系から引用した部分があるから、著作権料を払え」と主張した(Sさんはもう払っている)
だけど、Cさんは「盗用だ」と主張するものの、どこが盗用されたのか明らかにしていない
実は、Cさんが主張する「引用部分」とは、前にCさんが「誰でも使ってもいいですよ」と言って公開した部分だったかもしれないというのが今回の話。
----
ちょっと無理があるけど、次の人適当になおして
Re:別人だが (スコア:2, 参考になる)
A体系 - AT&T Unix
Bさん - University of California, Berkeley
B体系 - BSD
Iさん - IBM
Sさん - Sun
新A体系 - System V
Lさん - Linus and contributors
Cさん - Caldera
かな
Re:別人だが (スコア:1)
ただ、「前にCさんが『誰でも使ってもいいですよ』と言って公開した部分」は間違いでしょう。
「前にCさんが『新A体系から引用したが新A体系の著作権はCが持つ、ということを明記するなら誰でも使っていいですよ』と言って公開した部分」が妥当。
Re:Linux-IA64 7月3日のパッチ (スコア:1)
# technical reasons が何なのかは知りませんが。