今日のフリーソフトウェア文化の始まった背景を知るオープンソースソフトウェアの育て方(2/3 ページ)

» 2009年08月17日 14時30分 公開
[Karl Fogel, ]
  • 意識的な抵抗

 自由にコードを共有できた時代が終わりを告げようとしているころ、少なくとも1人のプログラマーの心の中ではそれに反対する気持ちが固まりつつありました。リチャード・ストールマンは、マサチューセッツ工科大学の人工知能(AI)研究所に1970年代から80年代の初期にかけて在籍していました。ちょうどそのころが、コードの共有が盛んに行われていた黄金時代でした。AI研は「ハッカー倫理」*1を前面に押し出しており、何かシステムに改良を加えた場合はそれを皆で共有するのが当然のことであるとみなされていました。ストールマンは、後に次のように述べています。

わたしたちは自分たちのソフトウェアを「フリーソフトウェア」とは呼んでいませんでした。なぜなら、そんな用語は存在していなかったからです。しかし、実際はそういうものでした。ほかの大学や企業からやって来た人がプログラムを移植したり使ったりしたいときはいつでも、わたしたちは喜んで許可していました。もし誰かが珍しくて面白そうなプログラムを使っているのを見たら、いつでもソースコードを見せてほしいと頼んでもいいので、それを読んだり、書き換えたり、新しいプログラムを作るためにその一部を取り出しても構いませんでした。

About the GNU Projectより引用。日本語訳はこちら

 ストールマンの周りにあったエデンの園は、1980年代に入ってすぐに崩壊してしまいました。周囲の業界で起こっていたさまざまな変化の影響が、AI研にも到達したのです。研究所にいたプログラマーの多くはスタートアップ企業に就職し、オペレーティングシステムの開発に従事するようになりました。やっていることは研究所時代と似ていますが、今や彼らは独占的なライセンスの下で働くようになったのです。ちょうど同じころ、AI研は新しいマシンを導入しました。そこに搭載されていたのは独占的なオペレーティングシステムでした。

 ストールマンは、何が起こっているのかを広い範囲で目の当たりにしました。

VAXや68020のような当時の先進的なコンピュータは専用のオペレーティングシステムを備えていましたが、どれもフリーソフトウェアではありませんでした。つまり、実行可能なコピーを入手するためだけでも非開示契約を結ぶ必要があったのです。

