Bazel は、特定の分野にコラボレーションを集中させ、Bazel のオーナー、メンテナー、コントリビューター間のコミュニケーションと調整をサポートするために、特別な興味 / 関心グループ(SIG)をホストしています。このポリシーは bazelbuild
に適用されます。
SIG は公開で作業を行います。SIG の理想的なスコープは、参加の大部分がコミュニティからのものである、明確に定義されたドメインを対象としています。SIG は、bazelbuild
のコミュニティが管理するリポジトリ(言語ルールなど)に焦点を当てることも、Bazel リポジトリのコード領域(リモート実行など)に焦点を当てることもできます。
すべての SIG が同じレベルの熱意、幅広い範囲、ガバナンス モデルを持つわけではありませんが、興味 / 関心グループが設立された場合に、コミュニティ メンバーが積極的に参加し、貢献する意思があることを示す十分な証拠が必要です。参加する前に、グループの作業を確認し、SIG リーダーに連絡してください。メンバーシップ ポリシーは SIG ごとに異なります。
Bazel SIG の一覧をご覧ください。
目標とすべきでないこと: SIG が行わないこと
SIG は、共有作業でのコラボレーションを促進することを目的としています。したがって、SIG は次のようになります。
- サポート フォーラムではない: メーリング リストと SIG は同じものではありません
- すぐには必要ありません: プロジェクトの初期段階では、共有作業や共同編集者があるかどうかわからない場合があります。
- 無料の労働力ではない: 成長と協調的な作業の調整にはエネルギーが必要です。
Bazel オーナーは、SIG の作成に保守的なアプローチをとっています。GitHub でプロジェクトを簡単に開始できるため、SIG を必要とせずにコラボレーションできる方法はたくさんあります。
SIG のライフサイクル
このセクションでは、SIG を作成する方法について説明します。
調査とコンサルト
新しい SIG グループを提案するには、まず、以下に示すように承認のための証拠を収集します。検討できる方法としては、次のようなものがあります。
- グループが解決する明確に定義された問題または問題群
- 利益を受けるコミュニティ メンバーにコンサルトし、利益とコミットする意思の両方を評価する
- 既存のプロジェクトの場合、コントリビューターがトピックに関心を持っていることを示す問題と PR からの証拠
- グループが達成できる可能性のある目標
- グループの実行に必要なリソース
SIG の必要性が自明と思われる場合でも、調査とコンサルトはグループの成功にとって重要です。
新しいグループを作成する
新しいグループは、以下の手順に沿ってチャーターする必要があります。具体的には、次のことを示す必要があります。
- Bazel の明確な目的とメリット(サブプロジェクトまたはアプリケーション領域に関するもの)
- グループリードとして活動する意思のある 2 人以上のコントリビューター、他のコントリビューターの存在、グループの需要を示す証拠
- 各グループは、一般公開されているメーリング リストを 1 つ以上使用する必要があります。SIG は、bazel-discuss などの公開リストを再利用したり、@bazel.build のリストを求めたり、独自のリストを作成したりできます。
- SIG が最初に必要とするリソース(通常はメーリング リストと定期的なビデオ通話)。
- SIG は、
bazelbuild/community
のディレクトリまたはbazelbuild
GitHub 組織の独自のリポジトリからドキュメントとファイルを提供できます。SIG は、bazelbuild
GitHub 組織の外部で作業を整理する場合、外部リソースにリンクできます。 - Bazel オーナーは SIG 申請を承認または拒否し、必要に応じて他のステークホルダーにコンサルトします。
プロセスの正式な部分に入る前に、Bazel プロダクト チーム(product@bazel.build)に相談する必要があります。ほとんどの SIG では、承認前に会話と反復処理が必要です。
新しいグループの正式なリクエストは、チャーターを PR として bazelbuild/community
に送信し、以下のテンプレートに沿って PR のコメントにリクエストを含めることで行います。承認されると、グループの PR が統合され、必要なリソースが作成されます。
新しい SIG のテンプレートのリクエスト
新しい SIG をリクエストするには、コミュニティ リポジトリのテンプレート(SIG-request-template.md)を使用します。
チャーター
グループを立ち上げるには、規約が必要であり、Bazel の行動規範に準拠する必要があります。グループのアーカイブは公開されます。メンバーシップは、承認なしですべてのユーザーに公開することも、グループ管理者の承認を待ってリクエストに応じて利用できるようにすることもできます。
憲章で管理者を指名する必要があります。グループには、管理者に加えて、リードとして 1 人以上(同じ人物でも可)を含める必要があります。このリードは、Bazel プロダクト チームとの調整の連絡窓口として機能します。
グループ作成者は、グループのメーリング リストに憲章を投稿する必要があります。Bazel GitHub 組織のコミュニティ リポジトリには、このようなドキュメントとポリシーがアーカイブされています。グループがプラクティスと規則を進化させるにつれて、コミュニティ リポジトリの関連部分で憲章を更新する必要があります。
コラボレーションとインクルージョン
必須ではありませんが、グループは、スケジュール設定された会議通話またはチャット チャンネルを介してコラボレーションを使用して会議を実施する必要があります。このようなミーティングはメーリング リストで宣伝し、その後メーリング リストにメモを投稿する必要があります。定期的なミーティングは、SIG のアカウンタビリティと進捗状況を促進するのに役立ちます。
Bazel プロダクト チームのメンバーは、適宜、グループを積極的にモニタリングし、議論と行動を促す場合があります。
SIG を開始する
必須アクティビティ:
- Bazel の一般ディスカッション グループ(bazel-discuss、bazel-dev)に通知します。
オプションのアクティビティ:
- Bazel ブログの投稿を作成する
SIG の健全性と終了
Bazel のオーナーは、SIG の健全性を確保するために最善を尽くします。Bazel のオーナーは、SIG の活動をより広範な Bazel コミュニティに知らせるために、SIG リードに SIG の作業に関する報告を依頼することがあります。
SIG に有用な目的や関心のあるコミュニティがなくなった場合は、アーカイブされ、運用が停止されることがあります。Bazel プロダクト チームは、プロジェクトの全体的な健全性を維持するために、このような非アクティブな SIG をアーカイブする権限を留保しています。ただし、これは望ましい結果ではありません。また、SIG は、役目を終えたと判断した場合は解散することもできます。
注
このコンテンツは、Tensorflow の SIG ハンドブックを変更して採用しています。