%@ Register tagprefix="pt" tagname="header" src="header.ascx" %>
<%@ Register tagprefix="pt" tagname="footer" src="footer.ascx" %>
<%@ Register tagprefix="pt" tagname="wiki" src="wiki.ascx" %>
Ponytail OS は独立行政法人情報処理推進機構の未踏事業から支援を受けています。分かりやすく言うと、税金を支給されています。公的な資金をいただいているので、それに関してきちんと考えを述べておこうと思い、このページを書き起こすことにします。
<%/*2004年の夏に出たC MAGAZINEに、「OSを作ろう」という記事が特集されました。(掲載記事ではTCP/IPスタックまでを実装する予定だったはずなのですが、使い物になるのはページング…くらいまでで、記事の残りは現在も未公開で、筆者の方は急病だそうです。早く治るといいですね。)
僕はこの特集を読み、はじめて自分で書いた命令をMicrosoftの手に頼ることなくコンピュータで動作させることができました。画面に一文字表示されるだけで嬉しかった。この最初の一バイトから、Ponytail は作られています。つまり、僕はOSを去年の夏から突然作り始め、そして2ヶ月後には未踏に応募していたわけです。
僕がOSに興味を持ったのはずいぶん昔のことです。マンガかゲームの登場人物の紹介に「自作OSを使いこなす」とかいうものがあり、こいつはすごいなあと思ったのを覚えています。それまではOSというのはパソコンについてくるものだと思っていたので、自作できるのは思いもよらなかったし、方法も皆目見当がつきませんでした。
この「作る方法が分からない」という状態は、結局前述のCマガを読むまで解消されませんでした。理屈の上で、機械語をどこかに書き込んでおけばいいというのは知っていましたが、じゃあどういうツールを使ってなにをどこに書き込めばいいのかは全然分かりませんでした。Cマガの記事は未完と言うことで酷評されましたが、僕には十分役に立ったといえます。
そうしてOS開発のはじめの一歩を踏み出した後は、フロッピーの読み込みとか、まあお決まりのことをやってみました。今思えば無駄なことしてたと思いますが、そうしないと勉強にならないのであれで良かったと思います。
*/%>作りたいから、です。僕の場合は他に理由などありません。他の独自OSを作ってる方々も同じようなものだと思います。
ちょっと勘違いされやすい動機がいくつかあるのでそれにも触れておきます。たとえば、名声を得るためにOSを作りはじめたのではないか。
名声(とか賞賛)は確かにOS作りにはついてくると思います。OSとはある種の究極のソフトウェアであり、開発することにすら特殊な才能が要求されます。なので、たとえばコンピュータを少し知っている人に「OSを作っている」と言えば何かすごそうな目で見られることは間違いありません。(OSって何?という人には効きませんが。)
しかし、名声のためにOSを作り始めるのは非常に愚かです。確かに、二三セクタを扱うかぎりは、労力に比べて得られる名声は大きいでしょう。しかし、OSの開発がすすむにつれ、はっきり言って割が合わなくなっていきます。賞賛されるのはOSが新機能を実装したときくらいですが、必要な労力は加速度的に増えてしまいます。
名声を目的にOSを作り始めると、自分が周囲の反応に満足できなくなったときに、開発は終了します。きっとそれは開発の初期に訪れるでしょう。
OSを完成させて、ビジネスやお金にするということも言われますが、現在のソフトウェア産業で汎用OSほどバカげた投資はないと思います。(未踏でも Ponytail の完成・成功を見込んでの採択ではありません。) ビル・ゲイツが一人勝ちなのであって、その他全員が負けまくりな業界です。
これは上の二つと違い、ポジティブな理由です。「OSはコンピュータをありのままの姿で扱うので、コンピュータについてよく学習できるだろう」ということで、コンピュータの学習のためにOSを開発しているという意見です。これは間違っているとは思いませんが、コンピュータについて何も知らない人がいきなり x86 に手を出すのは無謀です。
たとえば、教科書とかでは現代のパソコンは32ビットで動いているように書いてありますが、実際はそんなことはなく最初は16ビット動きます。OSがいちいち切り替えているのです。これは過去との互換のために重要でしたが、学習のためは明らかに不必要です。実機は、実機であるが故に、初期学習には不向きな点がいくつもあります。
コンピュータの専門家がOSを作るのは良いことだと思います。しかし、完成度を高め始めると明らかに学習の域を超えていくと思います。