ということは、つまり最初にコンピュータを使うときには、周りの人を手助けしないと約束する必要があるということでした。協力し合うコミュニティーは禁じられてしまうのです。独占的なソフトウェアの所有者によって作られたルールとは「もしお前が隣人と分かち合うなら、お前は著作権法に反していることになる。変更を加えたいのなら、われわれに頼み込んで作ってもらうことだ」というものなのです。

 彼は、この風潮に対して抵抗する決心をしました。規模がかなり縮小されてしまったAI研に残り続けるのではなく、また新興企業でコードを書く仕事を得る(そんなことをしたら彼の作業の成果が一企業に閉じ込められてしまいます)わけでもありませんでした。彼は研究所を退職し、GNUプロジェクトとFree Software Foundation(FSF)を立ち上げました。GNU*2の目標は、完全にフリーでオープンなオペレーティングシステムとアプリケーションソフトウェアを作成することです。ユーザーがコードをハックしたり他人と共有したりすることは決して妨げられません。簡単に言うと、彼はAI研にかつてあった(そして今は破壊されてしまった)空気を新たに作り直そうとしていたのです。今度は世界中を巻き込む規模で。そしてAI研の空気が破壊されてしまったのと同じようなことを起こさないように。

 新しいオペレーティングシステムの開発のかたわら、ストールマンは新しい著作権ライセンスを考案しました。自分のコードが永久に自由であることを保証するためです。GNU General Public License(GPL)は、法律における見事な柔術です。コードの複製や変更には一切の制限を設けません。コピーしたものやその派生物(改造したものなど)の配布は同じライセンスの下で行われなければならず、いかなる制限も付加されてはいけません。このライセンスは著作権法を利用していますが、狙っている効果は伝統的な著作権とは正反対のものなのです。つまり、ソフトウェアの再配布を制限するのではなく、たとえ作者であっても再配布を制限すること自体を禁止しているのです。

 ストールマンにとって、自分のコードを単にパブリックドメインにするよりもその方が好都合だったのです。パブリックドメインにしてしまうと、誰かがそれを独占的なプログラム(あるいは、より規制の緩い別のライセンスを適用したプログラム)に使用してしまうかもしれません。そうされたところで元のコードは自由なままで残り続けるわけですが、でも結局はストールマンの努力した結果が敵陣営――独占的ソフトウェア――に利益をもたらすことになってしまいます。GPLは、フリーソフトウェアに対する保護主義の一形式と考えることができます。というのは、自由でないソフトウェアがGPLのコードを完全に好きなように利用することはできないからです。GPLとそのほかのフリーソフトウェアライセンスとの関係については、章9.ライセンス、著作権、特許で詳しく説明します。

 数多くのプログラマー(ストールマンの思想に賛同する人もいれば、ただ単に自由にコードを使いたいだけという人もいました)の協力を得て、GNUプロジェクトはオペレーティングシステムの基幹部品を置き換えるフリーソフトウェアを次々にリリースしていきました。当時はすでにコンピュータのハードウェアやソフトウェアが標準化されていたので、GNUのソフトウェアを自由でないシステム上で使用することもできました。また実際に多くの人がそのようにしていました。

 中でも最も成功したのがGNUテキストエディタ(Emacs)とCコンパイラ(GCC)でした。これらは、その思想に共感する人たちだけでなく単にソフトウェアとして優れているからという理由で使う人たちも引き込むことになりました。1990年ごろには、GNUは自由なオペレーティングシステムをほぼ完成させつつあり、残っていたのはカーネルだけでした。カーネルとはマシンを実際に立ち上げる部分であり、メモリやディスクなどのシステムリソースの管理を行うものです。

 不幸にも、GNUプロジェクトが選択したカーネル設計は当初予想していたよりも実装が困難なものでした。カーネルの作成は遅れに遅れ、Free Software Foundationが完全に自由なオペレーティングシステムを公開する日はなかなかやってきませんでした。そこに登場したのがリーナス・トーバルズです。彼はフィンランド人の学生で計算機科学を専攻していました。彼は世界中の有志と力をあわせ、より保守的な設計のフリーなカーネルを完成させました。彼はそれをLinuxと名づけました。Linuxを既存のGNUプログラム群と組み合わせることで、完全に自由なオペレーティングシステムを得ることができるようになったのです。ここにきてはじめて、独占的ソフトウェアを一切使用せずにコンピュータを立ち上げて作業ができるようになりました*3

 この新しいオペレーティングシステム上で動作するソフトウェアの多くは、GNUプロジェクト以外が作成しています。実際のところ、フリーなオペレーティングシステムを作ろうとしていたのはGNUだけではなかったのです(例えば、後にNetBSDやFreeBSDとなるコードはこの時点ですでに開発が進められていました)。Free Software Foundationの存在意義は、彼らが書いたコードだけにあるのではありません。彼らは政治的メッセージを言葉巧みに伝えました。利便性ではなく、信条としてのフリーソフトウェアを語ったのです。そのため、プログラマーは政治的な面を気にせざるを得ないようになってきました。FSFと意見が異なる人でさえ、立場が違うということを明確にするためには、政治的な問題に足を突っ込まざるを得なかったのです。FSFは、彼らのコードにGPLやそのほかのテキストを同梱することで彼らの思想を効率的に広めました。彼らの書いたコードが広まれば広まるほど、彼らのメッセージも広まることになりました。

[1] ストールマンは「ハッカー」という単語を「プログラミングが大好きでそれを楽しんでいる賢い人」という意味で使っています。最近よく使われるようになった「コンピュータに不正侵入する人」という意味ではありません。

[2] これは“GNU's Not Unix”の頭文字をとったものです。そしてこの中の“GNU”は何の略かといえば……同じです。

[3] 厳密に言うと、Linuxが最初だったわけではありません。IBM互換機上で動作する386BSDというフリーなオペレーティングシステムがLinuxのほんの少し前に登場しています。しかし、386BSDを動かすのは非常に難しいことでした。Linuxが騒がれた理由は、単にフリーなだけでなくインストールして動作させるのが簡単であったということもあります。


content on this article is licensed under a Creative Commons License.

注目のテーマ