OSの開発
10年前、わたしは米国OracleでOracle 8の開発に従事していた。データベースエンジンを開発する唯一の日本人プログラマであった。朝から晩まで、コードとにらめっこで、自分がチェックインしたコードで、デイリービルドがぼろぼろにならないように毎朝祈っていた。
その当時、RDBMSのような巨大なソフトウェアを開発できる企業は、Oracle以外、IBM、Microsoftなど限られた大企業でしかなかった。SybaseやInformixなどは徐々に競争力を失ないつつあり、ニッチなエリアでの新興ベンチャーはあるにはあったがOracleのような汎用RDBMSベンダーになりそうな企業はみあたらなかった。むしろ、ゴリラのような巨大企業に市場は収斂しつつあるように見えた。
OSのベンダーもそうだ。Microsoft、IBM、Sun Microsystems、HPなどがOSを開発していたが、Microsoftをのぞけば、ハードウェアビジネス主体でUnix系OSを開発しているという感じであり、21世紀には汎用OSを開発販売する会社も何社かに収斂するように思えた。
10年後、自分がLinuxとは言え、OSベンダの中でOS開発の一翼をになうなんてことは想像もしていなかったし、当時、そんな事を言ったら、頭がおかしいんじゃないかと思われただろう。
Linuxカーネルの場合、その根幹はコミュニティの専門家によるピアレビュー(peer review)によって信頼性が担保されている。そしてこのピアレビューのプロセスが思いの他うまくいっているのである。これは、Linusの人柄にもよるかもしれないが、ほとんど意図せづ偶然の産物に近いものがあって、Linuxはそれが上手く機能するということを証明した最初(?)の大規模ソフトウェアプロジェクトであったのである。
GKHによれば、2.6.22カーネルにパッチを投稿したプログラマは約800人で、2.6系カーネルに貢献した総数は約3000人と言われている。
これだけ多数のカーネルエンジニアをかかえる企業は地球上には存在しない。Brooksは、ソフトウェアプロジェクトにおいてエンジニアのコミュニケーションコストは人数の二乗に比例して増加するので、エンジニアの追加は管理コストの増加をまねき、生産性にネガティブなインパクトをあたえるという主旨の観測を「人月の神話」で記している。
Eric Raymondは「大聖堂とバザール」のエッセイで、ピアレビューはスケールする事を示し、「目玉の数が多ければ、問題は簡単になる」と記した。デバックプロセスは並列実行可能で、スケールするのである。人数が増えてもプロジェクトが破綻しないポイントを発見したのである。
後にバザールモデルと呼ばれるソフトウェア開発モデルである。
カーネル部分の信頼性はピアレビューが機能するうちは担保されるだろう。そして、Linux以外にもいくつものオープンソースソフトウェアは多くの開発者を得て、バザールモデルの有効性を実証している。
OSのカーネル部分はそのように開発されているわけだが、それを集めてパッケージ化し、統合し各種テストを実施しインストールしやすいようにしたのが、ディストリビューションとよばれるパッケージである。たとえば弊社はAsianuxというディストリビューションを開発、販売、サポートしている。
いづれにせよ、10年前には、OS開発に関与して、それを製造販売サポートするなんていうことは全く考えられなかったので、不思議な時代になったものである。オープンソースのチカラという感じである。
人月の神話と大聖堂とバザール/ユメのチカラ
http://blog.miraclelinux.com/yume/2007/07/post_d83c.html
人月の神話/ユメのチカラ
http://blog.miraclelinux.com/yume/2007/07/post_1529.html




コメント