XGBoost 社区准则

XGBoost 采用 Apache 式的模型并按贡献度进行管理。我们认为建立一个包容性的社区非常重要,在这个社区中每个人都可以使用、贡献并影响项目的发展方向。有关当前贡献者列表,请参阅 CONTRIBUTORS.md

通用开发流程

社区中的每个人都欢迎提交补丁、文档,并为项目提出新的方向。这里的关键准则是让社区中的每个人都能参与并共同参与决策和开发。当提议进行重大更改时,应发送一份 RFC(征求意见稿),以允许社区进行讨论。我们鼓励公开讨论、可归档的渠道,例如 issues 和讨论论坛,这样社区中的每个人都可以参与并稍后回顾整个过程。

代码审查是确保代码质量的关键方法之一。高质量的代码审查可以长期防止技术债务,对项目的成功至关重要。在合并之前,拉取请求需要经过审查。对相应领域有专业知识的提交者将主持拉取请求,并在代码准备就绪时合并代码。相应的提交者可以要求多位熟悉该代码领域的评审者进行评审。我们鼓励贡献者自己请求代码审查,并互相帮助审查代码——请记住,每个人都在为社区贡献他们的时间,高质量的代码审查本身花费的时间与实际代码贡献一样多,如果你也给予他人同样的帮助,你的代码将能更快地获得审查。

社区应努力通过讨论在技术决策上达成共识。我们期望提交者和 PMC 以外交方式主持技术讨论,并在必要时提供具有清晰技术理由的建议。

提交者

提交者是被授予项目写入权限的个人。提交者通常负责代码的某个或几个领域,他们监督代码审查过程。贡献领域可以采取各种形式,包括代码贡献和代码审查、文档、教育和宣传。提交者对于高质量和健康的项目至关重要。社区积极从贡献者中寻找新的提交者。以下是一些有助于社区识别潜在提交者的有用特质

  • 对项目持续贡献,通过对 RFC 的讨论、代码审查、新功能的提案以及其他开发活动来体现。熟悉并能够对项目的一个或多个领域负责。

  • 贡献的质量:高质量、可读性强的代码贡献,体现在无需大量代码审查即可合并的拉取请求中。有创建干净、易于维护的代码并包含良好测试用例的历史。提供有益的代码审查以帮助其他遵循良好标准的贡献者。

  • 社区参与:积极参与讨论论坛,通过教程、演讲和宣传推广项目。我们鼓励提交者广泛协作,例如与他们不进行线下交流的社区成员进行代码审查和讨论设计。

项目管理委员会 (PMC) 由一群活跃的提交者组成,他们主持讨论,管理项目发布,并提名新的提交者/PMC 成员。通常通过 PMC 内部讨论提出潜在候选人,然后经过一致批准,即至少 3 个 +1 票,且没有否决票。任何否决都必须附带理由。PMC 应通过维护社区实践和准则来服务社区,使 XGBoost 成为一个更好的社区。PMC 应努力仅提名其自身组织之外的新候选人。

PMC 负责项目的持续集成 (CI) 和测试基础设施。目前,我们在 https://xgboost-ci.net 托管自己的 Jenkins 服务器。PMC 应指定提交者来管理 CI 基础设施。PMC 可以接受第三方捐赠和赞助,以弥补 CI 基础设施的费用。参阅捐赠

评审者

评审者是积极为项目做出贡献并愿意参与新贡献代码审查的个人。我们从活跃的贡献者中识别评审者。提交者应明确邀请评审者进行审查。高质量的代码审查可以长期防止技术债务,对项目的成功至关重要。项目的拉取请求必须经过至少一位评审者的审查才能合并。