未来のいつか/hyoshiokの日記

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

コミュニティの作り方

ソフトウェア開発における破壊的技術はバザールモデルによるソフトウェア開発だと思う。単なるソースコードの公開だけではなく、自発的意思を持った多数のプログラマによるコラボレーションによるソフトウェア開発が破壊的である。
バザールになるのかならないのかは多数のプログラマの興味を引きコミュニティが構築できるかどうかにかかっている。多くのOSSはコミュニティの構築までたどり着かない。田舎道の野菜の無人売りみたいなものでお客も売る人もいない状態である。バザールになってお祭り騒ぎになるのはごくごく一部である。関係者(?)というかサクラを集めて人だかりがあるように演出したとしてもなかなか長続きはしない。企業発のOSSがなかなか難しいのは企業の予算が切れたとたん閑古鳥が鳴くという状態で持続しにくい。つまり企業の予算に依存していて、コミュニティが自立していないとそのような状況になってしまう。
コミュニティを支援するというのも同様な難しさをもっている。例えばIPAOSSの開発に予算をつけたとしても、OSS作りました、よくできました、以上という状況になりがちである。予算が尽きたら終わり。たしかに細々とメンテナンスをしていたとしても、健全なコミュニティが育っていないと持続可能性はない。問題点を発見し、修正するというのをコミュニティの機能としてまわすまで育っていないと、ごく一部のボランティアに過度に負担がかかって健全な発展は望めない。
OSSの難しさはコードを作ることではなく、コミュニティを作ることである。(id:hyoshiok:20060404#p1)
これは企業発だろうが個人発だろうが同じである。
難しい難しいといっていてもしょうがないのでベストプラクティスを共有しそれを横展開するのが第一歩である。

企業のOSS担当者へのいくつかのTips。

  • 新規にOSSをスクラッチから作らない。似たようなOSSはどっかにあるだろうからそれと協調する路線を考える。OSSを作るのは難しくないが、OSSコミュニティを作るのは非常に難しい
  • ポータルサイトを作る。メーリングリスト、自由に参加できるWikiのようなもの、最新版のコードを公開するサーバ、バグデータベース、ドキュメントなどなど
  • 議論は公開したメーリングリストで行い、誰でも参加できるフェースツーフェースのミーティングも適宜開催する。
  • いろいろなところで宣伝活動をする。

もちろんコミュニティが持続的に発展するには参加者の情熱や愛は重要である。

コミュニティのマーケティング活動は重要である。もちろん、コアとなる技術開発はもっと重要である。どちらも重要。

がっつり開発

でもって、がっつり開発の話なんだけど、開発しつつも健全なコミュニティ育成も必要である。ソフトウェア開発におけるロングテールを発生させるために圧倒的な量の開発者兼ユーザーをどう確保するかそれがキーとなる。
その点、サーバサイドの開発者を集めることはデスクトップサイドの開発者を集めるよりも日本では容易のような気がする。大手企業でソフトウェア製品を開発していた人々(例えばOSのカーネルとか、ファイルシステムとかRDBMSとかを開発していた人々)はいなくはないので、Linuxのもとに参集させることは不可能ではない。しかし、デスクトップというかクライアント側の人材はサーバに比べてさらに少ないような印象を持つ。メインフレーム経験者ってクライアントソフトウェアを作っていた人々ではないのである。
携帯とかの開発者とかに微妙にいたりするのか。ユーザビリティとかはWeb系の人をリクルートするのがいいのかもしれないけど。