Wednesday, July 01, 2020

Announcing the PSF Project Funding Working Group

For the past 3 years, the PSF has been working on grant funded projects to improve our internal systems and platforms. This work has been done with the Packaging Working Group, and focused on our packaging ecosystem of PyPI and pip. We have been able to show that applying directed funding to open source projects has the ability to dramatically increase the speed of development, and move our community forward in a much more sustained way than relying solely on volunteer effort.

Along with the external grant funding of PSF projects, we have also committed PSF funds in the past to improve developments of community projects. This shows that the experience of directed funding is applicable to our community projects, as well as our own. An example here is the BeeWare project that was given funding via our Education Grants last year:

Another wonderful example has been a number of scientific Python projects that have raised large amounts of grant funding, mostly through NumFocus. They have been a large inspiration for our focus on grant funding as an important source of revenue for open source projects. The scientific open source community has been immeasurably improved by this funding, and we hope to expand this opportunity to the entire Python community.

Helping the community get funding

The PSF has created the Project Funding Working Group to help our community seek similar funding for their own projects. We hope to expand the amount of money going into the Python community as a whole, by providing resources and advice to projects who are interested in seeking funding from external sources.

Our charter starts with our intended purpose:

This Working Group researches, and advises Python community volunteers on applying for external grants and similar funding to advance the mission of the PSF, which includes, but is not limited to, things such as advancing the Python core, Python-related infrastructure, key Python projects, and Python education and awareness.
You can read the entire charter for more information about the vision for the group that we intend to build over the medium and long term.


In the short term, the first resource that we have put together is a list of potential funders that are applicable to our community. It’s on GitHub, and we welcome contributions to the list if you know of additional sources of funding. The other initial resource we are able to provide is advice, so if you have any questions about funding, you can email us at, and we will do our best to help. We can advise you on picking tasks to propose, making a budget, writing a proposal, and more.
We are excited about the possibilities for the Python community when we see more funding being applied to our mission. There is a lot of amazing open source software out there being built by volunteers, and we hope that giving them additional resources will create even more impact for our mission of advancing the Python community. 
-- Eric Holscher, co-chair, Project Funding Working Group

Friday, June 26, 2020

2020 Python Software Foundation Board of Directors Election Retrospective and Next Steps

With the 2020 Board of Directors Election Results announced, a new class of directors will officially be joining June 30th!
In light of the results and narrow margins, the Python Software Foundation (PSF) staff, incoming directors, existing directors, and community have already taken time to consider and discuss the participation and representation of our global community on the PSF Board of Directors. These facets are crucial to the long term direction and resilience of our community.
For now, the PSF staff would like to share information on participationrepresentation, and the next steps we plan to take to improve these facets of our membership.

Full Results

Nina Zakharenko263
Dustin Ingram249
Jeff Triplett240
Thomas Wouters237
Valeria Calderon234
Débora Azevedo219
Manuel Kaufmann217
Ngazetungue Muheue201
Mannie Young194
Maria Fernanda Petri Betto184
Iqbal Abdullah168
Shauna Gordon-McKeon148
Philip James116
Serah Rono111
Jason R. Coombs110
Agata Skamruk (Bublewicz)107
Sayantika Banik100
Nathan Epstein91
Amadikwa Joy N67
Asif Saif Uddin62
Rahul Chaudhary58
Adam Hopkins56
Emmanuel Essien26
Arunkumar Venkataramanan21
Ajayi Stephen16
Mohammad Razavi16


2019 Participation By Membership Class

Membership ClassEligibleVotedTurnout
Contributing or Managing47216535.0%

2020 Participation By Membership Class

Membership ClassEligibleVotedTurnout
Contributing or Managing55519134.4%
For definitions of each membership class, please see
* Note: Fellow membership increased 10% 2019 -> 2020 with the advent of the PSF Fellow Working Group
** Note: 2019 Supporting membership was partially disenfranchised, see next section.

Voter Disenfranchisement

In the process of administering this year's election we realized that 114 of 1151 voters were initially disenfranchised from this year's vote. In addition we were able to confirm that approximately the same number were disenfranchised from the 2019 vote due to the same issue.
While researching a missing ballot the election administrator discovered that a large number of Supporting members were missing from the 2020 voter roll.
When pulling information for Supporting members from our relationship management platform, we erred in overlooking that "Supporting with Yearly Renewal" memberships were not included when querying for "Supporting" memberships.
This excluded 125 members from our result and thus the voter roll. 11 of those members were already represented in other membership classes (Fellow, Contributing, Managing). The result was 114 disenfranchised voters.
For past years, we'll be working to retroactively to understand how long this has been affecting the voter roll. We've requested the voter rolls from past elections from the previous volunteer Election Administrator and will share analysis when we are able.
For 2020, ballots were issued for those voters 2 days into voting, and email notifications and reminders were sent so that they had a chance to vote, and have their votes counted. We have also updated our voter roll report and documentation to correctly query for all Supporting members moving forward.


After the results were published, an immediate question raised was "what do the demographics of our members and voters look like?".
This is not a new question among the PSF staff, directors, or community, but was particularly impassioned this year due to the extremely close margins. Especially given that the winning candidates (unlike the candidate pool) all reside in North America and Western Europe.
Bluntly, we do not have the data needed to answer this question accurately. Currently the only membership class we have any demographic information for is Supporting members, who constitute less than 25% of the voter roll, and that only includes their postal address.

Next steps

The PSF staff have already begun to discuss and formulate plans around the following:

Short term: Improved demographic information in Member profiles

The PSF staff and board understand that demographic information is highly sensitive and should not be needlessly collected. We are currently discussing and making plans for what demographic information may be added to membership profiles and if specific pieces of information will be voluntary or required.
Demographic information such as country of residence, years of experience with Python, and years of participation with the PSF will allow for us to better understand how the board represents our global membership. Most importantly it will allow us to track progress towards our goal to best represent our community over time.

Medium term: Consolidating membership management

Members may not realize that each membership class is currently managed in a set of disparate systems and processes:
  • Basic members sign up at
  • Supporting members donate at to sign up
  • Contributing and Managing members submit their certification via a Google form
  • Fellows are manually managed by PSF staff on
This regularly leads to headaches and confusion for everyone involved.
The PSF staff was planning to migrate to a new relationship management platform in 2020, but had to abandon this effort due to the financial outlook in the aftermath of the cancellation of PyCon 2020. Instead, we have renewed efforts to invest in our existing platform, CiviCRM. This will include consolidating all membership signups and management in one place: 
We hope that this will also improve the experience for new and existing members and empower the PSF staff to better answer questions about our members as a whole.

Long term: Reconsidering membership classes and benefits

Ideas for how we can best welcome members as well as any and all Python users globally are also being discussed and researched by the PSF staff. We will be assessing what barriers exist for new members and what helps to drive and retain participation of existing members. This process may include bylaws changes and user research. We hope to be able to share a timeline for this work as it develops.


We are grateful as an organization for each and every member of our community past, present, and future. We are excited to see the field for the board expanding to better represent our global community. We look forward to doing the work necessary to improve the membership experience of the Python Software Foundation and will be sharing more information over the coming months as the PSF staff and board better develop plans.