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 常规论坛(bazel-discuss、bazel-dev)。
可选活动:
- 为 Bazel 博客撰写博文
SIG 的健康与终止
Bazel 负责人会尽最大努力确保 SIG 的健康。Bazel 所有者偶尔会要求 SIG 负责人针对 SIG 的工作进行报告,以将相关小组的活动告知更广泛的 Bazel 社区。
如果 SIG 不再有实用价值或对社区感兴趣,我们可能会将其归档并停止运营。Bazel 产品团队保留归档此类非活跃 SIG 以保持项目整体运行状况的权利,尽管这不是理想的结果。如果 SIG 意识到其已达到使用寿命,也可能会选择解散。
备注
本文内容取自 Tensorflow 的 SIG 手册,并经过了修改。