Bazel 特别兴趣小组

Bazel 托管特别兴趣小组 (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 的需求似乎不言而喻,研究和咨询对于小组的成功仍然非常重要。

创建新小组

新小组应遵循以下章程制定流程。具体而言,它必须证明:

  • 明确的目标和对 Bazel 的好处(围绕子项目或应用领域)
  • 至少有两位贡献者愿意担任小组负责人,有其他贡献者,并且有证据表明对小组有需求
  • 每个小组都需要使用至少一个可公开访问的邮件列表。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 行为准则。 小组的归档内容将公开。成员资格可以向所有人开放,无需批准,也可以根据请求提供,但需获得小组管理员的批准。

章程必须提名一位管理员。除了管理员之外,小组还必须至少有一人担任负责人(可以是同一个人),该负责人将担任与 Bazel 产品团队进行协调的联系人。

小组创建者必须将其章程发布到小组邮件列表。Bazel GitHub 组织中的社区代码库会归档此类文档和政策。随着小组实践和惯例的发展,他们应在社区代码库的相关部分更新其章程。

协作和包容性

虽然不是强制性的,但小组应选择通过预定的电话会议或聊天渠道进行协作,以召开会议。任何此类会议都应在邮件列表中公布,并在会后将会议记录发布到邮件列表中。定期会议有助于推动 SIG 的责任落实和进展。

Bazel 产品团队成员可以主动监控并鼓励小组进行讨论和采取行动(如适用)。

启动 SIG

必需的活动:

可选活动:

  • 为 Bazel 博客创建博文

SIG 的运行状况和终止

Bazel 所有者会尽最大努力确保 SIG 的运行状况。Bazel 所有者偶尔会要求 SIG 负责人报告 SIG 的工作,以便向更广泛的 Bazel 社区通报小组的活动。

如果 SIG 不再具有有用的目标或感兴趣的社区,则可能会被归档并停止运行。Bazel 产品团队保留归档此类不活跃的 SIG 的权利,以维持项目的整体运行状况,但这并不是首选结果。如果 SIG 意识到自己已达到使用寿命的终点,也可以选择解散。

备注

此内容已从 TensorFlow 的 SIG 剧本中采用, 并进行了修改。