决策指南#
本文档描述了 Jupyter 的治理机构(通常称为“理事会”)如何做出决策。由于个人经常在多个决策小组中工作,因此所有 Jupyter 治理机构都应遵循此方法。
我们力求尊重协作、包容性参与和响应性决策的原则。本决策指南的某些方面是所有团队都必须遵守的。其他方面则作为建议提供,是可选的。我们在下面明确指出了决策的可选方面。
最后,如果决策过程中出现问题,Jupyter 执行理事会可以介入,或由团队成员请求其介入。这包括但不限于:流程不明确、违反决策流程、需要流程例外的特殊情况等。
决策的强制性方面#
决策过程旨在平衡利益相关者的广泛参与和决策的敏捷性。虽然决策机构的规模可能有所不同(例如,软件项目的决策者可以从少数几人到几十人不等),但所有机构都需要找到这种平衡。以下准则无法完全涵盖人类判断和自由裁量的作用。
所有 Jupyter 官方项目、工作组、治理机构和官方倡议都必须有一个明确定义和记录的理事会。正式地,这些理事会通过寻求共识的方式做出决策,并可以选择发起投票以推进决策。所有决策,无论是非正式共识还是正式投票做出的,都可以重新审议;但是,如果一个理事会发现自己频繁地重新审议基于共识的决策,这应被视为一个迹象,表明该理事会对非正式共识的理解可能需要重新审视。
根据理事会的不同,决策可能由理事会成员提出,也可能由更广泛的利益相关者/贡献者群体提出。
寻求非正式共识。决策始于通过讨论寻求非正式共识。此阶段的目标是完善提案、考虑替代方案、权衡利弊,并试图达成非正式共识。寻求共识过程的合法性建立在所有利益相关者的声音都被听到的基础上,因此理事会必须积极主动地为所有相关利益相关者提供发表意见的机会。如果理事会达成非正式共识,他们可以立即着手记录并执行该决策。这是寻求共识阶段。
发起投票。当寻求共识阶段的讨论成熟时,理事会的任何成员都可以将该事项付诸表决。当该成员(发起人)发起投票时,他们应向整个理事会总结提案的当前形式。在提案得到另一位理事会成员的附议后,成员有七天时间进行投票。理事会可以根据特殊情况考虑更长的投票期,或仅在所有投票成员都在场的情况下考虑缩短投票期。决策将由非空白票的简单多数决定(适用于二元决策,例如批准提案),并采用排序选择法(适用于多类决策,例如从多个选项中选一个或多个)。发起人可以在投票期间的任何时候更新提案,此时投票期将重置。
投票人参与和法定人数。理事会的所有成员每个日历年必须至少参加该理事会 2/3 的正式投票(理事会可以决定如何处理活动较少的项目等的具体情况)。未达到年度 2/3 投票参与门槛的成员将在该年年底被自动要求卸任。这些个人在未来能够以要求的水平参与时,仍有资格重新加入理事会。所有正式投票的法定人数为 50%,“空白”选项将始终被包括在内,“空白”选项计入法定人数,但不计入计算结果的总数。本指南中的参与度和法定人数应被视为最低标准,各理事会可以根据情况决定采用更严格的规则。
记录。一旦在寻求共识阶段或通过正式投票做出决策,理事会应记录该决策,例如,对于工作流程在 GitHub 上的理事会,可以在 Team Compass 的 issue 中记录,或使用其他等效且公开可见的机制。
决策的可选方面#
虽然上一节对所有 Jupyter 理事会都是强制性的,但以下是推荐的准则而非强制性程序。
理事会不应为了缩短仍在进行的、富有成效的(在探索想法和反馈方面)讨论而发起投票。只有当讨论已经充分探索了空间并且利益相关者已经提供了意见时,才应发起投票。
理事会应积极征求相关利益相关者的意见,不应在未尝试联系这些人的情况下将沉默视为同意。
如果您希望某个决策得以做出,您有责任鼓励投票成员/利益相关者/社区参与决策过程。如果您无法获得此类参与,您可能需要暂缓对此事进行任何重大工作。
软件项目决策的特别指南
在您的 issue 和 PR 模板中添加本文档的链接以及理事会成员名单的链接(请参阅下文推荐的用语)。
创建
seeking consensus
(寻求共识)、vote
(投票)和decision made
(已决策)的 issue 标签,以便轻松找到讨论和解决决策的 issue/PR。在 GitHub 上发起投票时,发起人应在 issue/PR 的顶部条目(描述)中总结决策,并粘贴一个包含投票成员清单的复选框列表以供投票使用。
当沟通(无论通过多少渠道)指向一个需要项目范围决策的讨论时,在开始重大实施工作之前,应创建一个独立的 issue,总结问题,指向相关的先前讨论,并呼吁进行明确的投票/决策。这个 issue 的范围应严格限定于相关决策,并包含
vote
(投票)标签。当决策的实施出现在 pull request 中时,请链接到相关的
vote
(投票)issue。
理事会和提案人应明确区分“双向门”(two-way doors,以后容易逆转)决策和“单向门”(one-way doors,以后难以或不可能逆转)决策。对于“单向门”决策,理事会应仔细权衡替代方案和利弊,并格外注意确保广泛的参与和利益相关者的意见。对于“双向门”决策,理事会应在不损害本文所述原则和程序的前提下,随时快速行动。
Issue/PR 模板用语#
Jupyter 项目理事会使用寻求共识的模型来做决策。您可以在此处(链接)阅读关于此模型的信息。本项目的理事会成员名单记录在此处(链接)。