OpenSolaris のコミュニティーを構築する

OpenSolaris は複数のコミュニティーの集まりで構成されていますが、そのようなコミュニティーの構築には時間と労力が必要です。これは避けられません。プログラムコードを公開しただけで何もしないのでは、世界中の開発者やユーザーの輪に加わる機会を失うことになります。現在、opensolaris.org で活動しているのが OpenSolaris 最大のコミュニティーですが、その opensolaris.org も、コミュニティーグループ、プロジェクト、ユーザーグループなどの形で、小さなコミュニティーが多数集まって構成されています。さらに、新興市場でも新しいコミュニティーが Web サイトを公開し始めており、opensolaris.org の活動とは必ずしもつながりを持たない独立したディストリビューションさえあります。OpenSolaris はもはやモノリシックではなく、その基盤も一枚岩ではありません。成長と多様化が世界規模で進んでいます。

Sun がクローズドな開発プロジェクトをオープンな opensolaris.org に移行し、また新プロジェクトをオープンで一から始めることに対して、多くの人が「どのようにコミュニティーを構築するのか」「どうしてコミュニティーを構築しなければならないのか」「どのように成長するのか」という質問をします。技術以外の側面から、そのような疑問への私なりの回答案を、ここに紹介します。次に掲げる一覧は、スタッフと参加者をまとめてコミュニティーを構築するうえで考慮すべき事柄です。すべての問題を網羅したものではなく、またどうしても解決しなければならない問題ばかりというわけでもありません。

