PSF Board Election Reform

Greetings PSF community,

In 2017 the PSF implemented significant bylaws changes to Section 5.5. Election and Term of at-large Directors and Section 5.5.1 Election and Term of Officer Directors). These significant changes resulted in:

  • The board is made of 11 at-large directors and two Officer Directors, the Executive Director and General Counsel
  • At-large directors will serve three year terms
  • At-large directors will be voted into cohorts (e.g. 2020 open seat cohort includes 4 directors)

The motivation for these changes can be found in the 2017 Bylaw Changes. Needless to say, as a Board member who joined in 2016, I have witnessed first hand the impact that staggered cohorts have on increasing institutional knowledge within the Board as well as easing the burdens on staff and the Board for onboarding.

Yet these last changes to the Election are now 3 years past, so it’s time to reflect on what is working and what isn’t. To address this, we’d like to hear from you through July 24th. Please use this thread to act as a request for comment to identify topics related to PSF Board election reform. We will review these topics at our next board of directors meeting.

Some examples of topics to consider:

  • Term limit for Directors
  • Geographic representation of the Board
  • Setting limits on the number of Board members representing any one employer/holding company
  • Changes to our election procedures

The feedback gathered will be presented at the first meeting of the 2020/2021 Board meeting and be used to inform the direction of any PSF Board election reform.

Thanks everyone for your input, and as always, remember that this space is governed by the PSF Code of Conduct.

The Python Software Foundation Board Of Directors


Hi Lorena, thanks for starting this thread.

I have a couple of suggestions/questions, but before I post these, could you please post your first hand report of what is working and what isn’t ?



A change I would like to see: change a portion of the at-large seats to regional seats where representatives must be physically living in that region to be eligible to hold the seat.

We would need to have consensus on what the regions are, how they are defined, and when they are reviewed to ensure wider representation of the community over time.


Strong +1 on this.

I think a 6 year term limit is the easiest place to start. We already have the rolling cohort system to ensure continuity, so I don’t think there is a high risk of disruption. And hopefully socially capping things will help encourage more folks that are interested to participate in the board, knowing it’s an explicitly time-limited engagement.

For company caps, I can point to the Kubernetes SC elections process as prior art, no more than 1/3rd of the group can be from one company and all officers must be from different companies. This also seems like an easy policy in the “no brainer” category.

Designating some seats as region-specific I’m also +1 on, though that one will require some more careful specifics as you mentioned, about defining the regions and defining residency. But that seems like a task worth taking on :slight_smile:

My main bugbear with PSF elections is the degree to which the end up basically being a popularity contest. There is definitely a strong correlation between folks that are so active in the community that they are well known and folks that are so active in the community that they make great board members, but there is definitely something about the US and EU-centric voting patterns that worries me. The previously mentioned term limits and geo-seats would help with this, but I think we should at least play through the thought experiment of what some kind of “anonymized ballot” might look like, a la conference CFPs that use anonymized review to reduce star power as a factor or the possibly-questionable studies on blind auditions in the classical music world to reduce gender bias. I don’t have a fully formed idea for what this would look like though, might not be viable for this kind of election.


Noah and @amcasari these are great suggestions.

Re: geo-seats and popularity contest - Logistically, would each region vote on their own candidate(s) to represent them or would the election take the top vote-getters for each region and be voted on by the entire membership?

I checked out Kubernetes docs but I didn’t see it spelled out, but I am curious about prior art to avoid non-obvious issues.

1 Like

I would expect that regional candidates would be elected by voters who are within the regions being represented, while at-large seats would remain open to all regions for voting.

Re: company caps > We could change sponsorship agreements such that each sponsor is limited in the number of candidates in a given election, in addition to having “no more than X” total on the board. This pushes the candidate process back into each company to sort out, rather than trying to create corporate seats or arbitrate between candidates.


:wave:t3: Hi there! My intent is to allow space for the community to offer feedback before the Board starts to weigh in on this topic. That said, I will take some time to gather thoughts and present them in a timely fashion.


Thank you for this and also for the link to the Kubernetes Steering Council elections process. I am curious, beyond just the company affiliations of Directors, what region-specific type mandates exist within other open source leadership. I will do some slueting to see what I can find.

I can just inline the relevant bits from the K8s document:

To encourage diversity there will be a maximum of one-third representation on the Steering Committee from any one company at any time. If the results of an election result in greater than 1/3 representation, the lowest vote getters from any particular company will be removed until representation on the committee is less than one-third.

