Linuxは本当に優れたOSなのか?

Linux といえば、オープンソースプロジェクトの旗手であり、最も成功したプロジェクトと言っても過言ではない。
今まで WindowsSolaris の領域であった部分に踏み込み、Microsoft や Sun に脅威を与える存在になっているのは間違いないだろう。
またPC産業のコモディティ化が急速に進んだの理由の1つとして、Linuxの普及によるソフトウェア調達コストの低下が挙げられると思う。


そんな猫も杓子も Linux の万歳の状況が続いているので

というイメージを持っていないだろうか?


だがそれは必ずしも正しい認識とは限らない。


例えばLinuxは、フリーのUNIXを作ろうという動機で開発が開始されており、BSDやSYSTEM Vといった比較的、古い歴史のあるOSをお手本として作られている。
であるから API や基本的な OS の構造は特に目新しいものではなく、「フリーのUNIXとして目新しいだけ」と言えなくもない。
またオープンソースであるものの、Linux に有用なパッチを送っても、それが採用されるかは コミュニティの”神”である Linus氏の好き嫌いによるものが大きいようだ。
先進的な考え方を導入し、周囲が有用であると思うようなパッチでも却下・放置されたりということは良くあるそうだ。(Linuxコミュニティの人から実際に聞いた話)
更に元々の設計の部分でも、母体となっているカーネルを最初は Linus氏が1人で作ったということもあり、カーネル 2.6 のO(1)スケジューラで導入で改善された問題など、私でも「えー。それはないだろ」と気づくような構造的な弱点が意外と多く存在する。


それに対して、WindowsNTマイクロカーネルという比較的新しいカーネルの構成を採用し、APIも独自の思想で作られている。
次期Windowsである Longhorn では更にいくつもの新しい試みを実現しようとしている。
またWindowsNTは、開発当時非常に優秀な技術者たちによってその基礎が作られており、しかもその当時の優れたOSを深く研究した上で開発が行われている。
(闘うプログラマー 上巻参照)


こんなことを書くのはオープンソースを否定して、Microsoft製品を買おうと伝えたいからではない。
Linux が最善のオープンソースOSではない事に、多くの人に気づいて欲しいのだ。
id:hyoshiok:20050519のエントリにもあるように、OSやコンパイラといったような基礎的なソフトウェアをいじれる技術者が少ないこの時代だからこそ、OS開発はやりがいもあり、やる意味のある事だと思うし、「Linuxがあるから、もう十分だよ」と思って欲しくないのだ。


拙作のMona OSは Linux の足元にも及ばないほど小さくて・未熟であり、こんなことを偉そうに言える立場ではないかもしれないが、Monaを踏み台にしてもらって是非 Linux を超えるOSが開発されたらいいなと思う今日この頃。