For your consideration: Proposed bylaws changes to improve our membership experience

edited on 2024-06-15 20:08:53 UTC to include direct links to the proposed changes; no other substantial change was made to the text of the post

edited on 2024-06-27 22:12 UTC to update the link to change 2 with an additional typo fix

This year, as part of our annual election process, the Python Software Foundation Board is offering three bylaws changes for our Members to vote on. These changes are all centered on our membership experience: making it simpler to qualify as a Member for Python-related volunteer work, making it easier to vote, and allowing the Board more options to keep our membership safe and enforce the Code of Conduct.

Voting Members will be asked to vote on these items during the July Board of Directors election. If the majority of Voting Members vote in favor of any of the changes, those changes will be incorporated into the bylaws and go into immediate effect.

We’re sharing these changes with you today as an opportunity to understand why these changes are being proposed, and to give you an opportunity to ask questions of the Board before you vote, either by emailing psf-elections [at] pyfound [dot] org or membership-wg [at] pyfound [dot] org, or by responding to this thread.

The text of the changes are available from the following links, all of which show visual representations of additions and deletions to our canonical bylaws repository:

The Board has carefully considered these changes and strongly encourages all Members to vote in favor of them. The rest of this post explains the changes, and why we’re putting them to our Voting Members.

Change 1: Merging Contributing and Managing member classes

Since 2017, when we adopted our current membership model, we’ve had four classes of membership: Supporting (recognition for being a monetary donor), Managing (recognition for volunteer work in the PSF or in community events), Contributing (recognition for volunteer work on open source software), and Fellow (recognition of long-term service to the mission of the PSF).

For almost as long as our membership options have existed, there’s been confusion about the distinction between Managing and Contributing members. Both require 5 hours a month of volunteer service, but the distinction between community work and work on software is increasingly out of step with how our community thinks about contributing.

In the future, we want community members to qualify for PSF membership by participating and giving back to the community, either through donating, through volunteer work, or in recognition of long service, without distinguishing between code contributions and non-code contributions.

With this proposed bylaws change, we would merge the Managing and Contributing membership classes. All Managing Members would become Contributing Members, and we would no longer have a Managing Member class. Further, this change would explicitly allow for works of authorship (including documentation, books, or blogs) beyond software to count as volunteer work, provided those works are openly licensed.

We think this would significantly simplify the membership categories, reduce confusion, and make it easier for volunteers who both run events and write code to decide which membership class best applies to them.

Change 2: Simplifying the voter affirmation process by treating past voting activity as intent to continue voting

Our bylaws (section 4.2) require every Member to affirm their intention to vote in an election before they can be issued a ballot. This is intended to ensure that our election reaches a quorum (i.e. one third of ballots issued are actually used to vote), and is therefore valid by our bylaws. Due to technical limitations, we only started requiring this affirmation in practice last year. Since then, we’ve received feedback that the affirmation process has unintentionally excluded some people who had intended to vote.

It is the Board’s intention that we make it as easy as possible to vote in our elections, however, we must balance legal obligations that require us to maintain a quorum in our elections.

This bylaws change would allow us to treat any member who voted in the immediately previous year’s election as having affirmed their intention to vote. The Board believes that voting in a PSF election is a good indicator that a member is likely to vote again, and including them in the quorum calculation is unlikely to put our quorum at risk.

While there may be technical limitations to us implementing this change, the change is necessary to allow the Foundation to alter the affirmation procedure at all. It is the Board’s intention that this change would be implemented for the 2025 election should the Bylaws change be accepted by the membership during the 2024 election.

Change 3: Allow for removal of Fellows by a Board vote in response to Code of Conduct violations, removing the need for a vote of the membership

Currently PSF Fellows are awarded membership for life, as a reward for exceptional service to the mission of the Foundation. There are deliberately very few ways to remove a Fellow from the membership.

If a Fellow were found to have violated the Foundation’s Code of Conduct in a way that warranted termination of their membership, currently the only way to remove them would be to put their removal to a vote of all Voting Members (per section 4.15 of our Bylaws). We believe that requiring a vote of the membership to remove a Code of Conduct violator from our community would subject members of the community — including people directly impacted by that violator’s behavior — to undue distress.

On the other hand, we believe there is significant legal risk that could arise from Code of Conduct violators known to the PSF using their status as a PSF Fellow to enhance their reputation. In cases where the Foundation needs to act in order to continue being able to serve the Python community effectively, we currently have no choice but to name a known Code of Conduct violator as part of a vote put to the membership.

In practice, this requirement limits our ability to effectively enforce our Code of Conduct. This is a disservice to our community.

This proposed change gives the Board, by a majority vote, the ability to terminate the membership of a Fellow as a consequence of breaching any written policy of the Foundation, specifically including our Code of Conduct. This change would allow the Board to act in cases where there is a clear need for a problematic community member to no longer be affiliated with the Foundation, without further perpetuating the trauma caused by that community member’s actions.


