2011年12月14日

ソフトウェアの「作る」か「持ってくるか」問題

ミドルウェアとかライブラリとかソフトって「外部のを使う、より、自分で作る」という時期があって、そこからしばらくすると「自分で作るより、外から持ってきて使う」に変わるのが一般的だと思うんだけど、それってどんなタイミングなんだろう。

対象プラットフォームでのまともな実装がない時期(OS/2用ブラウザとしてIBMがWebExplorer作った、みたいな時期)だと当然作らないといけないし、逆に今からUnity対抗のゲーム開発用ソフトを作り始めるのは不合理っぽい。

これって、いつ潮目が変わるんだろう。それでも作っちゃう人は何が見えてる( or 見えてない)んだろう。それがパターン化できると「もう作るなよ」と説得しやすくなりそうだし、あるいは、見えてる人が「それでも作るんだよ、勝てるよ」と言いやすくなるかも知れない。
ほとんどの場合は先行したものの方が枯れて安定するから、動作実績が出始めたら「作らないで持ってきた方がいいよ」となるんだけど、先行がずっと有利なわけでもない。


Linuxみたいに「すでに動くUNIX」が、すでにとても枯れてた時期に、まったくあらたに実装しちゃって成長した例もある。

もっと前、GNU ToolsはUNIXの基本ツールの再実装で、当時でも「いや別に、grepとかlsはもうあるし」という状態だった。

Chromeはブラウザ戦争に割って入ってそれなりに取ってるけど、これは「力業」以上のもののはず(好かれるだけの特徴があるはず)。

DBサーバーなんて入れ替わりが激しい業界だし。


生き残れるかどうかは、たぶん、「人の不満/怒り」の総量なんだろうなあ。そこが一定量あれば、既存体制に満足してる人がどれだけいても、一定の地歩を占められるというか。あと、各人に課せられるスイッチングコスト(チャレンジコスト)の低さも重要。


・GNUはAT&Tのライセンスへの不満をうけて、同じ使い方のコマンドの別実装を配布

・Chromeは既存ブラウザへの不満をうけて、ふつー(褒めてます!)のブラウザを配布

・DBはいろんな不満を受けて、同じようなSQLが使える別実装をリリース


て感じで。これでたとえばGNUが「俺の考えたもっといいネーミングのコマンド群を使え! cat? dogにするぜ、ls? listdir だぜ!!」だったら絶対ダメだった。DBで「SQLは廃止します、自然言語ベースのHOGEHOGEです」なんてのは、もー、論外。

Linuxは、初期参加者が「おもしろがり」パワーをつぎ込み、よってたかってスイッチングコストを下げたけど、ドライバが出そろってインストールが楽になるのなんて、ずいぶん後。Windows並みにインストールウィザードが作られたのはもっと後だ。

もし本当に、「この○○、俺がもう一回作る!」ってやるんだったら、ほとんどのユーザが元ネタと同じ使い方ができるように実装すれば勝てるかもしれない。

そこまで元ネタを使い込んでいて、それでもなお再実装するのか?というところが「分かれ目」なのかも。
posted by へろ at 20:25 | Comment(0) | TrackBack(0) | コンピュータ
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/51914123

この記事へのトラックバック