2013年5月25日土曜日

Microsoftに捧ぐ

理論的にはソフトウェアが壊れるということはない。長く使っているうちにビットがすり減ってしまうということはあり得ない。何かがうまく動かないのは、はじめから壊れていたのだ。それにも関わらず、世界中のプログラマが、ソフトウェアが壊れていくさまを目撃する。昨日までうまく動いていたものが、今日はコアを吐く。

バグを見つけたら修正しなければならない。しかし、そのバグフィックス自体が、新たなバグを持ち込む可能性がある。したがって、ソフトウェアにはメンテナンスが必要である。このメンテナンスには終わりはない。ソフトウェアは「リリースしたら終わり」の製品ではない。

ソフトウェアベンダーは植木屋と同じである。植木屋は、植木を「リリースしたら終わり」ではない。何十年、ときには何百年も成長し続けるという植物の性質上、植木にも終わりのないメンテナンスが必要である。この点では、日本の植木職人もヨーロッパの庭師も同じである。

Microsoftこそ真の植木職人である。あるいは庭師である。来年には、Windows XPのサポートが終わる。Microsoftは、2001年発売のWindows XPを実に13年間メンテナンスし続けたことになる。変化の早いソフトウェアの世界での13年は、植物の世界では300年にも400年にも相当する。

私のLinuxエンジニアとしての仕事も、まさしく植木職人のそれである。Linuxカーネルは、日々成長する巨大な論理の植物である。日々の成長は小さくとも、月日の流れの中でダイナミックに成長する。私は植木職人として、あちこちにパッチを当て、Linuxカーネルの剪定を行う。

先日、カーネル2.6.9についての問い合わせを受けた。ファイルシステムのバグを踏んだかどうか調べて欲しいというものだった。さっそくカーネル2.6.9で現象が再現するかどうか調べようとした。驚いたことに、最新のgccでは、もはやカーネル2.6.9をビルドすることができなくなっていた。カーネル2.6.9のリリースは2004年である。

MicrosoftはWindowsのすべてをコントロールできる立場にあるので、長期間のメンテナンスを行いやすいのかもしれない。そうだとしても13年は尊敬に値する。

業界のもう一人の巨人であるAppleはどうか? OS Xのサポートを数年で打ち切ってしまうのは、花屋が切り花を売るのと同じである。切り花は、買ってから1週間はその美しさを楽しむことができる。しかしその後は、次の花に取って代わられる。Appleの花は常に美しいが、それは去年の花ではない。

90年代はMicrosoftの天下だった。しかし、ここ最近はMicrosoftを侮る声が多く聞こえる。Microsoftの製品は、Windows XPの背景のように何の変哲もない芝生に見えるかもしれない。しかし、何の変哲もない芝生はよく手入れされた芝生である。芝生には2種類しかない。よく手入れされた何の変哲もない芝生か、手入れのされていない茶色い枯れた芝生かである。