Bazel 特别兴趣组

报告问题 查看源代码

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

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

虽然并非所有 SIG 都具有相同的能源、范围或治理模式,但应有充分的证据表明,如果建立了兴趣群体,社区成员愿意参与和贡献。加入之前,请先查看小组的工作,然后与 SIG 负责人联系。会员政策因 SIG 而异。

查看 Bazel SIG 的完整列表。

非目标:SIG 不具有的目标

SIG 旨在促进共同工作的协作。因此,SIG 可以:

  • 不是支持论坛:邮寄名单和 SIG 是两码事
  • 非立即要求:在项目生命周期的早期阶段,您可能不知道是否共享了工作或协作者
  • 非自由劳动:需要能源,才能促进工作的增长和协调

Bazel Owner 采用保守的方法创建 SIG - 由于可以在 GitHub 上轻松启动项目,而且可以通过多种途径进行协作,而无需 SIG。

SIG 生命周期

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

调研与咨询

如需提议新的 SIG 小组,请先收集证据以供审批,如下所述。可以考虑通过以下途径参考:

  • 明确定义的问题或小组将解决的一组问题
  • 咨询会受益的社区成员,评估其好处和承诺的意愿
  • 对于现有项目,提供来自问题和 PR 的证据,表明贡献者对相应主题感兴趣
  • 小组要实现的潜在目标
  • 运行群组的资源要求

即使需要建立 SIG 似乎不言而喻,研究和咨询仍然对于该小组的成功非常重要。

创建新群组

新小组应遵循以下签署流程。具体而言,它必须表明:

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

在开始正式的流程之前,您应该咨询 Bazel 产品团队(电子邮件地址为 product@bazel.build)。大多数 SIG 在获批之前 都需要进行对话和迭代

为了正式请求新群组,请将章程作为 PR 提交给 bazelbuild/community,并按照以下模板在 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 手册,并经过了修改。