本章の導入で Trusted Committerには技術指向とコミュニティ指向の両方の責任があることを指摘しました。 それは、コードとコードの健全性だけに注目するだけでは不十分だということです。 長期的な成功を確実にするために、Trusted Committerはソフトウェアを構築するコミュニティの健全性維持にも努めるべきです。 そのためには、製品の品質を確保することと健全なコミュニティを育てることの間で、バランスを取る必要があります。
健全なコミュニティとはどのようなものでしょうか? 簡単に言うと、健全なコミュニティでは、 コントリビューター はソフトウェア開発にほとんどの時間を費やすことができ、能力を高めることができます。 その結果、健全なコミュニティは、継続して成長することになります。
なぜ、 コントリビューター はコミュニティに参加して留まるのでしょうか? コミュニティの目的や使命に賛同しているため、そうする人達がいます。 この目的を明確にして推進することが、Trusted Committerの仕事です。 この重要性は、認識されていないことが多いが、コミュニティとそのプロダクトをマーケティングすることは本当に重要です。
他に人々がコミュニティに参加して留まる明らかな理由は、Trusted Committerを含むコミュニティの他のメンバーと一緒に仕事をすることが楽しいからです。 繁栄するコミュニティは、メンバーが互いに最大限の敬意をもって接し、コミュニケーションするものです。 コントリビューションは、気を散らすものではなく贈り物や寄付のように扱われ、優れた(特に最初の)コントリビューションは称賛されます。 これらTrusted Committerの仕事のうち主な仕事は、期待されるソフトウェア品質のレベルの手本を示すことと同様に、他の人に手本を示すことです。 必要に応じて、Trusted Committerは、コミュニティの行動規範を作成して制定する必要があります。 コミュニティの健全性に有害または有毒な行動をとるコミュニティメンバーがいる場合に、これに対処するのは Trusted Committerの責任です。 Trusted Committerは、人々が定期的に(直接またはバーチャルで)集まり、お互いを個人的に知り、紛争が発生したときに平和的に解決する機会を作るべきです。
InnerSourceコミュニティで働くことは、新しいスキルを身につけ個人的に成長する優れた機会であるため、人々は周囲に留まる傾向があります。 ここでも、Trusted Committerの役割は本当に重要です。 Trusted Committerは多くの場合、ジュニア開発者のメンターとなり、プルリクエスト中に時間を割いて、改善すべき場所を指摘するだけでなく、なぜ改善が必要なのか、どのようにそれを行うのかの詳細も説明します。 彼らは、変更の背景にある理論や経験を提供し、それを実装する最善の方法を提案します。 そうすることで Trusted Committerは、コミュニティの学習スピードを、従来のソフトウェア開発プロジェクトをはるかに上回るものに高めることができます。
私たちは、Trusted Committerは、よほど正当な理由がない限り、周知されたリリース日に到達するよりも、プルリクエスト中のオンボーディングと指導を優先すべきだと考えています。 プルリクエスト中に優れた指導を行うことは、 コントリビューター の信頼と関与のレベルを高め、より多くのコントリビューションにつながります。 これについては、 "コミュニティのレベル向上" で詳しく説明します。
最後に、特にプロセスに重点を置いている大企業で、彼らがオーバーヘッドや無駄と考える活動の代わりに、ソフトウェアの開発に集中できるのでInnerSourceのコミュニティに留まる人たちもいます。 このコンテキストでのTrusted Committerの仕事は、有用なコントリビューションガイドラインを伝えて制定することにより、 コントリビューター が実際にプロジェクトに集中できるようにすることです。
これらのガイドラインの重要な側面の1つは、私たちがプルリクエストで シグナリング と呼ぶものを説明することです。コメントはどのように見えるべきか? 「いいね」や「+1」のコメントの意味は何ですか? /CC プレフィックスを付けて誰かを@メンションすることと、/FYI プレフィックスを使う場合はどのように違うのですか? 一般的に、Trusted Committerは、コントリビューションプロセスがより多くの問題を作らず、それよりも問題の特定と解決でコミュニティをサポートすることを確認する必要があります。 最終的に、Trusted Committerは、コミュニティがプロセス関連の問題を発見し、それらをコミュニティとして可能な限り適合および改善できるようにしなければなりません。
Trusted Committerがこれらすべての責任を果たすためには、コミュニティメンバーと定期的にコミュニケーションをとり、常に耳を傾けることが重要です。 これについての詳細は、 "コミュニティのニーズ提唱" のセクションで説明します。
要約すると、Trusted Committerは、他のコミュニティメンバーから学ぶ機会を作ることでソフトウェアの作成と個人的成長に集中できるように、 コントリビューター が歓迎され感謝される環境を作るように努力すべきです。