UNIX紛争史

 UNIXというOSは、なんだかんだいって随分長い間現役で使われ続けている。現在UNIX系OSとしてはLinuxが主流だが、これは正確にはUNIX風に一から作られたOSであって、UNIXではないのだが、ここではUNIXの歴史に混ぜておく。

 そもそもUNIXが登場したきっかけは、1964年頃のMulticsというOSの開発プロジェクトだ。MITを中心に、AT&Tベル研究所とGEが参加して、メインフレーム用の高機能なOSを開発していた。このプロジェクトから、AT&Tは撤退する。ベル研究所所属の、ケン・トンプソンやデニス・リッチーらは、複雑で大規模になったMulticsの反省から、シンプルで使いやすいOSの開発に取り掛かる。社内に放置されていたミニコンピューターのPDP-7上で初期のOS開発が行われ、やがて使いやすいと評判になって他のマシンでも動かせないかと相談される。ここで機種ごとに異なるマシン語を使うことをやめ、マシン語に近い低レベルの記述もできて、かつ当時先端の構造化言語の特徴を備えたC言語をデニス・リッチーが開発する。Multicsに対抗してUNIXと名付けられたこのOSは、C言語によって様々な機種に移植可能になった。

 ベル研究所が所属するAT&Tは、日本で言えばNTTみたいなもので、全米の電話網を支配する巨大企業だった。なので独禁法の縛りを受け、電信電話以外の商売を禁止されていた。また、UNIXはベル研究所所属の研究者たちの個人的な活動であり、会社のプロジェクトではなかった。こういう事情で、初期のUNIXはメディア代程度の負担でソースコード付きで配布された。これが初期のハッカー文化を形成する。OSやアプリケーションはソースコード付きで実質無償で配布され、誰もが自分の用途に応じて改造できた。こういう経路でコードを受け取った大学や研究機関の中でも、有名なのがカリフォルニア大学バークレイ校である。

 1980年ころDECがこれまでのミニコンと性能が段違いのVAX-11を発売する。これは32ビット仮想記憶に対応した「スーパーミニコンピューター」だった。AT&TはVAX-11にUNIXを移植するが、仮想記憶に非対応なままだった。カリフォルニア大学バークレー校は、UNIXのソースを改造して、仮想記憶対応UNIXを発表する。これが、バークレー、ソフトウエア、ディストリビューション。略してBSDの始まりである。本家よりあきらかに優れた改造版が登場した。その後、ARPANETプロジェクトなどもBSDに受注され、インターネットのパケット交換システムもBSDのそれがデファクトスタンダードになっていく。

 このころ、AT&Tは結局地域ごとの電話会社に分割されることになり、そのかわりコンピューター業界へ進出できるようになる。当然すでに人気が出ていたUNIXから利益を得ようとする。UNIX利用企業からそれなりのライセンス料を徴収する事自体は正常な活動だが、それによって「ソースコードをだれても改造して再配布する」というハッカー文化は終わりを告げる。この状況に憤慨したリチャード・ストールマンは、UNIXのような環境を自由に扱えるものを作ろうと、1983年、GNUプロジェクトを立ち上げる。GNUは、「GNU's Not UNIX」(GNUははUNIXではない)という文の頭文字である。

 カリフォルニア大学は、大学なのでその段階でもAT&Tからソースコードの提供をうけられた。BSDはUNIXの改造版である。なので、BSDは、AT&Tの著作権を侵害せずに配布を続ける方法を模索する。AT&Tのソースに追加する部分だけを無償配布し、OSとして動かしたければAT&Tのライセンスを購入して、オリジナルソースを購入した上で、BSDのパッチを当てるようにしていた。そんなめんどくさい状況でも、1980年代を通して、技術者ならBSDと言われるBSD優位の状況が続くことになる。

 ただ、パッチを当てたソースが本当にAT&Tのライセンスを破ってないのかというのは難しい問題であり、また利用者がAT&TとBSDの両方のライセンスを取得しなければいけない不便もあった。バークレー校は、配布コードから徹底的にAT&Tのコードを削除して、独自開発したコードに置き換えていき、やがてほぼオリジナルコードからなるほぼ完全なOSを作り上げる。これが1991年のNetworking Release 2(Net/2)である。これがリリースされたことをもって、個人が使うパソコン上でUNIXを使う環境が整い、当時普及し始めたIntel 80386 CPU搭載パソコン用UNIXの開発が各所で始まる。ウィリアム・ジョリッツがオープンソースとして386BSDを開発し、バークレー、ソフトウェアデザイン社(BSDi)がBSD/386という商用プロダクトを販売し始める。この時期386BSDからNetBSDとFreeBSDが産まれる。

