捐赠政策

本页面介绍了 Bazel 的治理模型和贡献政策。

治理模式

Bazel 项目由 Google 主导和管理,并且有 Google 之外的众多贡献者。一些 Bazel 组件(例如 Bazelbuild 组织下的特定规则代码库)由社区成员主导、维护和管理。Google Bazel 团队会审核将社区拥有的代码库(例如规则)添加到 Bazelbuild GitHub 组织的建议。

贡献者角色

下面概述了 Bazel 项目中的角色,包括这些角色的责任:

  • 所有者:Google Bazel 团队。所有者需负责:
    • Bazel 项目的策略、维护和领导。
    • 构建和维护 Bazel 的核心功能。
    • 指定维护者并批准新代码库。
  • 维护者:Google Bazel 团队和指定的 GitHub 用户。维护人员负责:
    • 构建和维护其代码库的主要功能。
    • 审核和批准对 Bazel 代码库的各个部分做出的贡献。
    • 通过及时透明的问题管理、公关审核和文档支持用户和贡献者。
    • 发布、测试和与 Bazel 所有者协作。
  • 贡献者:为 Bazel 项目贡献代码或文档的所有用户。
    • 创建编写良好的 PR,以对 Bazel 的代码库和文档做出贡献。
    • 使用 GitHub 问题等标准渠道提出更改建议和报告问题。

成为维护者

Bazel 所有者可以指定维护者来主导明确定义的代码区域,例如规则集。如果记录贡献者的过往贡献内容一致且负责任,并且计划在未来做出重大贡献,则可以被视为合格的维护者。

捐赠政策

Bazel 项目接受外部贡献者的贡献。以下是由 Google 和社区管理的代码区域的贡献政策。

  • 许可。所有维护者和贡献者必须签署 Google 的贡献者许可协议
  • 贡献。所有者和维护者应尽一切努力接受有价值的贡献。所有贡献都必须满足以下条件:
    • 精心编写和测试
    • 由相关领域的维护人员进行讨论并获得批准。GitHub 问题和 GitHub PR 会讨论和审批。如果您贡献的内容更多,则需要进行设计审核
    • 已添加到 Bazel 的持续集成系统(如果尚无)。
    • 支持且与 Bazel 产品方向一致
  • 代码审核。所有 bazelbuild 代码库中的所有更改都需要检查:
    • 所有公关都必须获得所有者或维护者的批准。
    • 只有所有者和维护者可以合并 PR。
  • 兼容性。在极少数情况下,所有者可能需要对内部 Google 系统进行大量修改,因此所有者可能需要拒绝或请求修改 PR。
  • 文档。在适当的情况下,功能贡献应包含文档更新。

如需详细了解如何为 Bazel 贡献内容,请参阅我们的贡献指南