Hello all.
(If you don’t know who I am. I’ve been a committer of the pip project since 2025 and a PyPA member for even longer through bandersnatch.)
PyPA is a fiscal sponsoree of the Python Software Foundation. This enables the PyPA to collect donations through the PSF. However, even with PEP 609 accepted, there is no established process to allow the PyPA to use any of its funds.[1]
Over the years, the PyPA has collected funds from GitHub Sponsors, Tidelift, and thanks.dev. Some of the Tidelift revenue is routed to the individual project maintainers as per existing agreements, but otherwise, our funds are mostly sitting unused.
(There are PyPA fiscal statements available, but I’m not sure if I can share those publicly?[2] If you’re a PyPA member and curious, reach out and I can provide a link.)
For context, the pip project is exploring the possibility to using PyPA funds to sponsor part-time contract development on pip.[3] For this to be even administratively possible though, we need a mechanism for the PyPA to vote on whether to use its own money.
I’ve thus drafted an amendment to PEP 609 that allows for votes on the use of PyPA funds. It’s worth noting that under the fiscal sponsorship agreement, all disbursements are subject to final approval by the PSF.
The main thing I’ve left out are more specific details on how the funding is adminstrated after a funding vote succeeds. The problem is that, AFAIK, no one has seeked PyPA funding since the initial agreements, so I (and we collectively, probably) don’t know what is the exact process. I am hoping to document this if/after the pip’s proposal is approved.
I’ve already ran this language past @dustin who is the legal official between the PyPA and the PSF (and would be involved in approving any disbursement of PyPA funds). Since this is the first major amendment to PyPA Governance since the adoption of PEP 609, I thought I’d raise this for discussion before putting this amendment to a formal PyPA-committer vote.
The proposed plaintext changes are included below. There is also a rendered preview available if that is easier to read:
diff --git a/peps/pep-0609.rst b/peps/pep-0609.rst
index df53a563..b82642a0 100644
--- a/peps/pep-0609.rst
+++ b/peps/pep-0609.rst
@@ -71,6 +71,8 @@ Goals
The following section formalizes the goals (and non-goals) of the PyPA
and this governance model.
+.. _`PyPA's goals`:
+
Goals of the PyPA
-----------------
@@ -216,6 +218,33 @@ Removal of a project from PyPA
Proposing the removal of a project in the PyPA organization.
+Approval for disbursement of PyPA funds
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Proposing the use of PyPA funds to pay for project development,
+maintenance, or any other activity that advances the :ref:`PyPA's goals`.
+
+Proposals for funds must, at the bare minimum, include:
+
+- A specific dollar amount, either as a fixed sum or as an ongoing
+ expense
+- A clear rationale for why PyPA funding is being sought out and
+ and how this aligns with the PyPA's stated goals
+- An overview of how the funds are going to be spent
+- Evidence of support from committers of the PyPA project(s) seeking
+ funding
+
+It is recommended that PyPA members connect with PSF Accounting before
+putting forward a funding proposal. They can provide information on:
+
+- PyPA's current balance
+- The legal requirements before funds can be disbursed
+
+As the PyPA is a fiscal sponsoree of the Python Software Foundation,
+PyPA's funds are owned and managed by the PSF. All expenses are
+ultimately subject to final approval by the PSF, in accordance to PyPA's
+fiscal sponsorship agreement.
+
Updates to the Governance/Specification Processes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -253,6 +282,10 @@ incidents involving their projects, PyPA members are expected to
report those incidents up to `the PSF Conduct WG`_, for recording
purposes and for potential assistance.
+History of amendments
+=====================
+
+* 2026-03-23: Permit committer votes for the use of PyPA funds
I’ve been told that this language is missing from PEP 609 due to an oversight / the fact that the PyPA didn’t have significant funds while PEP 609 was being voted on. ↩︎
It’s probably fine, but I don’t need to get myself in trouble unnecessarily
↩︎I don’t want to share it too much publicly since it’s still very much a draft, but the hope is bring it to a vote in the near-term future. ↩︎