科学 Python 是一个基于共识的社区项目。任何对该项目感兴趣的人都可以加入社区,为项目设计做出贡献,并参与决策过程。本文档描述了参与方式、如何达成共识以及如何解决僵局。
请注意,本文档仅适用于科学 Python 项目,该项目旨在更好地协调生态系统并为科学 Python 的未来十年数据科学做好准备。但是,生态系统中的每个项目都有自己的治理结构。
科学 Python 项目具有以下角色和职责。
科学 Python 社区由任何参与该项目的人员组成。社区成员必须遵守我们的行为准则。
社区经理是通过持续贡献证明对项目持续承诺的社区成员。
任何现有的社区经理都可以提名新的社区经理。关于新的社区经理提名的讨论是项目私有管理论坛上进行的为数不多的活动之一。邀请新的社区经理的决定必须由“惰性共识”做出,即所有回复的现有社区经理一致同意。邀请必须在最初提名后至少一周进行,以便现有成员有时间表达异议。
社区领导是社区经理,他们承担额外的责任以确保科学 Python 项目的顺利运行。社区领导预计将参与战略规划,批准治理模型的变更,并对授予科学 Python 项目的资金做出决策。(社区成员/项目的资金由他们自行争取和管理。)社区领导应确保大型项目路线图的顺利进展。影响整个项目的更改需要根据对项目和更大生态系统的长期经验进行分析。当社区经理(包括社区领导)在合理的时间范围内未能达成此类共识时,社区领导可以解决此问题。
关于项目未来的决策是通过与所有社区成员的讨论做出的。所有非敏感的项目管理讨论都在公共论坛上进行。偶尔,敏感的讨论可能会在私人列表中进行。
科学 Python 使用寻求共识的过程来做出决策。该小组试图找到一个在社区经理中没有公开反对意见的解决方案。社区经理应区分对提案的基本异议和他们可以接受的轻微感知缺陷,并且不要为了后者而阻碍决策过程。如果找不到没有异议的选项,则将决策升级到社区领导,他们将自己使用寻求共识的方法来达成解决方案。在极不可能出现僵局的情况下,如果该提案获得社区领导简单多数的支持,则将继续推进该提案。