CPython "finances" (and PyCon US travel grants)

The topic of CPython “finances” came up back in November on Discord, after some questions about travel grants for Core Developers (for PyCon US and the fall Sprint). Phyllis (the PSF’s Financial Controller) gave me some numbers over the past couple of years, and in addition to responding on Discord I figured I’d post it here for slightly wider dissemination. I also want to address some reservations I’ve heard people have about applying for PyCon US travel grants.

Because I have a few hats (and a retired hat), I want to clarify that I’m posting this as a member of the Steering Council, not as the Chair of the PSF Board of Directors. When I say “we” below, I mean the SC, not the PSF Board. Also, while my retired hat was Interim General Manager of the PSF, I wasn’t really involved with any of the decisions that set up this structure or that landed us sponsorships and budgets. That was all the work of Ewa and the PSF staff (Betsy, Loren and Phyllis in particular).

Some background on this situation: as of the sponsorship program changes a few years ago, the PSF sets aside a portion of its sponsorship deals for CPython to use, in exchange for certain sponsorship benefits (see the “Core Development Benefits” on Sponsorship Application | Python.org). CPython also gets direct donations through GitHub Sponsors, and donations directly to the PSF can be “earmarked” for CPython (which means the PSF can’t spend them on anything else). The sponsorship of the Developer-in-Residence program and the yearly Fall CPython sprint also goes to this “budget”. CPython isn’t quite a Fiscal Sponsoree of the PSF (because Python is the PSF’s “core business”), but it’s managed in a similar way.

Until we hired Łukasz as Developer-in-Residence, we didn’t really spend much of this money (it wasn’t very much at that point, anyway). Even travel grants for Core Developers, including the free PyCon US tickets for Core Devs, didn’t come from this budget. Because of the budget we have now available, and the value (to the CPython project) of having Core Developers and Traigers attend PyCon US, though, we’ve since changed that. Travel grant applications for PyCon US from Core Developers and Triagers should now be taken from the CPython budget.

Going forward, the SC would like to hire more Developers-in-Residence, but we can’t do that without more sponsor support – which we’re working on. In any case, here is an overview of CPython’s “financials”:

2018 2019 2020 2021 2022 2023 forecast
Sponsor revenue 214,500 99,924 307,180
Donations 520 43,671 24,453 40,571
Fall Sprint -24,302 -25,143 -4,412 -4,656 -29,512
Development -116,634 -202,848 -127,000
Python 2 sunsetting comms -15,462 -1,276 -3
Accumulated funds -24,319 -64,422 188,023 191,066 306,387 179,387

(I left out a couple of minor things from this balance sheet, so if you crunch these numbers you’ll find the accumulated funds are off by <$100. Also, if you’re used to reading a budget or balance sheet, I used - instead of () on purpose, figured it made it easier to read for this audience.)

The “Development” line item includes the Developer-in-Residence and GitHub Issues migration. Sponsor revenue includes the direct sponsorship of the Developer-in-Residence role by Google and Meta. If it looks like we have massive reserves, keep in mind that there’s usually quite a bit of delay between money coming in (e.g. the Google DiR sponsorship in 2020) and going out (e.g. Łukasz starting as DiR half-way through 2021). In addition, Łukasz started in July, so we have another half year to pay from last year’s donation, which is why there’s a ‘forecast’ column. I’m not going to try and forecast donations, sponsorship or other expenses, especially in this economy.

Even so, we have about a $180k buffer right now. We do want to spend money on a few things (Core Developer travel aid for PyCon US and the Fall Core Dev Sprint, as well as mentorship support), and it’s not enough of a buffer to just hire another Developer-in-Residence… but it’s a nice buffer and I hope it helps people realise it’s okay to suggest things to spend money on, if you think they will help CPython.

We (the SC) have also heard of a few Core Developers who were uncomfortable applying for a PyCon US travel grant. I hope this helps alleviate some concerns in that area. The deadline for regular travel grants for PyCon US 2023 has passed, but PSF accounting will make an exception for any Core Devs and Triagers. If you wish to apply for a travel grant, please contact pycon-aid@python.org and tell them you’re a core dev/triager. They’ll let you know what information they need. Do keep in mind that as with the regular PyCon US travel grant program, we may not be able to reimburse everything. See - Travel Grants FAQ - PyCon US 2023 for details.

(If you have any questions about this that you don’t want to ask here, feel free to contact the SC at steering-council@python.org, or contact me or any of the SC members directly.)

15 Likes

Thanks for the write up. It’s quite informative to know the state of our finances.
Thanks also to sponsors and for The PSF for managing these funds. I’ll be honest for years I didn’t realize that there’s specific funds for Python core devs attending PyCon, and that there’s even free PyCon US tickets for core devs. Would this be something we can document somewhere like the devguide?

It’s nice to know that contributions from core devs and triagers are rewarded this way. I know that EuroPython Society also gives free tickets to core devs and that information is quite prominent on their Grants page: EuroPython Society Grants

3 Likes

I don’t think the devguide is the right place for this since it isn’t under our control but that of the PyCon US organizing committee/PSF.

1 Like

The free PyCon US tickets are handed out by the PSF/PyCon US organisation, not the SC, yes. I think it’s such a long-standing practice that we can and should document that in the devguide, but we should check with the PSF if they’re happy with that.

The travel grants that do (now) come from the CPython budget are determined by the Core Devs via the SC, so I don’t think it’s out of place to document that in the devguide, either. The only caveat is that we’re still not quite sure what the exact policy should be, so it will probably be a bit vague (like my post, and the Discord discussion on the subject) until we have a few years of experience and we can establish reasonable expectations.

3 Likes

How do we get free tickets?
Is there a code to enter when registering?

1 Like

IIRC you get a code when you sign up for the summit.

If you’re only attending the language summit, and not the rest of PyCon, then you can get special registration code.

Otherwise, you should write to pycon-aid@python.org and mention that you’re a core developer and would like a free registration to PyCon.

Free tickets and applying for financial aid are not the same thing.

I’m quite happy to take a free ticket if they are being given to core devs (as EuroPython does), but I’m not so happy about applying for financial aid.

1 Like

It was mentioned somewhere else that it’s just the process, and the core dev funding doesn’t come out of the financial aid budget. So you’re not preventing anyone else from getting aid (apart from potentially other core devs).

1 Like

You’re not applying for financial aid. They’re just handled by the same people, using the same system for tracking information, because there’s only so many PSF staff members.

6 Likes

This topic was automatically closed after 365 days. New replies are no longer allowed.