社区流程

社区流程

本页面的目的是使 Play 框架的决策过程透明化。这不是一套管理 Play 项目的法律,文档中的任何内容都不是新的,它只是承认已经存在的流程,并记录了它的内容。

本页面的目标是通过以下方式提高社区贡献和对 Play 项目的所有权意识

项目所有权

Play 项目源代码在 Apache 2 许可下授权。指导委员会对项目的產品决策和技术决策拥有最终决定权。

虽然指导委员会对任何做出的决策拥有最终决定权,但 Play 社区,拥有超过 400 位对 Play 核心代码做出贡献的社区贡献者,以及数百位对更广泛的 Play 生态系统做出贡献的人,可以说与 Play 项目本身一样重要,甚至更重要。

因此,指导委员会与 Play 项目的关系最好被描述为一种管理,指导委员会管理 Play 项目,但对 Play 社区负责。

有关指导委员会的更多详细信息,请参阅赞助商页面

定义

贡献者

贡献者是指对 Play 做出贡献的任何人。这并不一定意味着代码贡献,它可能意味着以下任何一项

集成者

集成者是指拥有 Play 项目或 playframework GitHub 组织下项目的源代码和文档的写入权限的任何人。所有集成者的最新列表可以在 代码和贡献者 页面上找到。

需要注意的是,您不必是集成者才能为 Play 做出贡献,事实上,在被认为是贡献的清单中,没有您不能做的事情,即使您不是集成者。实际上,集成者可以做而贡献者不能做的唯一事情是管理类型的任务,例如合并来自其他贡献者的贡献,以及在问题跟踪器中进行诸如关闭已修复或无效问题之类的维护任务。

决策

Play 项目中的决策分为两大类

实现决策

实现决策主要发生在拉取请求中。它们是由拉取请求本身发起的,并通过审查和迭代,形成了关于如何实现给定更改的共识。

鼓励所有相关方参与审查拉取请求并为审查讨论做出贡献。

拉取请求是否合并所需的共识程度取决于拉取请求的影响程度。对于微不足道的更改,例如文档更正,集成者可以简单地将其合并,无需任何其他集成者的反馈。对于较大的更改,至少应该有一位熟悉被修改代码部分的人员进行审查,最好更多。对于大型重构,拉取请求应该在合并之前由至少 2 或 3 位其他集成者进行审查。

拉取请求是否合并取决于许多因素,包括

设计和维护决策

关于 Play 设计和 Play 项目运行方式的讨论主要场所是 Play 框架论坛。所有主要的新功能、重构或对项目的更改都应该首先在这个论坛中进行讨论。讨论的目的是就任务是否完成以及如何完成达成共识。当发布新主题时,鼓励感兴趣的各方发表评论,表达他们的肯定或担忧。

虽然指导委员会最终对所有决定拥有最终决定权,但我们将尽最大努力在社区中达成共识。

集成者选择

集成者选择由指导委员会进行。指导委员会将根据以下标准为贡献者提供集成者身份

如果集成者停止定期为 Play 贡献,他们的写入权限可能会被移除,但他们仍然保留在 Play GitHub 组织中的成员资格。

集成者规则

所有集成者应遵循本页概述的流程,并应以 Play 的 行为准则贡献者指南 为榜样。以下还有一些具体的规则。