Following system colour scheme - Python 增强提案 Selected dark colour scheme - Python 增强提案 Selected light colour scheme - Python 增强提案

Python 增强提案

PEP 609 – Python 包裹管理局 (PyPA) 治理

作者:
Dustin Ingram <di at python.org>, Pradyun Gedam <pradyunsg at gmail.com>, Sumana Harihareswara <sh at changeset.nyc>
赞助商:
Paul Ganssle <paul at ganssle.io>
讨论邮件列表:
Discourse 帖子
状态:
活跃
类型:
流程
主题:
治理, 包裹
创建日期:
2019年11月5日
更新历史:
2019年11月5日

目录

摘要

本文档描述了 Python 包裹管理局 (PyPA) 的治理模型。该模型紧密基于现有的非正式实践,旨在阐明 PyPA 的运作方式,并为 PyPA 正式化透明的流程。

基本原理

Python 包裹管理局 (PyPA) 是一个协作社区,负责维护和改进 Python 包裹中许多相关的项目。通过 PyPA 开发的软件和标准用于打包、共享和安装 Python 软件,以及与可下载 Python 软件索引(如 PyPI,Python 包裹索引)进行交互。

目前,PyPA 是一种非正式且定义松散的组织,缺乏真正的权威,并且将给定项目纳入 PyPA 范围或创建新项目的方式一直是临时性的、一次性的。同样,PyPA 的个人成员资格也没有得到很好的定义。

虽然这种模式在过去或多或少对 PyPA 有效,但它导致了一个组织缺少稳定生态系统某些特性,即清晰透明的决策过程。本 PEP 试图通过为 PyPA 定义一个治理模型来纠正这一点。

术语

本 PEP 中使用的个人贡献者群体相关术语

PyPA 成员:
PyPA 组织 中至少一个项目拥有 triage 位或 commit 位的任何人。
PyPA 提交者:
在 PyPA 组织中至少一个项目拥有 commit 位的任何人,这应该对应于 PyPA-Committers 邮件列表中的所有人。
PyPA 社区:
任何对 PyPA 活动感兴趣并希望参与、贡献或提出建议的人。
包裹工作组 (Packaging-WG) 成员:
包裹工作组 Wiki 页面 中所述。为清楚起见:包裹工作组和 PyPA 之间没有正式关系。此组仅包含在此列表中,以将其与 PyPA 区分开。

目标

以下部分正式确定了 PyPA 和此治理模型的目标(和非目标)。

PyPA 的目标

这些目标是 PyPA 存在的首要动力。这些目标在很大程度上已经实现了,即使大多数目标尚未明确定义。

为 PyPA 旗下的现有项目提供支持

如果某个项目需要额外支持,或者不再有活跃的维护者,PyPA 将确保该项目将继续得到支持,以满足用户的必要需求。

促进 PyPA 项目标准的创建和接受

PyPA 应尽可能地在 PyPA 项目之间努力实现标准化和协调,主要通过以下概述的治理流程。PyPA 项目预计将遵守 PyPA 维护的相关规范。

指导影响多个 PyPA 项目的决策

PyPA 社区(特别是 PyPA 成员)应在提出整个生态系统范围内的更改时提供意见、见解和经验。

确定哪些项目应在 PyPA 的指导下

例如:从社区中接受新项目,在 PyPA 中有机地创建项目等。

在所有项目中强制执行行为准则

通常这意味着以身作则,但有时可能意味着更明确的调节。

PyPA 的非目标

这些是明确_不_属于 PyPA 目标的具体事项。

确定谁是 PyPA 成员,谁不是

这是各个项目的成员在向其项目添加新成员时需要决定的。PyPA 组织下项目的维护权会自动转移 PyPA 的成员资格。

微观管理各个项目

只要项目遵守行为准则并遵循 PyPA 支持的规范,PyPA 应该只关注大型的、整个生态系统范围内的更改。

开发和维护独立的行为准则

PyPA 项目遵循 PSF 行为准则

PyPA 治理模型的目标

这些是治理模型力求实现的新目标。

PyPA 成员资格的透明度

为有关项目在 PyPA 中的成员资格做出的决策提供透明的流程。

记录 PyPA 如何使用 PEP

正式记录 PyPA 如何使用 Python 增强提案 (PEP),以维护 PyPA 定义的互操作性规范。

流程

PyPA 活动的流程如下所述

规范

PyPA 将使用 PEP 来定义和更改 PyPA 维护的互操作性规范。因此,Python 指导委员会对这些互操作性规范的接受拥有最终决定权。

预计(但不要求)Python 指导委员会会将赞助和/或批准/拒绝与包裹互操作性规范相关的 PEP 的权限委托给 PyPA 社区中的个人。在撰写本文时(2020 年 6 月),Python 指导委员会已为当前活跃的包裹互操作性规范提供 常设委托

PyPA 规范 文档中描述了提出和更新互操作性规范的流程细节。

治理

PyPA 提交者投票

PyPA 成员可以在公共 PyPA 通信渠道中提出提案并呼吁投票。当 PyPA 提交者(非提案者)附议提案时,将触发 PyPA 提交者投票。

该提案将在 PyPA-Committers 邮件列表中进行为期 7 天的投票。每个 PyPA 提交者可以投票一次,并且可以选择 +1-1 之一。如果至少三分之二的记录投票为 +1,则投票成功。

PyPA 提交者投票是必需的,并且仅限于以下类型的提案

将项目添加到 PyPA

提议将项目纳入 PyPA 组织。该提案不得遭到项目现有维护者的反对。

在 PyPA 中创建新项目

提议在 PyPA 组织中创建新的工具/项目。

从 PyPA 中移除项目

提议移除 PyPA 组织中的项目。

更新治理/规范流程

提议更改 PyPA 的运作方式,包括但不限于更改其规范和治理流程以及本 PEP。

离开 PyPA

作为 PyPA 组织一部分的项目可以请求离开 PyPA。

此类请求可由项目的提交者在 PyPA-Committers 邮件列表中提出,并且必须明确说明要将存储库转移到的 GitHub 用户/组织。

如果在 7 天内同一项目的其他提交者未反对该请求,则该项目将离开 PyPA 并根据请求从 PyPA 组织中转移出去。

行为准则执行

作为 PyPA 组织一部分的每个项目都遵循 PSF 行为准则,包括其事件报告指南和执行程序。

PyPA 成员有责任以身作则。PyPA 成员有时可能需要更明确地调节其项目中的行为,并且作为 PyPA 组织一部分的每个项目都必须指定至少一名 PyPA 成员作为在发生行为准则事件时可联系的人员。如果被告知其项目涉及任何行为准则事件,则 PyPA 成员应将这些事件报告给 PSF 行为工作组,以进行记录和潜在的协助。


来源:https://github.com/python/peps/blob/main/peps/pep-0609.rst

上次修改时间:2023-09-09 17:39:29 GMT