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 基础设施的成本。请参阅 捐赠

审阅者

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