1992年。BSDiに対して、AT&Tが著作権侵害の訴訟を起こす。BSD/386が基にしたNet/2がUNIXのコードを盗用してるというもの。企業であるBSDiに対して起こされた訴訟だが、同じBSD Net/2をベースにしていたFreeBSDとNetBSDも影響を受け、この訴訟期間、配布が停止する。この時期に北欧フィンランドの学生。リーナス・トーバルスが、この訴訟とほぼ無関係にUNIXっぽいLinuxというOSを作りはじめる。

 BSD訴訟は、2年間UNIXの発展を妨げ、Linux勃興のチャンスを与えて終わる。この裁判の結末は和解条件が複雑にからんで実態は不明だが、BSDのコードにAT&Tの盗用もあったけど、逆にBSD開発のコードがより多くAT&Tのコードにも混じってたという、どっちかというとBSDの勝ちみたいな感じだったらしい。

 この裁判を受けて、カリフォルニア大学バークレー校は、「本当にAT&T由来のコードを全部抜いた代わりに、それだけじゃOSとして機能しない」BSD4.4-Liteと、AT&T由来と判定されたコードも含むものを2つリリースすることになる。FreeBSDとNetBSDは当然、Liteの方をベースに不足してる部分を新たに書いて再構成される。


 この動きとは別に、1980年代なかばから、UNIX戦争と呼ばれる紛争があった。もともと1970年代に商売にならないから配布しまくったUNIX、様々な会社で改造されまくって使われていたが、ヨーロッパ系の会社が標準化委員会を1984年に立ち上げる。X/Openである。これを見たAT&Tは、ちょうどワークステーション市場を開拓していたSUNと組んで、UNIX System V Release 4を発表。

 ところが、UNIXの元祖であるAT&Tと、当時ブイブイいわせてたSUNが組んだことで危機感を生じたDECやIBMといったメーカーが、Open Software Foundation(OSF)を結成してこれに対抗する。AT&T/SUNグループも他の会社を巻き込んで UNIX International(UI)を結成する。

 OSFグループは、当時の「これからのOSはマイクロカーネル」というムーブメントを反映し、Mach マイクロカーネルをベースにしたOSF/1というUNIX互換OSを作っていたが、この流れはなんかあんまし続かなかった。

 最終的に、このUNIX戦争は、X/OpenとOSFとUIがだいたい合併して、どーでもよくなる。この過程で、UNIXの著作権はノベルに渡り、一部の権利がSCOに移動する。

 カルデラがSCOを買収、カルデラが社名をSCOと変更。2003年、SCOはLinuxがUNIXの権利を侵害しているとして訴訟を起こす。UNIX業界のゴタゴタは食傷気味で、いままでさんざん訴訟と和解を繰り返していたのに、いまさらまたやるのかとみんなうんざりするが、これがすげえ大型訴訟に発展していく。SCOは世界中の大企業を相手取って巨額の訴訟を起こし続けた。

 この裁判の特徴は、何一つ証拠が出てこなかったところだ。SCO側が「LinuxがUNIXのコードを盗用してる、何万も」と言うだけでなかなかコードが出てこない。やっと出てきたらBSD訴訟当時にBSDの著作権が認められた部分だったり、それ以上になにもない、ただのコードの羅列で侵害の事実がなかったり、ほんとに何も出てこなかったのに、ダラダラ続いたのだ。それでも7年くらい裁判は続き、最終的に「そもそもSCOはノベルからUNIXの権利もらってないよ」という結論になってマジでグダグダなことになった。


 40年以上も現役で使われているUNIXというOS。ほんとうに様々な戦争、紛争があったのである。今後こういうことがないといいなあ。