If percentages shift because of job changes, acquisitions, or other events, sufficient members of the committee must resign until max one-third representation is achieved. If it is impossible to find sufficient members to resign, the entire company’s representation will be removed and new special elections held. In the event of a question of company membership (for example evaluating independence of corporate subsidiaries) a majority of all non-involved Steering Committee members will decide.

And then

The steering committee should choose three election officers, ideally by the following criteria, so as to promote healthy rotation and diversity:

election officers must be eligible to vote
two election officers should have served before
one election officer should have never served before
each officer should come from a different company to maintain 1/3 maximal representation

Hi Lorena! Thanks for the thread.

After participating in the elections as a nominee for the first time, I sat down and wrote down my thoughts and suggestions here:

The TL;DR version is basically suggestions on diversifying the voter base which can also lead to a more stronger financial base. I believe expanding the voter (and financial) base is the future, as Python is now bigger than just the United States.

I did not think about a top-down policy change like an election reform when writing the post though. Marketing and educating the grassroots will be much tougher of course, but will carry us further into the future (as the African proverb says “If You Want to Go Far, Go Together”) but a concurrent top-down policy change will be faster and is a good idea too I think: It will give a signal that the PSF wants to make things easier for different people from different parts of the world, which I believe will make the marketing and educating part more effective.


I’ll take time to read this tonight. Thank you for the write up!

1 Like

Can you consider using the single transferable vote (STV) to conduct elections, as a way to increase diversity?

It guarantees broad representation by ensuring that the winning candidates represent a proportional cross-section of the voting body. In particular, it makes it so that one block of voters can’t elect all the winners, which can happen with plurality (aka block) voting. It also lets each voter choose what’s most important to them in terms of representation. For example, some voters might value geographic location most, while other voters might value the candidate’s background or company most, etc. In other words, it leaves it up to each voter as to what characteristics would best represent them.

When STV is used in practice, it leads to greater diversity. For example, when cities in the United States started using STV in the early 20th century, it led to groups winning representation that previously hadn’t been getting any representation. As another example, when I helped a student government adopt it for their 6-winner student senate elections many years ago, the results went from one slate tending to win all 6 seats to one slate winning 3 seats, another slate winning 2 seats, and 1 independent winning (which was all in proportion to voter support).


I’m somewhat hesitant to make this comment as the accountant who would be responsible for keeping track of it, but …

I know that USD$99.00 does not have the same purchasing power worldwide, and it may be a prohibitive barrier to becoming a voting member in some countries. Perhaps we could look into linking the cost of membership to some kind of worldwide COL index?

Right off the bat I know that ensuring people are in the country they claim to be from would be a task … and between that and other concerns I haven’t though of it might not be feasible. But from a purely “how can we level the playing field?” perspective I thought it might be worth considering.


Lowering the hurdle for a supporting member is a good idea, but I feel the costs for us to manage this in a fair way outweighs the cost/benefit if we instead focus on educating and marketing the help, value and influence supporting members bring to the community. Earning incomes in countries outside of the US has steadily increased in the past years, and a USD9/month for a technology worker might not be such a big hurdle as we might think. Maybe it’s also possible for their companies to sponsor them to be a supporting member too?

1 Like

Strong +1 from me, too!

Thanks for starting this thread. I was considering to bring up the topic myself when I saw the election results.

PEP 8016 limits seats on the Python steering council to maximum two members from a single employer. The PSF board has twice as many seats but also many more candidates than the steering council. In my opinion two board members from the same employer or holding company makes also sense for the PSF to increase diversity.

Geographic representation is much trickier. First how do we define geographic regions? At a bare minimum the regions are going to be North America, LATAM+South America, Europe, Africa+Middle East, Asia, and Oceania. It might make sense to split these up even further into North Africa+Middle East, Sub-Saharan Africa, Central + West Europe, East Europe + Russia, South Asia (Indian subcontinent), East + South East Asia, and Oceania+Australia.

Instead of setting a minimum amount of members from a region the PSF could start by setting an upper boundary for regions. I suspect that geographic representation is going to improve a lot if we just limit the maximum amount of seats for each region to 4 or 5 directories.

