Bazel 特别兴趣组

报告问题 查看源代码

Bazel 会组织特别兴趣小组 (SIG),以专注于特定领域的协作,并支持 Bazel 所有者、维护者和贡献者之间的沟通和协调。此政策适用于 bazelbuild

SIG 会公开开展工作。SIG 的理想范围包括明确定义的领域,其中大部分参与来自社区。SIG 可以专注于 bazelbuild 中由社区维护的代码库(例如语言规则),也可以侧重于 Bazel 代码库中的代码区域(例如 Remote Execution)。

虽然并非所有 SIG 都拥有同等水平的能源、广度范围或治理模式,但应有充分的证据证明在建立兴趣群体后,有社区成员愿意参与互动并做出贡献。加入前,请查看群组的工作成果,然后与 SIG 负责人联系。会员政策因 SIG 而异。

查看 Bazel SIG 的完整列表。

非目标:SIG 不是什么

SIG 旨在促进协作工作。因此 SIG:

  • 不是支持论坛:论坛和 SIG 不是同一个事情
  • 并非立即需要:在项目的早期阶段,您可能并不知道自己有没有共享工作或协作者
  • 非自由劳动:需要合作才能提高和协调工作

Bazel 所有者采用一种保守的方法创建 SIG,由于在 GitHub 上轻松启动项目,因此可以通过许多途径进行协作,而无需 SIG。

SIG 生命周期

本部分将介绍如何创建 SIG。

研究和咨询

如需提议新的 SIG 群组,请先收集证据以供审批,具体如下所述。可以考虑采用的一些途径包括:

  • 一组明确定义的问题或小组要解决的问题
  • 向有益的社区成员进行咨询,评估其好处和承诺意愿
  • 对于现有项目,提供问题贡献者和公关人员关心的主题的证据
  • 群组有望实现的目标
  • 运行组的资源要求

即使 SIG 的需求似乎是不言自明的,但研究和咨询对该团队的成功仍然非常重要。

创建新群组

新群组应按照以下租借流程操作。具体而言,它必须展示:

  • Bazel 有明确的目的和好处(围绕子项目或应用领域)
  • 两名或更多贡献者愿意以团体领导的身份行事、存在其他贡献者,以及对该群体的需求证明
  • 每个群组至少需要使用一个可公开访问的邮寄名单。SIG 可以重复使用其中一个公开列表(例如 bazel-discuss),请求获取 @bazel.build 的列表,或创建自己的列表
  • SIG 最初需要的资源(通常是邮寄名单和定期视频通话)。
  • SIG 可以从 bazelbuild/community 中的目录或 bazelbuild GitHub 组织中自己的代码库传送文档和文件。如果 SIG 选择在 bazelbuild GitHub 组织之外整理工作,则可能会关联到外部资源
  • Bazel 所有者批准或拒绝 SIG 申请,并根据需要咨询其他利益相关方

在进入流程的正式部分之前,您应该通过 product@bazel.build 与 Bazel 产品团队联系。大多数 SIG 都需要对话和迭代才能获得批准。

新群组的正式请求是通过向 bazelbuild/community 以 PR 的形式提交章程,并按照以下模板在 PR 的评论中添加请求。批准后,系统会合并实例组的 PR 并创建所需的资源。

针对新 SIG 的模板请求

要请求新的 SIG,请使用社区代码库中的模板:SIG-request-template.md

包租

要建立群组,您需要章程,并且必须遵循 Bazel 行为准则。群组的归档文件将公开显示。成员资格可能无需批准即可开放给所有人,也可在获得群组管理员批准后申请。

章程必须提名一位管理员。作为管理员,该群组必须至少有一位担任负责人(此人可以是同一人),根据需要充当与 Bazel 产品团队协调的联系人。

群组创建者必须将其章程发布到群组邮寄名单。Bazel GitHub 组织中的社区代码库会归档此类文档和政策。随着群组的做法和惯例的演变,他们应在社区代码库的相关部分更新其章程。

协作与包容

虽然没有强制性要求,但群组应选择通过预定的电话会议或聊天渠道开展协作来开展会议。任何此类会议都应在论坛中公布,之后再在论坛中张贴备注。定期会议有助于在 SIG 中问责制和提高进度。

Bazel 产品团队成员可以主动监控并鼓励团队酌情讨论和采取行动。

发布 SIG

必要活动:

可选活动:

  • 为 Bazel 博客创建博文

SIG 健康与终止

Bazel 的所有者会尽全力确保 SIG 的正常运行。Bazel 所有者有时会请求 SIG 主管报告 SIG 的工作,以将该社区的活动告知更广泛的 Bazel 社区。

如果 SIG 不再具有实用用途或相关社区,我们可能会将其归档并停止运营。Bazel 产品团队保留归档此类非活跃 SIG 的权利,以维护项目的整体运行状况,但更不建议这么做。如果 SIG 发现其使用寿命已过,也可以选择退订。

注意

此内容已在 Tensorflow 的 SIG 策略方案中采用了,并进行了修改。