未来のいつか/hyoshiokの日記

hyoshiokの日々思うことをあれやこれや

Joel on Softwareとハッカーと画家

休日にJoel on Softwareを読んでみた。*1

文化 商用 フリー
Windows (1) (2)
Unix (3) (4)

商用のソフトウェアは(1)ないし(3)で、(1)にはマイクロソフトの製品(オフィスとか)などがあり、(3)にはOracleとかがある。(4)にはLinuxやApach他定番のフリーソフトウェアオープンソースソフトウェアがある。(2)にはOpenOfficeとかMozillaなんかをとりあえづあげておく。

人物で言えば、(1)はもちろんBill Gatesで、(3)Larry Ellison(Oracleの創業者)、(4)はRichard StallmanLinus TorvaldsやEric Raymondだ。

Unixの文化はEricやRichardによって伝えられているが、主に(4)の文化で、(3)については、あまり語られていない。Windowsの文化は主にマイクロソフトでの文化だ。

極端に単純化するとWindowsプログラマはエンドユーザーのためにプログラミングするし、Unixプログラマプログラマのためにプログラミングする。もちろん商用UnixプログラマはユーザーのためにRDBMSを作るが、それは一般消費者ではなくてプロの技術者のためにプログラミングする。

Windowsプログラマワープロソフトを売るためにプログラミングをするが、Unixプログラマは自分の問題を解決するためにプログラミングする。商用製品であれば、互換性の維持はユーザーをロックインするための基本中の基本である。そして、互換性を維持したまま機能を追加してアップグレードさせるというのが、これまた基本である。その意味で(1)と(3)は同じ土俵にのっている。

Joel on Softwareの著者は(1)の人だから(4)の人とよってたつ文化が違う。まつもとさんが、読めば読むほど気分が悪くなるというのも、商用ソフトウェア開発の世界とハッカーの世界の文化の違いを感じたからではないだろうか?
Joelが腹立たしいわけを記しているが、愛が感じられないとしたら、それは仕事のために、ワープロ表計算ソフトを売るためにプログラムを書く人に、それを感じられないということなのではないだろうか?

わたしの立ち位置は(3)から(4)あたりなのであるが、スケーラビリティがどうだとか、キャッシュがどうだなんていうお話は(4)の興味を引くものというより(3)あたりが主なフィールドであろう。そうすると(3)と(4)の微妙な文化の谷間というのもなんとなく理解できなくもない。(4)の中でもRichardみたいに自由が最も重要で、ビジネスというのにはまったく興味がないという人からEricやLinusみたいに、ビジネスもいいんじゃないという人まで幅が広いし、(3)への許容度もある。

ソフトウェアの互換性に対する態度も商用とフリーソフトウェアでは随分違うということだろう。

ハッカーと画家も読んでみよう。*2