Daring Fireballさんで、Linuxを中心とするオープンソースサイドとMSやAppleのクローズドソースサイドに関して興味深い考察が述べられていましたのでチェック。筆者のJohnさん、Linux(と一般的なオープンソースソフト)に対するかなり厳しい批評をしています。ちょっと長いですが、なかなか面白かったので一部要約して和訳してみました。

いやー、面白いやりとりだ。

かいつまんで説明すると、Linux やオープンソフトウェアの大家である Eric Raymond 氏がプリンタの設定につまづいたという体験をもとに、もっと良い GUI を書こうと Blog に書いた。 そしたら John Gruber氏が、そうじゃない。 よい GUI を書こうなんて姿勢ではダメだ。 始めに GUI は最初にあってもいいぐらい重要なモノでプログラマが片手間にやってもいいモノはできない。 これがLinux やオープンソースのソフトの問題だと指摘したというモノ。

ユーザインタフェースは一番最初にそのソフトウェアに触れる部分となるので重要なのはとても同意できる。 特に大規模なソフトウェアではそうだろう。 しかし、プログラマとしての自分の中には見た目より、まず動くモノを作りたくなる気持もわからなくはない。 デザインを重視しても、実際の動きに合わせて調整していかなればいけないのも事実だ。 UI、機能をスタートにすべきかはわからないが、プロセスとしては 試行錯誤を繰り返し、よりよいモノを目指すのが現実的なところだろう。

しかし、オープンソースコミュニティ は顔も合わせたことのない開発者が何十人、何百人も集まって作業をしているので、むやみに他人を振りまわせず、試行錯誤といったフットワークの軽い開発手法は合っていない。 そのため、どうしても最初にあるモノ、最大公約数的に「これでいいか」いうモノに落ちついてしまうことが多い。 これはより良いソフトウェアを作る上では問題だ。 まだ考えがまとまっていないが、オフショア開発に関して、何かモヤモヤした気分があるのは自分の仕事が取られるとかそういうのじゃなくて、良いソフトウェアを提供する観点から見るとフットワークの軽さという点で問題がある気がしているからだと思う。

上のやりとりが提起してくれた問題はいろんな要因が考えられると思うので、まだ解決策を言うことができないが、開発プロセスにおけるユーザインタフェース部分の開発手法に問題があることをはっきりさせてくれた。 自分も含め、デベロッパはこのまま黙っているつもりはない。 これをきっかけに少しでも良いものを作っていきたい。