GNU HURDの歴史
http://www.h-online.com/open/features/GNU-HURD-Altered-visions-and-lost-promise-1030942.html
1983年 Richard Stallmanの不安と決意
GNU projectについて語る。「確かにこれは大変な仕事だ。Unixのようなシステムを(一人で)完成させることは無理だ。... それが出来たらいいがね。でも絶望的だ」
でもでも決行することにした。
「これが私の優れたころだ。非常に頑固で、目標を変えるべき理由があってもそれを無視できる。他の人だったら影響を受けてしまうような理由をも。」
「できるかどうか不安に思いながら作業をした。目的を達成するのに十分かどうかわからなかったでも我町と敵の間には自分しかいなかったのでやるしかなかった。そしてときには成功し自分を驚かせた。」
GCCの起源: フリーでない「フリーコンパイラ」
オランダの「自由大学」というところで「VUCK Free University Compiler Kit」(オランダ語でFreeはVで始まる)なるプロジェクトがあったのでGNUで使えるか聞いてみた。すると「大学はフリーだが、コンパイラーはフリーじゃない!」と叱られた。「なのでGNUプロジェクトの最初のプログラムは多言語、マルチプラットフォームのコンパイラのすると決めた」これがGCCに進化していった。
カーネル候補
コンパイラの話のようにRMSは最初っから全てを自分で書いたのかと思ったら、各コンポーネントにおいて使えるものを探したんだね。
BSD陣にはGNUに積極的なメンバーもいれば、消極的なのもいた。今から思うとBSDIを始めようとしていたから、それと競合するGNUには協力をしたくなかったという一面があったらしい。
カーネルの名前
最初はStallmanの彼女にちなんで「Alix」としたかったらしい。「私の名前ってUnixと同じ接尾辞でしょ。誰かが私にちなんでカーネルを名付けるべきよ。」でも、結局HURDに落着く。これはHURDとHIRDの「相互に再帰的頭字語」だ。詳しくは原文で: http://www.h-online.com/open/features/GNU-HURD-Altered-visions-and-lost-promise-1030942.html?page=2
1992年: CMUの弁護士がMachをリリースしていいと決める。Linusがカーネル構築開始。
StallmanにがLinuxに興味を示さなかった理由:
- 安いハードで使える。
- 誰でも参加できる。
- 楽しい
最後のポイントが面白い。上の引用からわかるRMSは「戦争」をしていた。楽しい雰囲気じゃないね。一方Linusは「何よりも楽しいこと」をプロジェクトの目的としてかかげていた。
HURDの失敗をふりかえってみて
RMS: 「カーネルを走らすだけにあまりにも長い時間(many many many years)がかかってしまった。未にまともに動かない。1990年には誰も気付いていなかった根本的な問題がデザインにあるのかもしれない」
MachマイクロカーネルにこだわたのがGNUの最大の失敗だったと反省している。「Machを基礎そしてGNUのカーネルを作ろうと決断したことの責任は全て私にある。この決断が開発の遅れの原因のようだ。Machを使えば作業が迅速に進むと思っていたがこれは間違いだった」
テングは思う
HURD対Linuxの技術の興亡と見るとRichard Gabrielの言う「worse is better」あるいは「New Jersey style」スタイルがMITの完璧主義に勝ったことになるだろう。LinuxがATT(New Jersey)のUnixに基いていてHURDがボストンのMITで開発されていたので、この例えはピッタリあてはまる。
社会的な観点でみると真剣な戦いよりも楽しくやったプロジェクトの方が上手くいったってことかな。でも楽しいからGNUのユーティリテーを全部揃えるような努力をする奴もいないんで、戦い精神のも必要ってことだ。
いわゆるLinuxシステムのカーネル以外の部分(gui以下)は殆どGNUだからHURDが失敗したとしてもGNUは成功したと言える。もっと重要なのはフリーソフトウエアというムーブメントをこのプロジェクトが始めたということだ。これはどんなカーネルソフトよりも長生きしソフトウエアの歴史を変えるものだから。