以下の主張には、以下の反論が考えられる。
404 Blog Not Found:サルでも生産性が上がるオープンソース今まで上手く行ったオープンソースプロジェクトを見ると、一つの点に気がつく。
オリジナリティの欠如、だ。
成功したオープンソースプロジェクトには、すでに「オリジナル」を凌駕したものも少なくないではないか、と。
これは事実その通りで、LAMPにしてからが、今やLinuxより多くのドライバーを持つ商用Unixは存在しないに等しいし(OS Xとどちらが多いだろう?「正式サポート」となれば後者だが)、Apacheはもはやこれこそがデファクトスタンダードだし、MySQLは微妙なところだけれども、インストールベースではおそらくすでに世界一だろうし、最後のP、Perl/Python/PHP/RubyといったProgrammming Languagesに至っては、サルマネというには「オリジナル」に戻れないぐらい独自のものとなっている。
実は、これも説明は簡単だ。
マネする方に、マネしたくないものまでマネるする義理がないからだ。
むしろ「イヤな機能まで忠実にマネ」した例は、商用ソフトにこそ見られる。どんな商用ソフトに見られるかというと、先行する競合(competitors)に追いつき追い越したいソフトだ。これを最も得意としたのが、ご存じMicrosoft。Netscapeをほぼ絶滅に追いやった今でも、Internet ExplorerがUser-Agent: Mozilla/4.0 (compa tible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)"と自称するのはそのためだ。
商用ソフトが他者のマネをする時には、Bug-to-Bug Compatibilityが求められる。たとえ自分が黒だと思っても、デファクトスタンダードが白だとのたまっているものは謹んで白と言わなければ、客は振り向いてくれないのだ。
オープンソースには、この「悪いところまでまねしなければならない」という縛りがないのだ。
そこでは、窮極のいいとこどりが可能となる。そのことを最初に公言したのは、おそらくLarry Wallその人だろう。">Perl, the first postmodern computer language"は、Open Sourceを語る上では最重要の文書だと思われるが、ここで該当箇所を引用しておこう。
Perl, the first postmodern computer languageWhen I started designing Perl, I explicitly set out to deconstruct all the computer languages I knew and recombine or reconstruct them in a different way, because there were many things I liked about other languages, and many things I disliked. I lovingly reused features from many languages. (I suppose a Modernist would say I stole the features, since Modernists are hung up about originality.) Whatever the verb you choose, I've done it over the course of the years from C, sh, csh, grep, sed, awk, Fortran, COBOL, PL/I, BASIC-PLUS, SNOBOL, Lisp, Ada, C++, and Python. To name a few. To the extent that Perl rules rather than sucks, it's because the various features of these languages ruled rather than sucked.
[snip]
I picked the feature set of Perl because I thought they were cool features. I left the other ones behind because I thought they sucked.
そうなのだ。いいところだけマネすればいい。というより、悪いところまでマネする余裕はないのだ。
これが、オープンソースプロジェクト(の一部)が、「オリジナル」よりも成功する秘訣だ。
しかし、何がよくて何が悪いか、というのは極めて主観的な美学の問題でもある。何をマネしたくて何をマネしたくないかは、人によって異なる。ほとんどの人がマネるべきと思う事もあれば(たとえばオブジェクト指向)、皆の意見が分かれるところもある(例えば、どうオブジェクトを実装するのか)。
ここで、もう一つのオープンソースの謎が解明される。なぜ成功したオープンソースプロジェクトには、揃いもそろってBenevolent Dictator,慈悲深い独裁者が存在するのか、ということだ。
そう。彼らの役割は、何をマネするかではなく、何をマネしないか決めることなのだ。それが、そのプロジェクトの美学となる。LinuxにはLinusの、PerlにはLarryの、そしてRubyにはMatzの美学が反映されているが、それは彼らが何をマネすべきかではなく、彼らが何をマネしなかったかの集大成なのだ。
Open Sourceは、今一つの転機、いやもっと率直に言うと、危機、に直面しているように感じる。
それは、Open Sourceが今最も成功していることの証しでもある。
次のEntryでは、それを検証しようと思う。
Dan the Open Source Programmer
このブログにコメントするにはログインが必要です。
さんログアウト
この記事には許可ユーザしかコメントができません。