ハッカーの系譜⑨オープンソースの巨人たち (2) ライセンス問題から生まれたFreeBSD

牧野武文

December 2, 2016 08:00
by 牧野武文

クローズドなAT&T版UNIX、オープンなBSD

ベル研究所でもUNIXの改良は続いていたが、研究者たちの蜜月期は終わりを告げようとしていた。親会社のAT&TがUNIXに目をつけ、商品として販売することを企てたのだ。ベル研究所でのUNIXの改良は、商用ソフトウェアとしての安定性が第一に置かれるようになり、将来商品になるものだから、研究者が他の機関に勝手に配布することは許されなくなった。

この段階で、UNIXの進化はベル研究所では行われなくなった。商品にするためには、機能追加よりも安定性の方がはるかに重要だからだ。そのため、バークレー校がUNIXの開発センターの役割を果たすようになっていった。

この頃、国防省高等研究計画局(DARPA)では、重要な議論がおこなわれていた。DARPAでは、すでに今日のインターネットの前身となるARPAネットの整備を始めていた。このネットの利点は、通信プロトコルを定めたために、機種の異なるコンピューター同士でも接続をして情報を交換することができることだった。しかし、ネットワークの規模が大きくなってくると、異なる機種が混在しているのは効率がよくないという議論がでてきた。しかし、すべてのコンピューターを同じ機種にそろえるわけにはいかない。そこで、標準のプラットフォームを定めようという議論になった。同じプラットフォーム同士のコンピューターであれば、その上で動くソフトウェアを交換しあえるからだ。では、どのプラットフォームがいいのか。当然、当時としてはUNIXがもっとも適しているということになった。

1979年秋、DARPAはバークレー校と協議して、バークレー校は3BSD(BSD第3版)を拡張し、DARPAに提供することになった。DAPRAが資金を出し、バークレー校がDARPAネット用のUNIXとソフトウェアを開発することになった。このUNIXを中心にしたソフトウェア群は、4BSD(BSD第4版)と呼ばれ、約500台のコンピューターにインストールされて使われた。

AT&Tの許諾がなければBSDも使えない

しかし、問題は、AT&TがUNIXを商用化したことにより、権利関係が面倒になっていたことだ。大学などの非営利機関であれば、BSDを無料(テープ代などの実費のみ)で供給を受けることができたが、BSDのUNIXの中にはAT&TのUNIXと共通しているコードがある。商品の一部が入っているものを、勝手に配布をしていいのだろうか。

そこで、AT&Tとバークレー校は、BSDを配布するときも、AT&Tの許諾をとるように定めた。BSD版のUNIXを利用するときでも、その中にAT&T版のUNIXのコードが一部入っているのだから、AT&Tの許諾をとる。それからバークレーに連絡をして、BSDの入った磁気テープを送ってもらうという面倒な手順が必要だった。

大学などがUNIXを利用したい場合、選択肢は2つあった。ひとつは有料のAT&T版UNIXを購入すること。もうひとつは、無料のBSD版UNIXを分けてもらうこと。多くの教育機関、研究機関はBSDを選んだ。なによりも予算の問題だ。そして、AT&T版UNIXは商品なので、自分たちで勝手に改変をするわけにはいかない。改変をする場合には、事前にAT&Tの許諾を得る必要があった。しかし、BSD版UNIXは勝手に改変してもまったく問題がないどころか、バークレーのUNIXハッカーたちが手助けまでしてくれるのだ。企業などでは、AT&T版UNIXを導入するところもあったが、研究者たちは圧倒的にBSDを好んだ。

カルチャーが違ったAT&TとBSD

4BSDにさらに改良が加えられて、5BSD(BSD第5版)が配布される準備が整ったとき、利用者からあるクレームがあった。AT&Tが販売しているUNIXは、System V(システム第5版)というネーミングだった。そのため、2系統あるUNIXがどちらも「5」になってしまってまぎらわしいというものだった。そこで、バークレーは、5BSDというネーミングにせず、4.1BSDというネーミングにした。これ以降、BSDは小数点を使ったバージョン番号を使うようになった。

DARPAはこの4.1BSDを大いに評価した。そして、UNIXプロジェクトに支出する予算を5倍に増やすことに決定した。ここで、遠隔地のデータにネットワーク経由でアクセスできるコマンド群(rcp、rsh、rlogin、rwhoなど)が開発された。このコマンド群は現在でも使われている。ちなみに、rはremoteの略号ではなく、replaceの略だ。リモート用コマンドをとりあえず開発して、後々ちゃんとしたものに”置き換える”予定だった。しかし、そのとりあえず用のコマンドで機能はじゅうぶんなものだっため、現在でも使われている。

こうしてネットワーク機能が備えられた4.2BSDが1983年8月にリリースされると、大きな評判を呼び、1000以上の機関が導入した。

AT&Tは、4.2BSDをよく研究して、BSDのネットワーク機能、ファイルシステムなどを模倣してSystem Vに実装していった。商用のSystem V、無償配布のBSDは激しい開発競争をするようになったのだ。当時は、同じUNIX開発者といっても、AT&TとBSDではカルチャーがまったく異なってしまい、インターネットのメーリングリストなどでは、互いに幼稚なけなしあい、フレーム(口喧嘩)などもちょくちょく起きていたという。

オープンソースのはずなのに改変できないBSD