The text of the first two changes are linked here:


and the third is linked here:


I believe Change 1: Merging Contributing and Managing member classes is about time. This has been the top FAQ when we go about recruiting community members to join the PSF and explain voting rights. Thank you.

I also believe Change 2: Simplifying the voter affirmation process by treating past voting activity as intent to continue voting is a positive step forward, although I also think the hiccups that we’re seeing since requiring affirmation is a technical one. I don’t have any other strong opinions on this.

I am wary of Change 3: Allow for removal of Fellows by a Board vote in response to Code of Conduct violations, removing the need for a vote of the membership though. Because our work is to include and not exclude people, I am naturally wary when we take the power and decision making to exclude people from the many to the few. Having written that, I do understand the reasons behind the proposed changes and I agree with them.

The values that the PSF’s Code Of Conduct tries to protect are universal and I believe our communities worldwide share the same values. But being the diverse world that we are, the way the CoC are interpreted and understood and executed will be different based on background, history, culture and even laws of a particular country. That is why we have different CoC committees for each event or conferences in different countries to look into possible violation cases that applies to that community based on the universal values that we have.

As the PSF Board has the tendency to be comprised of people from only specific regions, shared history and cultures, I think it’s too dangerous to allow these few to have the power to exclude people from our community and the hurdle should be higher. With that in mind, how about if we require the removal vote to be a unanimous vote from the PSF Board, or at least a super majority (i.e. 3/4) instead of a simple majority?


I completely support Change 3 and the reasoning behind it; however, I also appreciate you pointing out potential cultural issues with it. I think requiring a super majority (2/3 or 3/4 or whatever; I’m not gonna bikeshed here) instead of a simple majority is a reasonable amendment to the proposal. @chrisjrn Is there any mechanism for amending the proposal to require a supermajority?


I agree with Iqbal that the first two proposed amendments make sense. I also agree with him in being troubled by the third. In fact, I think I am somewhat more troubled by it than he is.

The last paragraph of Christoper’s post suggests to me that the PSF’s board anticipates using the power to kick people out in secret (“without further perpetuating the trauma”). I think that public scrutiny is an important aspect of justice.

Given that the board would have the power to kick people out for breaching “any written policy” and (as far as I am aware) the board can create written policies at any time, it seems that PSF fellows would remain fellows only at the board’s pleasure.

Can someone suggest a reasonably likely scenario in which it would be to everyone’s benefit that the PSF’s board should be able to kick a fellow out on the basis of any policy they create without any public scrutiny? In the absence of a persuasive case, I am against the third proposed amendment.

(Disclosure: I am a PSF fellow.)


After reading Matthew’s comments, I read again the proposed changes. This is the proposed change:

The applicant must abide by the corporation’s Code of Conduct and meet any other qualifications established by the Board of Directors. Upon submission of a membership application, a qualified
applicant shall be automatically admitted as a Basic Member

While this is the current one:

Upon submission of a membership application, the applicant shall be automatically admitted as a Basic Member

while the proposed change on the termination of membership is:

A Member’s (including any Fellow’s) membership may be terminated for failure to meet any condition of membership (including violation of the Code of Conduct or non-payment of membership fees) by an
affirmative vote of the majority of the Board of Directors.

So now we have “any other qualifications established by the Board of Directors” which we put as an extra hurdle during membership registration? Now I also feel we are making the door smaller for people to become part of our community based on an opaque standard.


There was no previous requirement for the work to be voluntary, as the diff shows:

-and such person must commit to working at least five hours per month 
+and such person must commit to volunteering at least five hours per month 
 on projects that advance the mission of the Python Software 

If the intention is that people who are paid to work on open-source software must now pay to be PSF members, then I have no problem with that. But it would be unfair to make their membership invalid without giving them clear notice of this change. An email to all Contributing members should be good enough.


The main policy that the Board might weigh in on is our Code of Conduct. (Membership dues are set by the board but are reported by accounting staff and not in need of interpretation.) Adding a “public scrutiny” component to CoC reports against a certain category of people will make most people extremely unlikely to report anyone who belongs to that special category.


Thanks @iqbalabd and Anna for your feedback, it is much appreciated.

The text as presented is the result of discussion amongst the Board of Directors, which we carefully considered, and voted in favour of.

It is theoretically possible that the Board could pass a new version of the text, but it is extremely unlikely that we could have a meaningful discussion amongst the board about the goals of a new amendment, have any needed discussion with counsel, pass the amendment, provide enough time for community discussion on a new version of the amendment, and still have that be voted on during the regular Board of Directors election.

Given the effort involved on the part of our staff to run a vote of the membership on top of all their other duties, we try to only have one vote per year whenever possible.

With all that in mind, we will have to ask you to vote on the amendment as it is currently written.

I will note down your feedback, and I will try to make sure that this gets fed back into future bylaws reviews.


Hi Matthew,

