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中的目录或bazelbuildGitHub 组织中的自己的代码库提供文档和文件。如果 SIG 选择在bazelbuildGitHub 组织之外组织工作,则可以链接到外部资源 - 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 一般讨论小组 (bazel-discuss、 bazel-dev)。
可选活动:
- 为 Bazel 博客创建博文
SIG 的运行状况和终止
Bazel 所有者会尽最大努力确保 SIG 的运行状况。Bazel 所有者偶尔会要求 SIG 负责人报告 SIG 的工作,以便向更广泛的 Bazel 社区通报小组的活动。
如果 SIG 不再具有有用的目标或感兴趣的社区,则可能会被归档并停止运行。Bazel 产品团队保留归档此类不活跃的 SIG 的权利,以维持项目的整体运行状况,但这并不是首选结果。如果 SIG 意识到自己已达到使用寿命的终点,也可以选择解散。
备注
此内容已从 TensorFlow 的 SIG 剧本中采用, 并进行了修改。