オープンソースにおける自然淘汰

http://www.openxource.com/crossings/2005/01/31/natural_selection_in_open_source/brief
Ruby界では話題騒然のWebフレームワークであるhttp://www.rubyonrails.com/に関するエントリ。

  • RubyにもいつくかのWebフレームワークがあった
  • そこにRails登場
  • 使ったやつが気に入ってコミュニティが形成されていく
  • コミュニティが育てばソフトウェアの質はあがる(ドキュメントもね)
  • これが自然淘汰ってやつ

これに対比されているのはJavaのJSF

  • Java界のデファクトはStrutsだけど文句いうやつも多い
  • そこでJCP(Java Community Process)登場
  • いろんな企業が綱引きしながらJSFを作った
  • そしたら完璧とはほど遠いものができちまった
  • 自然淘汰とも関係ない

ちょっとJSFに対して厳しすぎる気もするけど,それだけRailsのインパクトは大きいってことです。最後はこう締めてます。

We need to watch out how our technology choices are made, and make sure that we build a great community around technologies. Let's try hard to watch some natural selection take place, and then bless the winner as the 'current standard'. Let's not try to standardize too early, as you then always end up with the lowest common denominator which doesn't meet any needs.

我々は,技術の選択がどのように行われるか警戒しておく必要があり,我々が技術に対して大きなコミュニティを築き上げることを確かめる必要がある。自然淘汰が生じるか真剣に監視し,勝者を「現時点での標準」として祝福しよう。あまり早い時期に標準化すれば,どんなニーズにもマッチしない最大公約数的なものになってしまうだろう。

ちなみに,このエントリを引用しているhttp://weblog.rubyonrails.com/archives/2005/02/02/natural-selection-for-frameworks-in-ruby-vs-java/では,「そりゃないじゃろ」とか「自然淘汰ってどーよ」とか,色々言われてますなー。