Another possibility to increase representation of underrepresented regions is the introduce a new role like PSF ambassador. Regions without a director on the board could be represented by a delegate / ambassador. An ambassador has no voting power but can participate in board meetings, act as a liaison and help to raise awareness of their region. We could start by appointing the top candidates of the last election from LATAM, Africa, and Asia now.



I had one observation about the structure of the ballot that I think leads to a less diverse result. I’ll try and explain.

I cannot now recall the exact wording but, more or less, it said, “Vote for all the candidates that you approve of”, that you’d find acceptable on the board.

There were then a list of X candidates, from which (say) 80% (or more) clearly satisfied the criteria — they were all them great candidates who would be acceptable on the board.

There were then some who were weaker. There’s an imperative for No, whilst yes to these great people, actually not these few. (Suitable as they may be in future elections or…)

So, there’s two pulls already:

  1. We’re asked to vote for all candidates.
  2. There’s a danger in excluding any good candidate for fear a weaker candidate thereby wins.

What I think this means is that most ballots include all the safe™ candidates (who are all awesome) as well as the other great candidates, that we might well favour if the ballot were structured differently.

In the final sum, the result of this is, not a bad result but, a result that is frustratingly suboptimal: four folks from the US and Europe, with folks from elsewhere 5th, 6th, 7th, 8th, just a small number of votes short.

There’s something in the “Vote for all acceptable candidates” — it means that whoever wins that we get people that the community agrees are suitable. So, even if your favourite doesn’t win, you can’t get bad result. It ensures weaker candidates are eliminated.

So, I think we should keep that. But, if at all feasible, I think one idea would be to have two rounds: the first almost as we had it, for the reasons stated. Then a second round from a sub group (the top eight or ten here would be good) with the simpler “Vote for who you want”, with 4 votes, since there are four seats.

That doesn’t guarantee a more diverse outcome, but it makes it highly likely: there have been enough comments on the result, and expressions of voting intent to give credence to the likelihood that we would have a much different outcome if folks could securely vote for their favoured candidate from a pre-accepted shortlist.

I hope that makes sense.


I’m happy that this topic was started. I think many people have comments and feelings regarding the last election and that is a good reason to start this conversion. People elected is super capable for the role and I think nobody will argue that. However, I’ve read that people (myself included) are kind of disappointed that having such a diverse good nominations, the result is not so diverse.

I agree that having a portion of the seats be regional, is a good idea. However, I’m not sure if “physically living” is the way to go. In my particular case, I’ve done a lot of work in different countries in South America and now I’m living in Spain the last ~2 years. I feel more comfortable representing South America -from where I understand culture, problems, limitations, etc and where I have plenty of contacts to help those communities to keep growing- than Europe where I’m just introducing myself in the communities.

This could be a good idea. Maybe 6 years in total for life is a good way to help rotating people from the board. We do have enough people around the world to fulfill this. Serving 6 years is probably enough to reach your “personal” goals on the board.

This makes sense to me.

If this is something that we want to pursue, I’m happy to share my experience with more details as a PSF South American Ambassador. In general, it was good to have a direct contact line with the PSF + one member of the board directly involved in the program + economical support. Adding participation to board meetings would have been super useful as the following step to that program.

I love this idea.


Looking at the full results, it seems like a majority of voters are voting for all that are acceptable, and then a minority are voting for the subset they want to win. Because of that, this small minority is actually determining the board, and doing so by disregarding the agreed upon rules.

I have no evidence to back this up, just my guess based on the fact that, as you say, about 80% of the candidates any given year seem to meet the bar of “acceptability.”

One possible technical tweak to mitigate this would be to present the candidates one by one, with their blurbs, rather than showing the entire list of candidates at once. This will increase the likelihood that each candidate is judged on their own merits rather than in comparison to other candidates. Someone who only wants to vote for people they know can still do that, but the interface would be clearly discouraging it.


Much like the “choose which membership level applies to you” good faith that the PSF has for PSF member registration, I wonder if that is applicable here? Such as, if a region model is setup it relies on individuals to opt in to those region(s) and in one’s nomination statement explain why. Particularly in your example, this makes perfect sense that you would be interested in a filling a South America vacancy.


Thanks, Lorena, for putting this together.

I fully support the idea of the employer limitation, as well as the staggered cohorts (at the APyB we used staggered cohorts as a way to minimize the chances of any group, not necessarily an employer, to attempt a takeover). I’m not sure if mandating geographic coverage with 11 directors is feasible. I like @tiran’s suggestion of PSF ambassadors.