BSDのUNIXは非営利機関だけでなく、民間企業にも好評だった。性能と機能が優れていただけでなく、ソースコードこみで配布されたからだ。BSDを使う機関では、コンピューターにBSDのバイナリ(実行形式)とともにソースコードも保存されている。不具合があった場合や、機能を拡張したいときは、バークレー校に頼らなくても、自社でソースコードを修正して、再コンパイルすれば、希望通りのシステムを使うことができる。この頃は、オープンソースという考え方がしっかりと確立していたわけではなかったが、学術機関であるバークレー校は、ごく自然にオープンソース的な配布方法を採用していた。

しかし、問題は、BSDを使う場合でも、AT&Tのライセンスを取得しなければならなかったことだ。そのライセンス料も負担に感じる機関が多かった。時期によりライセンス料は異なるが、営利機関の場合2万ドル、非営利機関の場合は200ドルをAT&Tに支払う必要があった。

AT&Tは、非営利機関へのライセンス料は思い切って安くしていた。しかし、このような機関では、勝手にソースコードを修正できないという問題がついてまわった。BSDといえども、AT&Tの商用UNIXと共通しているコードがある。その部分に関しては、勝手に修正してしまうとAT&Tのライセンス契約に触れる可能性があった。

契約書に記載されたオープンソース方式

バークレー校では、UNIXのネットワーク接続部分やユーティリティ群を独自に開発してBSDの中に含めていた。このネットワーク関連部分とユーティリティ、つまりバークレーオリジナル開発の部分だけを、別に配布してほしいという声が高まっていった。これであれば、AT&Tはまったく関係がないので、AT&Tに許諾を得る必要も、使用料を支払う必要もないからだ。バークレー校は、この声に応えて、バークレーオリジナル部分だけを配布することに決定した。これはNR1(Networking Release 1)と呼ばれ、後のフリーBSDにつながっていく。

バークレー校が提示したライセンス条件は、非常に寛大なものだった。利用者は、NR1を利用者レベルで許諾なく改変してかまわないし、しかもそれを自由に再配布できるというものだった。改変したNR1を販売してもよく、その場合でもバークレー校に報告をしたり、ロイヤリティに類する金銭を支払う必要はない。ただし、ソースコードにつけられたバークレーの著作権表示だけはそのまま残す。そういう契約条件だった。オープンソースという考え方が、初めて契約書面に記載された。

AT&Tのコードを置き換えろ!集結したボランティア

このフリーBSDの前身となったNR1(Networking Release 1)は、ユーザーから大歓迎された。ただし、UNIX本体のほとんどの部分はAT&Tが権利をもっているのでNR1には含まれていない。当然ながら、もっとUNIXのコードやユーティリティを取り込んで、NR1に含めてほしいという声があがってくる。

BSD開発者のキース・ボスティックは、その声に応えて、ユーティリティを開発しようと仲間に相談したが、大方の意見は否定的だった。なぜなら、必要なユーティリティの数は数百にも及び、それを開発する人と時間はバークレー校だけではまかなえないからだ。

BSDの開発者キース・ボスティック(2015年撮影)Photo by Wikipedia

しかし、ボスティックはあきらめなかった。なんと、ネットワークコミュニティーでボランティアのプログラマーを募集したのだ。まずは、顔見知りのプログラマーに頼んで開発を手伝ってもらった。報酬は、協力者一覧に名前が載るだけだ。最初のうちはボランティアプログラマーもなかなか集まらなかったが、いくつかのユーティリティーが発表され、ボスティック自身も積極的にセミナーなどに出席して、ボランティアの必要性を訴えると、次第にボランティアが集まるようになり、わずか1年半で主だったユーリティリーとライブラリーが完成してしまった。

このことがきっかけになって、カーネル部分についても、AT&Tのライセンスに関わる部分を完全に書き直してしまおうというNetBSDというグループが立ち上がった。バークレー校のプログラマーだけでなく、ネットコミュニティーからボランティを募り、徹底的にAT&Tのライセンスに関係する部分を排除することが目的だ。数ヵ月後、さらにFreeBSDというグループが発足した。完全にフリーになったUNIXとBSDをCD-ROMに焼いて、しかもインストールを簡単にするスクリプトまでつけた。このFreeBSDが爆発的に普及をする。今日、UNIXと言えば、このFreeBSD系統に属するものが圧倒的だ。MacBookなどで使われているMacOSも、直系ではないがこのFreeBSDの子孫のひとつだ。

Photo by Wikipedia

 
その3に続く




ビール祭りにやってきた犯罪者を「顔認識」で一網打尽

November 13, 2017 08:00

by 牧野武文

中国山東省青島市で開催された国際ビール祭りで、青島市開発区警察は、会場に顔認識システムを設置。公安部保有のデータベースと照合することで、犯罪者を抽出し、逮捕するという作戦を実行した。49名の逃亡犯、麻薬犯罪者、スリなどを逮捕する成果をあげたと『新浪科技』が伝えた。 10万人以上がやってくるイベント …

PacSec 2017レポートソフトバンクPepperが危険な理由

November 10, 2017 08:30

by 『THE ZERO/ONE』編集部

米国のセキュリティ企業「IOActive」に所属するセキュリティエンジニア、ルーカス・アパ氏が「スカイネットが来る前にロボットをハックする」と題してロボット、特に家庭向けの製品に関するセキュリティ・リスクについて「PacSec2017」で講演を行った。 家庭用のロボットはリスクだらけ ルーカス氏はネ…