NXEP 1 — 治理和决策#
- 作者:
Jarrod Millman <millman@berkeley.edu>
- 作者:
Dan Schult <dschult@colgate.edu>
- 状态:
已接受
- 类型:
过程
- 创建时间:
2020-06-25
摘要#
NetworkX是一个基于共识的社区项目。任何对该项目感兴趣的人都可以加入社区,为项目设计做出贡献,并参与决策过程。本文档描述了参与的方式,如何达成共识以及如何解决僵局。
角色和责任#
社区#
NetworkX社区包括任何以任何方式使用或与该项目合作的人。
贡献者#
任何社区成员都可以通过以下具体方式直接与项目互动成为贡献者:
通过GitHub拉取请求提出对代码或文档的更改;
在我们的 GitHub问题页面 上报告问题;
在 邮件列表 或现有问题和拉取请求中讨论库、网站或教程的设计;
审查 开放的拉取请求 ,
等等。通过为项目做出贡献,社区成员可以直接帮助塑造其未来。
贡献者应阅读:ref:贡献者指南
和我们的:ref:行为准则
。
核心开发者#
核心开发者是通过持续贡献表现出对项目的持续承诺的社区成员。他们已经表明可以信任他们谨慎地维护NetworkX。成为核心开发者允许贡献者合并经批准的拉取请求,对合并拉取请求投票,参与决定API的重大更改,从而更轻松地继续他们与项目相关的活动。核心开发者出现在:ref:NetworkX核心开发者画廊
中,并且可以通过消息“@networkx/core-developers”联系。核心开发者应在遵守:ref:核心开发者指南
的同时审查代码贡献。
新的核心开发者可以由任何现有核心开发者提名。关于新核心开发者提名的讨论是项目私人管理列表上少数几项活动之一。邀请新核心开发者的决定必须通过“懒惰共识”达成,即所有现有核心开发者一致同意。邀请必须在初始提名后至少一周进行,以便让现有成员有时间提出任何异议。
指导委员会#
指导委员会(SC)成员是具有额外身份的核心开发者,他们具有更多 确保项目顺利运行的责任。预期SC成员参与战略规划,批准对治理模型的更改,并就授予项目本身的资金做出决定(向社区成员提供资金是他们自行追求和管理的)。SC的目的是从宏观角度确保项目的顺利进展。影响整个项目的变化需要经过对项目和更大生态系统的长期经验进行分析。当核心开发社区(包括SC成员)未能在合理时间内达成共识时,SC是解决问题的实体。
当前的指导委员会成员名单显示在 NetworkX Steering Council gallery
上,并且可以通过 @networkx/steering-council
进行消息传递。
决策过程#
关于项目未来的决定通过与社区所有成员讨论来做出。所有非敏感项目管理讨论都在项目的 邮件列表 和 问题跟踪器 上进行。偶尔,敏感讨论可能会在私人列表上进行。
决策应符合我们的:ref:mission_and_values
。
NetworkX使用*寻求共识*的决策过程。该团体试图找到一个在核心开发人员中没有公开反对意见的解决方案。核心开发人员应区分对提案的基本反对意见和可以容忍的轻微缺陷,并不应因后者而阻碍决策过程。如果没有找到不受反对的选项,决策将升级至SC,后者将使用共识寻求来达成解决方案。在极少数情况下,如果仍然存在僵局,提案将在获得SC简单多数支持的情况下继续推进。任何提案必须由NetworkX 增强提案(NXEPs) 描述。
决策(除了上述添加核心开发人员和SC成员之外)根据以下规则进行:
次要文档更改,如拼写错误修正,或添加/更正句子(但不更改NetworkX首页或“关于”页面),需要核心开发人员的批准*和*在问题或拉取请求页面上没有核心开发人员的不同意见或请求更改(懒惰共识)。核心开发人员应该给予其他人“合理时间”在拉取请求上发表意见,如果他们不确定其他人是否会同意。
代码更改和重大文档更改 需要*两个*核心开发人员的一致同意*和*在问题或拉取请求页面上没有核心开发人员的不同意见或请求更改(懒惰共识)。
API原则的更改 需要一个:ref:
nxep
,并遵循上述决策过程。对于这种治理模式或我们的使命和价值观的更改 需要一个 增强提案(NXEPs) 并遵循上述决策过程, 除非 核心开发人员对更改达成一致意见。
如果对懒惰共识提出异议,提议者可以向社区和核心开发人员提出上诉,更改可以通过升级到SC来批准或拒绝,并在必要时,可以使用NXEP(见下文)。
增强提案(NXEPs)#
任何关于 NetworkX 增强的提案都应该按照 NXEP X — 模板和说明 模板撰写为正式的 NXEP。NXEP 必须公开并在进行任何投票之前进行讨论。讨论必须由提案的主要倡导者在 NXEP 的适当部分进行总结。 一旦这个总结被公开,并且足够的时间让核心团队理解它,他们就会投票。 NXEP 的工作流程在 NXEP 0 — 目的和流程 中详细说明。
所有现有 NXEP 的列表可在 这里 查看。
致谢#
本文档基于 scikit-image 治理文档 。