The New PSF Membership Model (v.1.1.1)
The new membership model includes a open, self-initiated membership class that anyone can join. Within that broad membership, there would be four (possibly overlapping) special categories of Members that include additional privileges: Supporting Members, Sponsor Members, Managing Members, and Fellows. Members would be able to move in and out of the special categories as described below.
Under the new membership model, anyone who wants to become a Member of the Python Software Foundation will have the opportunity to join, simply by signing up on the new pydotorg website and agreeing to the CoC. The process would be similar to the process currently used for the Openstack Foundation. By signing up, anyone will have the opportunity to declare their part in the broader Python community and their support of the PSF.
By making the regular membership a declaration of affiliation, we make the PSF the natural home of anyone that wants to declare their support for Python and be associated with the Python community. If someone wants to just be a Member, there are no other requirements and no other duties.
Special Categories of Membership
We have seen that there are a number of people that want to do more for the community than just be affiliated with it. We want to give people a number of ways in which - should they want to - they can grow and contribute within the PSF. The special membership categories described below are designed to allow people to voluntarily take on responsibility--and to be recognized for their additional support for and work within the community.
The different categories of membership also include mechanisms for organizing the workvof the PSF so that we keep complexity down at the organization level.
Organization of Special Categories
Speaking very broadly, there are three ways that we envision that people would support the Python community: Creating, Coordinating, and Funding. There are membership categories associated with each of these ways of supporting the community. These categories of membership are not exclusive; a person could be a member of all of them, none of them, or any subset. Also, as a person's contributions and time commitments change, a person could move in and out of these special categories.
There are two special membership categories for Funding: Supporting Members and Sponsor Members.
Certain individuals that have demonstrated exemplary commitment to the PSF and Python community may become Fellows of the Python Software Foundation following the Fellowship procedure described below.
Supporting Members (Funding)
A Supporting Member is an individual who supports the PSF by helping fund its operations. This is an expansion and slight reworking of the current Associate Membership. Those who wished to contribute to the PSF financially would have the opportunity to be Supporting Members. The Supporting Membership would be fashioned along the NPR model in the United States: Once or twice a year, the PSF would have a membership drive encouraging Members to move up to being Supporting Members (at a suggested cost of $100/year). Those that became Supporting Members would receive an exclusive gift each year while they were supporting members, including at minimum 1) a custom Tee-shirt each year, and 2) some other Python-themed toy, gadget, or item. We would also work with our business members to see if there would be special discounts that could be made available to the Supporting Membership (discounts on books, etc). Supporting Members could opt out of receiving the T-shirts and gifts if they so chose.
Only natural persons would be eligible to be Supporting Members. Supporting Membership would be active for a full year, starting on the date of the contribution. A person could also become a lifetime Supporting Member by paying a fee (suggested at $2000). Supporting Members would be eligible for voting privileges as described below.
Sponsor Members (Funding)
A Sponsor Member is an organizational member of the PSF. A Sponsor Member could join at one of a number of different levels, with the price at different levels set by the Board (initially suggested at $3K, $6K, $12K, and $25K). Each level would provide a number of benefits - such as 1) a number of designated Sponsor Delegate members in the PSF, 2) preferential placement of jobs on the Python jobs board, and 3) discounts to PSF-sponsored and PSF-run events. Other benefits could be proposed by special working groups and ratified by vote.
Only organizations would be eligible to be Sponsor Members. Sponsor Membership would be active for a full year. The designated Sponsor Delegates would be eligible for voting rights as described below.
Managing Members (Coordinating)
A Managing Member is an individual who supports the PSF by spending time coordinating, teaching, and serving others. This could be time spent helping run conferences, running a user group, managing infrastructure, or performing some other work on behalf of the PSF. To become a Managing Member, a Member of the PSF would need to declare their intention to be a Managing Member and sign up for one or more working groups within the PSF. A working group would focus on some specific aspect of the PSF's infrastructure or community. Managing Members would be expected to put in 5-10 hours a month working in their working group to maintain their Managing Member status.
Ever year, each Managing Member would be asked to list the working groups they are involved in and to affirm that they have been putting in the time with their groups as agreed. This periodic recertification would have two purposes. First, it would gently remind those who had signed up as Managing Members that they had accepted responsibilities to go along with their privileges. Second, it would help the PSF keep an up-to-date list of which members would be available to help, and in what capacities. For example, there would be no more guessing about who might be available to help with website updates. Those who chose not to recertify their participation would move out of Managing Member status.
On a limited basis, participation in other community-focused groups (for example, the Plone Foundation or NumFOCUS) may make a person eligible for Managing Member status. For PSF-internal administrative reasons, an interested member within the PSF would still need to submit a pro-forma charter to get the work recognized within the PSF.
Managing Members would receive some sort of recognition each year and would be eligible for voting privileges. Managing Members would be eligible to become Fellows.
More information about the working groups is located below.
Contributing Members (Creating)
Contributing Members are those who support the Python community with contributions of code, tests, documentation, design, or other results of creative effort. There are many people out there that contribute code, or docs, or tests. In order to become a Contributing Member, a person would need to announce what open source project(s) they were working on and commit to spend 5-10 hours a month working on them.
The self-certification for Contributing Members would serve the same purposes as for Managing Members. It would remind those who had signed up to be Contributing Members that they had made a commitment to publicly contribute to the community. Second, it would help the community know who was working on which projects.
The requirement that Contributing Members be working on open source projects comes directly from the community-oriented nature of the PSF. Proprietary code can be useful for many things, but it is not available to the community and therefore isn't a contribution.
Contributing Members are eligible to vote and are eligible to become Fellows.
A Fellow is the highest level of PSF membership and confers privileges for life. It should be granted on those who have consistently served the PSF and Python Community over a substantial period of time and have made notable contributions.
To preserve the merit-based nature of becoming a Fellow, the procedure for becoming a Fellow would mirror the current mechanism for becoming a PSF member: a person would need to be nominated by an existing Fellow, and then confirmed by a secret supermajority vote following the nomination and voting procedure described below.
For Fellows, the criteria would be as follows:
""" For those who have served the Python community by creating and/or maintaining various creative contributions, the following statement should be true:
"[Nominated Person] has served the Python community by making available code, tests, documentation, or design, either in a Python implementation or in a Python ecosystem project, that 1) shows technical excellence, 2) is an example of software engineering principles and best practices, and 3) has achieved widespread usage or acclaim."
For those who have served the Python community by coordinating, organizing, teaching, writing, and evangelizing, the following statement should be true:
"[Nominated Person] has served the Python community through extraordinary efforts in organizing Python events, publicly promoting Python, and teaching and coordinating others. [Nominated Person]'s efforts have shown leadership and resulted in long-lasting and substantial gains in the number and quality of Python users, and have been widely recognized as being above and beyond normal volunteering."
[Nominated Person] is an example of what we aspire to be in the Python community. """
Although the Fellowship is designed to be a rare award, it is expected that core contributors to Python and other widespread Python implementations would meet the "creating" criterion. The principal contributors to many Python ecosystem projects would as well. Similarly, it is expected that the key organizers of large conferences, authors of multiple successful books, and leaders in community outreach efforts would meet the second "coordinating" criterion.
Fellows would be eligible for voting privileges. Fellows would be selected following the nomination and voting procedure described below, with existing Fellows participating in the vote. If there is a concern about regional or community representation in the Fellowship, the eligibility of voting for Fellows may be selectively extended to longtime Managing Members as recommended by a specially chartered working group.
There are a number of structures and practices that would need to be put in place to realize the new membership model.
The current ballot (March 2013) would include the following statement for approval/disapproval by the membership:
""" The new Board of Directors is directed to implement the necessary bylaw changes to change the membership model as described in the new membership model, version 1.1.1, as documented on the private PSF Wiki at http://wiki.python.org/psf/NewMembershipModel. """
The target for completion of all necessary changes would be three months, so that the new open membership would be available and open for new members starting at Europython (July 1-7, 2013).
The most important new practice under the new membership model would have to do with voting privileges - who could vote and what they would vote for.
Under the new model, voting (in any capacity) would be an obligation, not a right. Voting privileges would be reserved for those who had demonstrated some sort of commitment to the foundation - either by contributing time, money, or code. Voting privileges would also not be perpetual - members (of any class) could move in and out of voting status.
Voting privileges would be orthogonal to membership categories.
Every year, the PSF would send a message to all voting-eligible members. Those who would like to vote would need to respond affirmatively. (For those in the United States, voting eligibility would work like open enrollment for health care.)
Voting-eligible members who responded would vote on the following:
- Composition of the Board of Directors
- Admission of new Sponsor Members to the PSF
- Matters of overall PSF policy recommended for ratification by the Board
- PSF governance issues
- Chartering of working groups
- Any other matters designated for membership vote by the Board
- Sponsor Member benefits proposed by working groups
Votes would be held on a rolling basis over the Internet. All voting privileges would be extended on a "use it or lose it" basis - missing two votes during a year would end voting privileges until the next eligibility period.
The PSF's goal would be to encourage every member to be voting eligible and to exercise that vote, but we understand that many members would prefer just to be affiliated or to not worry about governance issues. This would allow any interested and committed member to vote, but would not obligate those who chose not to be involved in that way.
A person that is eligible to vote for more than one reason (being both a Supporting Member and a Contributing Member, for example) would still have only one vote.
The one exception is that the eligibility for voting as a Sponsor Delegate is separate from any voting rights that accrue to an individual. Thus, a natural person participating in the voting procedure could be eligible to vote both as an individual (if appropriate) and as a Sponsor Delegate.
Sponsor Delegates that fail to declare their intention to vote or who fail to vote would not have voting privileges until the next eligibility period, just like individual members.
Fellowship Nomination and Voting Procedure
The PSF Fellowship would work according to a set procedure to make the process as free from politicking and bias as possible.
All nominations would be made via a web form. The identity of the nominator would be secret, and including identifying information in a nomination would invalidate the nomination. Nominees would not be notified that they had been nominated, and only Members could be nominated. Notification is not required since membership (which will be easy for any interested person to obtain) indicates interest.
The web form would ask for the name of the nominated person, would include a brief prose description of the contributions of the person, and would include spaces for as many URLs as necessary to demonstrate the suitability of the person for the proposed award. There would be no discussion of the nominees. Instead, each voting Member would individually focus on the criteria for the award.
The vote would be by secret ballot. To pass, the vote would require a supermajority (at least 2/3, adjustable to 3/4 by the Board) of those participating in the vote to agree with the applicable criterion.
Nominations to the Board
A Board Member could be self-nominated or nominated by another person. The only requirement for nomination would be that the person was at least a Member of the foundation. Any person serving as a Board Member would automatically meet the qualifications to be a Managing Member of the PSF.
In order to be a Managing Member, a person would need to participate in one or more working groups as described above. Initially, the working groups would correspond to existing functions and committees already identified by the PSF - the Board, the Infrastructure Committee, PyCon-Organizers, etc. Additional new working groups could be proposed by any Member. The scope of each working group would be defined by a charter, which would include 1) the purpose of the group; 2) the length of time the group would be active; 3) the end goal or product of the group; 4) the methods of communication that the group would use; and 5) any sort of internal governance statement.
The procedure for creating a working group would be as follows:
- One or more people would identify a need and propose a working group charter
- The working group charter would be proposed to the voting-eligible Members, who would approve the charter (or not) to create an official working group
- If needed, a budget allowance would be provided to the new working group by the Board.
Each year, the working groups would be evaluated by the voting-eligible Members (with possible assistance from the Board). The working groups would either be recertified or would be dissolved for lack of interest, Members, etc.
PSF Members that were contributing to other user groups (AfPy, BayPiggies) could have their efforts with their existing local groups certified as a working group. One special working group would be the technical advisory committee, which would provide guidance for the PSF on any technical matters.
Every current Nominated Member of the PSF would have the opportunity to be recognized as a Fellow without following the balloting procedure. Individual Members would have the opportunity to decline if they didn't feel it was appropriate based on the criteria for Fellow described above. Current Associate Members would automatically become Supporting Members under the new membership model.
Emeritus Members would become regular members, unless the membership is refused.
Efforts would be made to make existing user groups and other informal organizations working groups under the new model. Legally-recognized entities that are Python-focused would be invited to become PSF affiliates or have their activities recognized under the working group model as described above.
Q: Why are we doing this?
A: There are many reasons. The most important reason is that we have moved away from a clear conception of what it means to be a member of the PSF. I hope that through the reformulation of the membership, we will be able to give a clear conception and purpose for the PSF that will take us through the next twenty years of Python.
That is not the only reason, though. There are other benefits to the new membership model.
One clear benefit is that this new model will help us protect Python's intellectual property better. In the recent trademark dispute, one of the key pieces of evidence was whether the PSF had members in the various EU countries. It was a mark against us that we did not have members in every EU country - and even when we had members, we had ten or twenty members, not thousands.
This is in clear contrast to the widespread support that came to us from Pythonistas in every EU country. If all those Pythonistas had been part of the PSF already, we could have pointed to our widespread membership as evidence of the PSF's stewardship and representation of Python.
Another benefit is that we remove the arguments about who should and should not be a Member of of the PSF. Under the new model, the PSF welcomes anyone who wants to be affiliated with Python. We expand our membership to truly represent the broader Python community.
A third benefit is that the new membership model allows for both growth and change in the Python membership. A person can become a Member, have voting privileges for a time, then become a Supporting Member, and go back to basic membership anytime they want. We don't kick people out and make them "emeritus" members. They are still members of the Python community. There are just members who are taking an active (or passive) role in the community at the moment.
Q: Isn't a "Supporting Member" just the same as the current Associate Membership program?
A: The primary difference between Supporting Members and the existing Associate Membership is the explicit plan for giving back some benefit to these Supporting Members. Right now there is not much difference between simply donating to the PSF and becoming an Associate Member. This plan would make the benefit clear.
Supporting Members would also be eligible for voting privileges, where current associate members are not.
Q: What happens to regional or national organizations, like the German Python organization?
A: As described in the transition plan there would be three outcomes. Legally organized entities that are purely Python-focused would be invited to become affiliates of the PSF and represent the PSF in that particular country or locale.
Legally-organized entities that are not purely Python-focused could choose to adjust their focus and become PSF affiliates, or could have interested members submit charters for recognition of the other-entity efforts as working groups, or could do nothing at all.
Informally-organized entities would become working groups.
The PSF would would seek to keep existing institutions intact wherever possible. Of course, there would be no requirement for any organization to affiliate with the PSF.
As for the members of those organizations, they would either become Members of the PSF (if the organization decides to affiliate with the PSF) or they can hold memberships in both organizations (if not). The PSF would recognize work within these local user groups as a working group, so that people could become Managing Members in the PSF for their efforts running a meetup, organizing Gothpy, etc.
Q: Does this mean that you can't do stuff on your own, outside of a "working group"?
A: No, of course not. People will always be able to go off on their own and do their own thing. The working group process will just be used if a person 1) wants their activities to be recognized by the PSF for Managing Member status, and 2) wants to use PSF resources (money, hosting, pydotorg space, etc). If people want to have access to PSF resources, then the chartering process for working groups would help the PSF understand what would be in scope and out of scope for a particular activity.
Q: Isn't the Fellows program too exclusive? Doesn't that make it susceptible to being an exclusionary club?
A: One of the things that some members really value about their current membership in the PSF is the affirmation by their peers that they have done excellent work. That affirmation is valuable - and to keep being valuable, it needs to mean something that a person is selected to be a Fellow. It needs to be exclusive.
On the other hand, we definitely don't want the title of "Fellow" to be exclusionary. That is the reason why the criteria for becoming a Fellow are so tightly defined - so as to provide a relatively objective measure of who should be eligible for Fellowship.
If there are concerns, the Board can charter a working group to selectively increase the voting group that selects Fellows.
Q: What would become of psf-members?
A: The PSF-Members mailing list would become a social-only list. Announcements from the PSF would come through PSF-Announce. Discussions of other business would be off-topic, and would instead be the province of working group mailing lists or other fora. And yes, that means people could unsub from PSF-Members if they wanted - although we hope that these changes would help the PSF-Members list be a more pleasant place to be.
Note: The original text has been moved to MembershipModelVisualization.