Bazel は、Special Interest Group(SIG)をホストしています。SIG は、特定の分野でのコラボレーションに注力し、Bazel のオーナー、メンテナンス担当者、コントリビューター間のコミュニケーションと連携をサポートしています。このポリシーは bazelbuild
に適用されます。
SIG は公の場で業務を行いますSIG の理想的なスコープは、参加の大部分がコミュニティによる、明確に定義されたドメインです。SIG は、bazelbuild
でコミュニティが管理するリポジトリ(言語ルールなど)に焦点を当てることや、Bazel リポジトリ内のコード領域(リモート実行など)に焦点を当てることができます。
すべての SIG が同じレベルのエネルギー、範囲、ガバナンス モデルを持つわけではありませんが、インタレスト グループが確立されれば、積極的に関与し、貢献するコミュニティ メンバーが存在するという十分な証拠が必要です。参加する前にグループの作業を確認し、SIG リーダーに連絡してください。メンバーシップ ポリシーは SIG ごとに異なります。
Bazel SIG の一覧をご覧ください。
非目標: SIG ではないもの
SIG は、共有作業でのコラボレーションを促進することを目的としています。したがって、SIG は次のようになります。
- サポート フォーラムではない: メーリング リストと SIG は別物です
- すぐには不要: プロジェクトの初期段階では、作業や共同編集者を共有しているかどうかがわからない場合があります。
- 自由な労働力ではない: 協力して作業を拡大し、調整するためにエネルギーが必要
Bazel オーナーは、SIG の作成に保守的なアプローチを取っています。GitHub でのプロジェクトの開始が容易なため、SIG を必要とせずにコラボレーションを実行できる方法は数多くあります。
SIG のライフサイクル
このセクションでは、SIG の作成方法について説明します。
調査とコンサルティング
新しい SIG グループを提案するには、以下に示すように、まず承認のための証拠を収集します。考えられる手段は次のとおりです。
- グループが解決する、明確に定義された問題
- メリットがあるコミュニティ メンバーとのコンサルティング。そのメリットとコミットメントの両方を評価します。
- 既存のプロジェクトの場合、問題の証拠と、コントリビューターがトピックに関心を持っている PR
- グループで達成する可能性のある目標
- グループの実行に必要なリソース
SIG の必要性は明白であるように見えても、SIG の成功には調査とコンサルティングが重要です。
新しいグループを作成する
新グループは、以下の憲章プロセスに従う必要があります。特に、次のことを実証する必要があります。
- Bazel の明確な目的とメリット(サブプロジェクトまたはアプリケーション分野)
- グループ リーダーとなる 2 人以上のコントリビューター、他のコントリビューターの存在、グループに対する需要の証拠
- 各グループでは、一般公開されているメーリング リストを少なくとも 1 つ使用する必要があります。SIG は、bazel-discuss などの公開リストの 1 つを再利用したり、@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 のオーナーは、より広範な Bazel コミュニティにグループのアクティビティを伝えるために、SIG の作業に関する報告を SIG リードにリクエストすることがあります。
SIG に有用な目的や関心を持つコミュニティがなくなった場合は、アーカイブされ、運用が停止されることがあります。Bazel プロダクト チームは、プロジェクトの全体的な健全性を維持するために、このような無効な SIG をアーカイブする権限を有しますが、望ましい結果ではありません。SIG は、耐用年数が終了したと認識した場合にも、解散を選択できます。
注
この内容は、Tensorflow の SIG ハンドブックから抜粋したものです。内容に修正を加えています。