Can someone suggest a reasonably likely scenario in which it would be to everyone’s benefit that the PSF’s board should be able to kick a fellow out on the basis of any policy they create without any public scrutiny?

As Deb pointed out, the primary purpose of the amendment as written is to allow us to enforce our Code of Conduct.

Beyond just the Code of Conduct, the broader scope gives the Board authority to act in situations where a Fellow’s continued affiliation with the PSF would subject the Foundation to significant legal peril. Even though we imagine the Code of Conduct would cover the vast majority of cases, we do not believe it would be productive to list every situation that could put the Foundation at such risk.

Note that any “qualifications on membership” beyond what are directly listed in the bylaws would need to be voted on by the Board of Directors, and all actions of the Board of Directors are published in the resolutions log and the minutes of Board meetings.


Thanks Malcolm,

I will take that feedback to the Board to see what we can do about that, assuming the measure passes.

As Deb pointed out, the primary purpose of the amendment as written is to allow us to enforce our Code of Conduct.

As others have pointed out, the PSF’s code of conduct can already be enforced.

authority to act in situations where a Fellow’s continued affiliation with the PSF would subject the Foundation to significant legal peril

Can you tell us more specifically what sort of legal peril you anticipate? I am very willing to be persuaded by an argument that seems reasonably likely.


Adding a “public scrutiny” component to CoC reports against a certain category of people will make most people extremely unlikely to report anyone who belongs to that special category.

Can you suggest a reasonably likely sort of scenario in which secret justice is more just than justice that includes public scrutiny?


Can it? The CoC WG acts in an advisory manner only. It takes reports and evaluates cases, and then recommends actions to whatever authority there is in the relevant spaces. Right now the only way to deal with a Fellow who repeatedly flaunts the CoC – and I’m neither on the Board nor on the CoC WG but I have seen ample evidence that there are, in fact, Fellows who repeatedly flaunt the CoC – is to have a very public vote among the membership. Because of the logistics involved, doing so outside of the regular cadence of once a year is difficult. Convincing all the membership that an eviction is warranted also requires airing all the dirty laundry, which would be good for exactly no one – certainly not for the Fellow being evicted, nor for anyone who was forced to complain about them. CoC matters can be incredibly sensitive and harrowing.

There should be ways to redress abuse of the powers of the Board, although that’s a topic that goes way beyond this particular amendment to the bylaws. The main tools for that are the annual elections, a special election (which can be called by the Board or by 10% of the membership), and public pressure. (Let’s not underestimate the power of public pressure over the PSF, given that it is pretty literally nothing without its public support.)

Debian -- News -- Statement on Daniel Pocock might be a persuasive example for the general topic of having some way of dealing with members who are acting against the interests of the Foundation.


Having a CoC in place, and having a team that responds to CoC reports, and keeping the privacy of all parties involved are all standard practices in the Python community at large. There is currently a disconnect between those standard practices and how the fellow roll is kept, that would require a very public display versus how CoC reports are handled everywhere else. Closing that gap is important so that the process is consistent across spaces.

The board is made up of members of the community (potentially including you reading this, if you run!) that we vote for. They are not trying to trick their community into letting them be evil. They already have the ability to make impactful decisions without unanimous votes of either the board or members. They already respond to community feedback when questions arise; supporting the community is half of their mission statement. Despite all that, if you do feel they do not represent you and enough others feel so as well, you can run for the board and affect those policies and decisions.

As a PSF fellow, the lead maintainer of Flask, and a member of the Python community, I trust the community elected board and support all three proposals.


I also think a simple majority Board vote is too low a bar for revoking Fellow status, so won’t be voting in favor of that.

However, I didn’t understand this justification:

How would that work? I’m not a lawyer, but am unaware of any legal theory in the US under which an organization can be held legally liable for something one of its members does on their own. Certainly, officers and employees can expose the organization to legal risk for things they do in their official organizational roles. But if a PSF Fellow does something noxious on their own, I don’t see how the PSF could be held legally liable any more than, say, the political party, fraternity, sorority, union, homeowner’s association, church, Facebook group, or bowling league they may also be a member of.

Organizations in such cases worried about the bad PR generally issue a statement clarifying that their member is not speaking for them, or acting on their behalf, and that the organization is pursuing its established procedures for possibly revoking membership.


Is that true? For example, is there something in the rules that forbids banning a Fellow from posting to some group for some time? That’s the kind of actions the CoC recommends, and AFAIK Fellows have no special immunity to such measures. Could be I’m wrong about that, though.


They can be banned from, or denied access to PyCon US, or removed as a Core Developer, yes. That doesn’t make them no longer a Fellow.


Got it - thanks. I read “deal with” as “do something about”, not as “revoke Fellow status forever”.

Like David too, I’m not opposed to making it impossible for the Board to do this on its own - I just want a higher bar than a simple majority vote. My years on the Board matched David’s experience: votes were usually unanimous. If there’s reasonable disagreement, under most systems of juistice that favors the accused.