オープンソースにおける役割 混沌に秩序をもたらす そして、私たち全員がそうであるように、彼らもそれぞれ、物事がどうあるべきかについて意見を持っている。 コミュニティ・プロジェクトを運営する上で、意見の相違に対処することは楽しみの一部でもある。
健全で知的な組織構造を注意深く設計することで、時に湧き上がる混沌に蓋をすることができる。 明確なルールと方針は、プロジェクトの運営方法と貢献の管理方法について、明確な期待を確立するのに役立つ。 インテリジェントなルールは、意思決定の方法、意思決定権を持つ者、対立の解決方法など、プロジェクトのガバナンス構造を定義するのに役立つ。
可能な限り、オープンソースプロジェクトの管理者は、ボランティアにとって友好的で親しみやすい環境を作るよう努めるべきである。 この点を説明する不幸な例として、オープンソースの世界の大手企業が最近下した決断がある。 この組織は、重要なプロジェクトへのコード貢献を規定するオープンソースライセンスを変更し、新しいコントリビューター・ライセンス契約(CLA)を導入した。 最も重要な貢献者の何人かは、この移転に深く憤慨し、親団体との関係を断ち、プロジェクト全体に多少の損害を与えた。 誰が正しかったのか、この紛争を防ぐことができたのかについて、私は意見を持っていないが、私はその特定のソフトをほぼ毎日使っているので、このプロジェクトには深い関心がある。
大規模なオープンソースプロジェクトは、コミュニティの努力の賜物である。 これは一個人の産物ではないし、ほとんどの場合、穴を埋めるためのあらゆるリソースを備えた企業も存在しない。 その代わり、物事を確実に遂行する責任はグループ全体に分散される。 しかし、それには真剣な協力が必要だ。 まず第一に、必要となるさまざまな役割を意識することだ:
プロジェクト・リーダーは通常、特定のプロジェクトや一連のプロジェクトのリーダーとして地域社会から任命または選出される。 プロジェクトの方向性を導き、確実に軌道に乗せる責任がある。 プロジェクトが目標や目的を達成できるよう、貢献者と密接に協力する。 プロジェクト・リーダーは、プランニングやロードマップ作成、コミュニティ構築、コーディング、トラッキング、コード・レビューといったタスクを含む、ほぼすべての最終的な責任を負う。
慈悲深い独裁者は、通常、オープンソース・プロジェクトの創設者やオリジナル・クリエイターである。 プロジェクトの方向性を最終的に決定し、当初のビジョンに忠実であることを保証する責任がある。
開発者はコードを書き、テストし、保守する責任がある。 特定の機能やモジュールに取り組み、バグを修正し、コードレビューを行うこともある。
リリースマネージャーは、ソフトウェア製品やサービスのリリースを調整する責任があります。 リリースプロセスを管理し、利害関係者とコミュニケーションをとり、リスクや問題を管理し、製品が要求される品質基準を満たしていることを保証する。
デザイナーは、プロジェクトのユーザーインターフェイスとユーザーエクスペリエンスを作る責任がある。 プロジェクトのブランディング、デザイン資産、ビジュアル・デザイン要素に携わることもある。
テスターは……そう、テスターはコードにバグがなく、意図したとおりに動くかどうかをテストする。 テストケースを作成し、手動または自動テストを実施し、問題があれば開発チームに報告する。
テクニカルライターは、プロジェクトの文書を作成・管理する。 これには、ユーザーや貢献者がプロジェクトの使い方を理解するのに役立つ、ユーザーガイド、開発者向け文書、その他のリソースが含まれます。
コミュニティ・マネージャーは、プロジェクト周辺のコミュニティを構築し、管理する。 これには、ユーザーからの質問やフィードバックへの対応、イベントやミートアップの開催、投稿者間のコミュニケーションの促進などが含まれる。
翻訳者は、プロジェクトのリソースをさまざまな言語に翻訳する責任を負う。 これには、ユーザー・インターフェイスや文書も含まれる。技術的なプロジェクトでは、通常は英語でスタートする。
最後に、ユーザー、特に熱心に製品に関わるユーザーも重要な役割を果たす。 新機能の有用なアイデアを提供してくれる可能性があるほか、リリースでバグに遭遇するのは彼らなのですから、彼らがバグを報告しやすいようにできるだけ配慮したいものです。
さらに、あなたのプロジェクトをフォーク(コピー)して、そのコードを使って何か新しい別のものを作ろうと考えるユーザーもいるかもしれない。 あなたは競争を評価するかもしれないが(あるいは評価しないかもしれないが)、それがオープンソースの仕組みなのだ。
あらゆる大規模で複雑な取り組みと同様、オープンソースプロジェクトにも、真剣な計画、良好なコミュニケーション、そして協力的な精神が必要である。 LPI Open Source Essentials認定カリキュラムは、計画を始めるのに最適です。 この資格をカバーする本やコースを作成した経験から、試験に合格するために必要な内容は、オープンソース・プロジェクトで成功するために必要なスキルとぴったり一致していると言えます。
<< Read the previous part of this series | Read the next part of this series >>