ソフトウェアには2種類ある。それを作ったプログラマ本人が使うものと、そうでないものと。
前者は金にならない。それはプログラマの周囲に自然発生する。この種のソフトウェアのうち、もっとも有名なのはLinuxカーネルであり、もっとも影響力があるのはGCCである。
プログラマを養うのは後者だ。マルクスが目からビームを出しながら解説してくれそうなシチュエーションだが、やめておこう。
もっとも美しいソフトウェアは、常に前者である。
何年か前のことだ。私は、17世紀ヨーロッパのくだらない商業絵画を集めた企画展を見に行く羽目になった。どう贔屓目に見ても、絵の具以下の価値しかないような絵ばかりだった(絵の具は実に美しい。もし機会があったら、よく見てほしい)。「見るに耐えない」とはああいう絵をいうのだろう。しかし、その中にたった一点、見るに値する作品があった。ほほう、と思って釣り書きをみると――それは、商業画家の組合の事務所に飾るために描かれた絵だった。
華々しい成功を収めたオープンソースソフトウェアを、思いつくだけ挙げてみてほしい。Linux、JBoss、MySQL、Eclipse、Mozilla。分野はさまざまだが、これらはみな、プログラマが使うソフトウェアだ。
OpenOffice.orgを日常的に使うプログラマというものを、私はうまくイメージできない。労力を最小化しようとしたとき、OpenOffice.orgという選択肢が合理的になるためには、いったいどれだけの不自然な前提条件が必要になることか。そして、そういう不自然な前提条件に耐えられるプログラマは、まず間違いなく、よいプログラマではない。
(MSを宗教的に嫌悪しているプログラマは、ほぼ例外なく、よいプログラマではない。反MS教の信者として生きることは、人生を困難にする。よいプログラマは、楽をするためなら、自分の宗教をいとも簡単に捨てる)
OpenOffice.orgは、異端児なのだ。有名なオープンソースソフトウェアのなかで、ただひとつ、よいプログラマに愛される見込みがない、という意味で。
もちろん、時代は変わりつつある。
委員会が設計したプログラミング言語は常に呪われた運命をたどってきたが、もしかするとJavaは、初めての勝利を得るかもしれない(ただし、ここでいうJavaとは、AspectJを含む。Inter-type declarationなしのJavaは、手の込んだ冗談か、あるいは狂気の兆候だ)。OpenOffice.orgが、Javaと同様に、ルールブレイカーにならないという保証はない。
だが、分は悪い。お勧めできる銘柄では到底ない。