コミュニティーを構築する
  1. 計画立案と実作業: まず、コミュニティー構築は計画と実作業を積極的に繰り返すことだという認識が必要です。この認識に抵抗感を示す人もいます。コミュニティーは有機的に成長しなければならないと信じている人たちです。ほとんどのコミュニティーは、積極的な参加者が新しい参加者に直接働きかけることで成長しており、企業、基金、個人などさまざまな提供元から得たリソースを直接管理しているのも同じ人たち、というのが実情ではないかと私は考えています。また、コミュニティー構築のコンセプトは、2 つの単純な大原則に従うものだと思います。(1) オープンなコミュニケーションと、(2) オープンな開発です。オープンに作業して、オープンに話し合うのが基本なのです。本当に大きな成長を望むなら、さらに、3 つの課題を巧みにクリアしなければなりません。(1) 常にたくさんの人に話しかけること、(2) その人たちをあなたの取り組みに引き入れること、(3) その人たちがほかの人たちと協力して成果を出し、共有し、コミュニティーに還元する手段を提供することです。すると今度は、作業過程自体がコミュニティー構築を促進するようになります。作業によってコミュニケーションが増え、また新たな作業も増えるからです。このように回り始めるのです。しかし、積極的な作業にはまず計画が必要です。計画立案、計画実行、計画修正。これを繰り返します。

  2. 透明性: 外部に踏み出しましょう。内向きのままではコミュニティーを構築することはできません。話し合い、メーリングリスト、ソースコード、バイナリコード、ドキュメント、ツール、人材、インフラストラクチャー、アートワークなどを外部に求めましょう。そうすることで、すべての人が適切な取り組み方で貢献できるようになります。外部に求めるものなど何もない、と考えていると、だれも集まらなくなり、コミュニティーを構築することができなくなるでしょう。また、内部だけに向けて話をしていると、外部の人にはコミュニティーの存在すらわかりません。これは、Sun の人たちが犯す何よりも大きな誤りです。彼らは 2 つの世界を住み分けようとしますが、そんなことはできません。オープンであるかどうか、自問してみてください。

  3. 参加: 直接的な参加と信頼関係の構築がコミュニティーの要です。つまり、コミュニティー参加者は自分の貢献をもとに活動の場を得ており、活躍の機会とオープンさを期待しているということです。この問題はコミュニティーとプログラムの違いだと捉える人もいるかもしれません。ほとんどのプログラムは一方通行で、企業が市場にただ流すだけです。しかしコミュニティーは双方向 (あるいは多方向) で、出力と同じだけの入力があります。また、参加は作業であり、話し合いではありません。まとめ役になる人もいれば、ほかの人より影響力が強い人もいます。あなたは信頼を、会社での肩書きではなく、コミュニティーに貢献した成果によって得ます。ほかの人の関心を集めたいのなら、この考えをしっかりと受け止めて、実践によって実現するしかありません。

  4. 貢献: 自分がどのような貢献を求めているのか、明確にしましょう。一般的なカテゴリと具体例を考え、自分が考えもつかなかった成果をコミュニティーに期待しましょう (実際にはこれが目標)。OpenSolaris コミュニティーの参加者による貢献の例を挙げてみましょう。コード、スクリプト、テスト、ヘルプファイル、プレゼンテーション、ユーザーグループ、カンファレンス運営、多言語対応、翻訳、大学での講義、グラフィック、広告、教材、スクリーンキャスト、ビデオ、Web サイト、wiki、普及活動、ドキュメンテーション、執筆活動、ブログ、ポッドキャスト、開発プロセス、チュートリアル、入力メソッド、フィードバック、言語圧縮ツール、SCM ツール、クローズドバ��ナリの書き直し、バグ追跡システム、シェル、ディストリビューション、書籍、流通、管理など。技術的な貢献が多く、そうでない貢献も含まれていますが、ほとんどはカーネルコードと関係のない貢献です。つまり、推進したいさまざまな貢献について考え、オープンな環境でこのリストの項目数が増えていくようにします。そのうえで、コミュニティーが動き出したら、貢献している人に注目が集まるようにします。貢献には常に注目が欲しいでしょうが、控えめに主張しましょう。ほとんどのコミュニティでは、本当に貢献しているのがだれなのか、皆がわかっています。成果のほうが言葉よりも雄弁であり、参加者同士がオープンに取り組みをするのが一般的だからです。ただし、これは他人への感謝を述べるのを妨げるものではありません。

  5. プレゼンテーション: ほとんどの技術的プレゼンテーションは、息苦しいほど長く、技術的な事柄自体の説明を重視しすぎているということが、最大の問題です。学校の授業や対面チュートリアルのセッションならそれでもよいでしょう。しかしコミュニティーの構築は、実のところ、テクノロジーの問題ではありません。人の問題なのです。ですから、テクノロジーを説明するのはもちろんとして、どうしたら開発者やユーザーがテクノロジを使いこなしコミュニティーに貢献できるか、どうしたらその恩恵がすべての人に行き渡るかについて、説明の仕方よりもはるかに重く考えなくてはなりません。ほとんどの技術的プレゼンテーションでは、スライドの最後に参照すべきメーリングリストの一覧を紹介します。それでは不十分です。コミュニティーの紹介は補足情報ではなく、プレゼンテーションの核とすべきものです。

  6. カンファレンス: カンファレンスにはぜひ参加してください。Sun はさまざまなカンファレンスを開催していますが、Sun 以外の FOSS イベントにも参加する必要があります。どちらにも、それぞれ違った価値があります。ただし、カンファレンスへの参加を常に続けなければならないと考えてはいけません。セッション、立ち話、BOF、パーティーなどに参加するのも、正式なカンファレンスへの出席と同じくらい大切なことです。そこから始めることが重要です。連帯感を生むために、顔を突き合わせての交流とオンラインでの交流を組み合わせる必要があるでしょう。しかし、矢継ぎばやの早口トークをする機会を逃してはいけません。カンファレンスがうまくゆけば、そのような機会につながります。また、出席するカンファレンスのリストにユーザーグループの会合を加えておきましょう。ユーザーグループに参加するか、なければ自分で立ち上げます。自分で立ち上げる場合、バーかカフェあたりから始めます。最初は社交的な内容で小規模に、より多くの人が知見を持ち寄るようになってきたら、徐々に技術的なプレゼンテーションを増やします。100 人を集めた大規模な技術的プレゼンテーションを、毎月欠かさず行わなくてはならない、とは考えないでください。それは現実的ではありません。おそらく技術的なセッションは四半期に 1 度くらいで、それ以外の月は、バーでビールや食事を取りながらメーリングリストの話題について話し合うことになるでしょう。最初は小規模に、回数を重ねて会合の定着を狙います。そうするうちに、ささやかな文化がすぐに生まれ、ユーザーグループが結束するためのかすがいになるでしょう。

  7. 開発プロセスとインフラストラクチャー: コミュニティーを構築しようとする場合、参加が望まれる人たち全員をサポートするために、物理的インフラストラクチャーの問題を解決する手間が必要です。スケーラビリティーはどうでしょうか。貢献を引き出すために必要な開発プロセスはどのようなものでしょうか。どのようなテストが必要でしょうか。サンドボックスや実験環境を提供していますか。成果物をホストするためにどのようなツールが必要でしょうか。アクセス権はだれが所有しますか。これは、ホスティング先は opensolaris.org なのかほかのサイトなのか、運営するのはコミュニティーかユーザーグループか開発プロジェクトか、ということによって決まります。ハイエンドでコードの貢献をする人は少数なのが普通で、必要となるツールはその人たちがやりくりすることになります。しかしコード開発者以外の人たちも、少なくとも部分的には、話し合いに参加するべきです。そうすることが、さまざまな貢献を幅広く引き出せるインフラストラクチャーを構築することにつながります。

  8. リーダーシップ、ガバナンス、文化: あなたのコミュニティーの価値はどこにあるのでしょうか。組織構造はどのようになっていますか。どのような運営を意図していますか。どのようにして決定を下しますか。あなたがモデルとするリーダーシップはどのようなものでしょうか。どのようにして貢献への注目を呼び起こしますか。どのようにして対立を解消しますか。大きなグループで集まって何か共同作業をするには、解決しなければならない問題が常にあります。規模が小さければ、頭で考えて容易に解決することができます。しかし世界規模のグループになると、推奨したい行動をドキュメント化して、それを実行するために必要なルールを整備しなくてはなりません。杓子定規に徹底させる必要はありませんが、あなたが何を言いたいのか、何を期待しているのかを、ほかの人たちに知らせる必要があります。強力なリーダーが 1 人という形がおそらく妥当でしょうが、リーダーシップを分散させるほかの体制についても、選択肢として検討したい場合があるかもしれません。Mozilla、Linux、Apache、Ruby、Java、BSD など、ほかのコミュニティーを参考にしましょう。オープンソースコミュニティーはほかにもありますが、いま挙げたコミュニティーが比較的大規模です。

  9. 大学での講義: 成長を望むならば、学校に戻って若い人たちと交流することが必要です。新興市場ではプロジェクトを、大学の学生や教授にまず紹介します。インドや中国から始める、というのもわからない話ではありませんが、成熟した市場を無視してはいけません。プロジェクトが将来を見据え�������おり、勝ち抜ける力を持っていることを確認するためには、大学訪問が唯一にして最良の手段でしょう。大学を無視する手はありません。最優先すべきです。またこの部分は、コミュニティーを構築する上での醍醐味ともいえるでしょう。

  10. 世界展開: 世界的な視野を念頭にコミュニティーの構築を進めます。あなたが取り組んでいる問題に関心のある開発者はどこにいるでしょうか。その場所に行きましょう。たくさんいるはずです。しかし世界展開には、言語や文化のあらゆる問題がついて回ります。それは興味深い問題であるとともに、手間のかかる問題でもあります。心してかかりましょう。コミュニティー構築の手助けとなる人をそれぞれの地域で探し、その上で、複数の地域をひとつにまとめる働きかけをします。あなたが世界で相手にするコミュニティーは「1 つだけ」ではありません。だれもがあなたを理解するとは (ましてあなたについて行くとは) 期待しないでください。多くのコミュニティーを相手にすることになるでしょうし、コミュニティーによって独自性の表現もそれぞれ異なるでしょう。彼らが必要な独自性を保つよう励まし、その一方で、ほかの地域と連携してより大きなコミュニティーに参加できるよう手助けをするのが、あなたの役割です。簡単ではありません。しかし、必要な仕事です。そして、新興市場が発展する上で本当に革新的な貢献が生まれる源でもあります。

  11. マーケティング: マーケティング担当者と親交を深めましょう。カンファレンスでの正式発表、マスコミやアナリストへの対応、ユーザー会合での活動などを通して、プロジェクトの広報を行う人たちです。商標、ブランド戦略、ローンチ戦略、発表、情報リーク、市場の混乱などについて、あなたがこれまで考えたことがないような、重要な視点をもたらしてくれます。マスコミが自分について何と言っているか、知る必要があるでしょうか。露出を増やすことでメリットはあるでしょうか。マーケティング担当者から見て、競合相手と比べてあなたに不足しているものは何でしょうか。Sun が時折開催している、コーディングコンテストや各種イベントなどの特別プログラムにも、参加してください。これ以外にも、開発者向けのプログラムや Web サイトがあり、コンテンツや参加者を募集しています。このようにして、企業の世界的なリソースを活用します。最後に、謙遜と正直さが、オープンソースのマーケティングを効果的に行う上でもっとも重要なテクニックです。取り組み中の問題について広報を行うとき、そのことを念頭に置いてください。

  12. 普及活動: マーケティングよりもはるかに大きな概念で、意味も少々異なります。広告、マーケティング、PR、AR (アナリストリレーションズ) など、マーケティング関連の特定分野を指すものではありません。積極的な参加と貢献を得るための、直接的で率直な取り組みです。オープンなコミュニケーションによるコミュニティー構築です。マーケティングはもちろんエンジニアリングやプロジェクト管理も含んだ概念なので、意欲のある人はだれでも参加することができます。もちろん、あなたの成果を普及させる最適任者は、あなた自身です。つまり、あなたは自分なりの方法でコミュニケーションを行う直接的な責任を負うものとみなされます。この目的のためにほかのリソースを活用することになるでしょうが、最終的な帳尻は自分持ちになります。つまり、あなたのコミュニティーが成長して技術が普及するかどうか、この活動にかかっています。この役割を他人に押し付けたり、放り出したりしないでください。しっかりと取り組みましょう。

  13. 法務: クローズドだったソースコードやツールをオープンにするまでは、ほとんどが Sun 社内の問題でした。オープンになったあとも、商標、著作権、配布条件、ライセンス、ソース解析などに注意しなければならないことは変わりません。コミュニティーの成長を促進する効果はありませんが、注意を怠ると、順調に進んでいた事柄が停止する原因になります。法務担当者と親交を深めましょう。コミュニティーの要望を伝え、実際的な法務問題について知らせてくれるよう依頼します。ここで確認しておくことは、両者にとって有益です。

  14. プロジェクト管理: プロジェクトが成長してくると、複数のエンジニアリングプロジェクトを抱え、世界中のユーザー活動と向き合うことになります。この複雑な運営をだれがこなすのでしょうか。計画を管理し、秩序を保ち、ロードマップの締め切りを守るのはだれでしょうか。必ず起きるであろう組織内の政治的な動きについて、あなたに助言してくれるのはだれでしょうか。そのようなとき、手助けをしてくれる優秀なプロジェクトマネージャーを探したくなるでしょう。エンジニアがコミュニティーをオープンに構築するべきなのと同様に、プロジェクトマネージャーもオープンであるべきです。できるだけ幅広い視点からプロジェクトを見ると、組織の内外でさまざまな文化がプロジェクトに関係しており、それがコミュニティーの構築方法に影響を与えることに気付くでしょう。

  15. 楽しむ: 最後に、コミュニティーの構築は社会的なエクササイズで、参加することに楽しみを見出せるはずです。コミュニティーに多くの人を引き入れたいのではありませんか。多くの人が寄り付くコミュニティーにしたいのではありませんか。居心地のよい場所を作りましょう。人々が自分なりのおもしろさを見つける機会を提供しましょう。



OpenSolaris 参照先:

OpenSolaris Constitution | Communities | Projects | Community and project lead site reference | Improving OpenSolaris | OpenSolaris Principles | Development Process | Developer's Reference | Advocacy Community Group | OpenSolaris Bug Fixes Contributed by Non-Sun Community Members

オープンソース、ライセンス、およびコミュニティー構築に関する書籍:

The Cathedral and the Bazaar』 Eric Raymond 著 | 『Innovation Happens Elsewhere』 Ron Goldman、Richard P. Gabriel 著 | 『Open Source & Free Software Licensing』 Andrew M. St. Laurent 著 | 『Open Source Licensing:Software Freedom & Intellectual Property Law』 Lawrence Rosen 著 | 『Open Sources:Voices from the Open Source Revolution』 Oreilly 刊 | 『Open Sources 2.0 The Continuing Evolution』 Oreilly 刊 | 『Free as in Freedom』 Richard Stallman 著

Post updated: 12/26/07, 12/27/07, 4/28/08, 5/16/08
Comments:

Post a Comment:
Comments are closed for this entry.
About


Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today
Bookmarks

No bookmarks in folder