PR

バザール開発が生んだLinux

 さて,ここまで順調だったGNUプロジェクトだが,どうしても「HURD」と呼ばれるOSのカーネル部分が完成しない。そこに現れたのが,当時はまだ大学生のLinus Torvalds氏だった。

 1991年,Linus氏は趣味としてLinuxカーネルを開発した。当時,OSのような高度で複雑なソフトウェアは,専門性の高いプロフェッショナルが厳格なルールの下で開発するものとされていた。学生をリーダーにそこらの素人が集まって片手間にできるものとは思われていなかったのだ。実際,当初のLinuxカーネルの設計は,当時の計算機科学の水準から見ても時代遅れと思われる点が多かったのである。ところがふたを開けてみると,当時隆盛を見せてきていたインターネットの普及も相まって,世界中から改良が寄せられるようになり,いつの間にか実用に耐えるソフトウェアにまで成長してしまった。

 Linus氏自身は,Stallman氏の思想の積極的な支持者とはいえなかったが,たまたまLinuxカーネルにはGPLが適用された。ここで見られた出来事は,後年様さまざまなプロジェクトで繰り返されることになり,後にバザール開発と呼ばれるようになる。

ディストリビュータがライセンスを汎用化

 Linuxカーネルを得たGNUオペレーティング・システムはついに実用段階に達し,次第に好事家の関心を引くようになる。ただしGNU OSが本当に使いやすくなるにはもう1段階が必要だった。LinuxカーネルとGNUソフトウェア,そのほかの必要なソフトウェアを一つのパッケージにまとめて頒布することである。各種のソフトウェアを組み合わせて利用したときに正しく動作することを確認し,便利なインストーラを付けたもの,それが「ディストリビューション」だ。

 このようなディストリビューションを開発するプロジェクトの一つとして,1993年に開始されたDebianプロジェクトがある。1997年ごろ,当時DebianプロジェクトのリーダーだったBruce Perens氏はやっかいな問題に悩まされていた。Debianプロジェクトのディストリビューション「Debian GNU/Linux」に,多種多様なライセンスのソフトウェアを取り入れる必要があったことだ。新しいソフトウェアを含めようとするたびに,ライセンスの是非を一つひとつ検討する事態に事態に陥っていた。

 例えば,ある「フリー」ソフトウェアのライセンスは金銭の絡んだ頒布を禁止しているとしよう。これではDebian GNU/LinuxをCD-ROMなどに収め,手数料を取って頒布することができなくなる。これは普及という点から見て大きな痛手だ。よってDebianからは排除しなければならない。あるいは頒布は自由だが,改変したものを頒布する場合は作者の許可が必要,というライセンスのソフトウェアがあったとしよう。こういったソフトウェアはセキュリティ・ホールが発覚したときに迅速な対応ができない。やはり,これもDebianからは排除するのが適当だろう。しかし,こうしたことをいくつもあるライセンスに関して,いちいちやっていては日が暮れてしまうし,恣意性が入り込む恐れも高い。何か明確なガイドラインが欲しい。

 こういった事情から,Debianプロジェクトでは,激しい議論の末,いくつかの条件を設定し,それを満たしているライセンスが適用されているソフトウェアのみをDebianの正式な一部としよう,ということになった。この議論を受けてPerens氏がまとめた条件が,DFSG(Debian Free Software Guideline)である。

三つの要素のエッセンスを抽出

 ここまで,一見オープンソースとは無関係に見えるGNUとLinux,Debianの歴史を長々と書いてきた。もちろん,それには理由がある。というのは,概念としてのオープンソースは結局のところ,この三者のエッセンスを抽出したものにほかならないからだ。GNUからは優れたソフトウェア資産とライセンスの重要性を,Linuxからはバザール開発の優位性と実績を,そしてDebianからはたたき台としてのDFSGと,頒布者という作者でもユーザーでもない立場からの視点というバランス感覚を。

 そのような抽出作業を行ったのがEric S. Raymond氏だ。ここまで基本的には別々の流れとして動いてきたGNU,Linux,Debianのそれぞれに固有の発想を,彼は一つの定義としてまとめ上げた。Raymond氏はPerens氏と組んで,DFSGを洗練してオープンソース・ソフトウェアという概念を定義することになる。その定義こそが今回我々が話題にしているオープンソースの定義として知られる文章だ。

 Raymond氏は当時Microsoft社に押されて退潮著しかった米Netscape Communications社に乗り込み,Webブラウザ「Netscape Navigator」のソースコードを「オープンソースな」ライセンスの下で公開させることに成功した(これはオープンソースという言葉がまだ生まれる前のことだった)。それが現在のMozillaのベースである。Raymond氏の「伽藍とバザール」*に代表されるような精力的なアピールと,GNU/Linuxの躍進によってオープンソースは徐々に市民権を得ることになる。

 いずれにせよ,ここで強調しておきたいのは,オープンソースの定義とは,フリー・ソフトウェアの20年以上にも渡る“実験”の経験を踏まえて作られたものであり,本質的に経験則だということだ。確かに,文章自体は誰かが勝手に書いたものかもしれない。しかし,その内容がハッカーたちに広く受け入れられたのは,それがハッカーの実感に即したものだったからにほかならないのである。

 逆に言えば,もしあなたの実感にそぐわない部分があれば,声を上げて指摘すべきなのだ。定義は無謬でも不変でもない。議論によって鍛えられていくものなのである。

八田 真行 Masayuki Hatta

Debian Project Official Developer
GNU Project Translation Coordinator, Webmaster
1979年生まれ。Debian GNU/Linux公式開発者の傍ら,GNUプロジェクトの翻訳コーディネータを務める。GNU GPLやオープンソースの正式な定義である「The Open Source Definition」の日本語訳を公開。東京大学大学院経済学研究科に在籍中。