Revision 14 as of 2015-04-19 16:05:06

Clear message

PSF Strategic Decision Making Process

Proposal editor: Nick Coghlan

(FINAL DRAFT presented for PSF Board resolution)

PSF Board resolution for adopting these guidelines:

Board members familiar with the Python Enhancement Proposal process used by groups such as the CPython core development team and the Python Packaging Authority to resolve significant design decisions should not find any surprises in the philosophy behind these proposed guidelines, although the exact mechanics involved are quite different. Elements of Red Hat's internal "Open Decision Making Framework" and the Fedora change approval process have also influenced the specific design proposed.

The "psf-discuss@python.org" list mentioned in the proposal will be a new list fulfilling a similar role for Python Software Foundation community management discussions that python-dev fills for Python technical discussions.

Approval process for these guidelines

The final draft of these guidelines is currently before the Board for formal ratification through the Board resolution process.

Out of scope items

The following items are specifically out of scope for this discussion:

One technical enhancement potentially worth considering in a future revision to these guidelines is configuring wiki.python.org to allow the use of DISQUS powered comment threads on pages: https://moinmo.in/MacroMarket/DisqusThread

That would allow proposal editors to opt-in on a proposal-by-proposal base to moderating a public discussion thread for that specific proposal.

(FINAL DRAFT presented for PSF Board resolution)

PSF Strategic Decision Making Process

The primary mechanism for strategic decision making in the PSF is through resolutions of the PSF Board. Members of the PSF Board of Directors are elected annually in accordance with the PSF Bylaws, and bear the ultimate responsibility for determining how the PSF pursues its mission to:

However, some proposed clarifications of or changes to the way the PSF pursues its strategic priorities are of sufficient import that they will benefit from a period of open discussion amongst the PSF membership prior to presentation for a Board resolution.

Similarly, new Working Group charters (as described in the Bylaws) will likely benefit from a period of collaborative discussion on the details of the charter prior to their presentation to the Board.

Python Software Foundation Public Discussion Mailing List

Collaborative discussions of proposals amongst PSF Members take place on the publicly archived "psf-discuss@python.org" mailing list.

Anyone in the world that wishes to do so is free to read these discussions, but active participation requires first registering as a [https://www.python.org/accounts/login/|PSF Member] on python.org, and agreeing to abide by the Foundation's [https://www.python.org/psf/codeofconduct/|Code of Conduct]. Persistent failure to abide by the Code of Conduct in collaborative environments provided by the Foundation may result in suspension or permanent removal from those environments.

Python Software Foundation Members Mailing List

For a variety of reasons, not all Python Software Foundation Members will be equally comfortable with posting to a publicly archived discussion list. For the benefit of these members, the "psf-members@python.org" discussion list operates with closed archives accessible only to list subscribers, rather than to the internet at large.

To ensure that community leaders remain accountable in this less public environment, any list member is free to quote verbatim any statements posted to the PSF Members list by Directors and Officers of the Python Software Foundation. Posts made by others should not be quoted outside the list without explicit permission, but may be referenced publicly by way of anonymous paraphrased statements. For example, a public post regarding a PSF members discussion might start with, "On the PSF members list, someone asked about <topic>...", before proceeding to answer the question publicly, rather than keeping the answer restricted to the closed environment where the question was first asked.

Deferred feature: Two open questions have been identified in regards to this revision to the operation and purpose of the existing psf-members mailing list:

Rather than attempting to guess the collective opinion of the current Voting Members on these two items, or to enforce a particular perspective regardless of that opinion, the non-binding poll process described below will be used to gather additional information before making a final decision on these two specific aspects of the proposed decision making and discussion process. Regardless of how these two items are ultimately decided, the intent will remain for the majority of discussion to move to the public discussion list (similar to the way that the majority of technical core development discussion takes place on the public python-dev and python-ideas list, rather than on the core-mentorship list)

Non-binding polls of PSF Voting Members

At their discretion, the PSF Board may choose to include non-binding polls in ballots issued to PSF members. This may be appropriate in situations where a policy decision with no obviously correct answer needs to be made, and the Board is unable to find a clear reasoned consensus. In these cases, the collective opinion of the broader PSF membership is likely to provide an additional valuable data point that individual Directors may take into account when voting on any associated Board resolutions.

Deferred feature: These non-binding polls will initially be sent out solely through the formal PSF voting infrastructure. While it is likely desirable to also eventually make use of a simpler consensus assessment mechanism akin to Loomio within the context of the main PSF infrastructure in order to improve discoverability for new members, that specific proposal is being omitted from this initial iteration as it is far from clear how best to pursue providing such a service (one possibility would be to integrate it into HyperKitty, the recommended mail archiver/web gateway for the next generation Mailman 3 mailing list service).

Formal Proposals

Proposals for Discussion

Any PSF Member (including Basic Members) may use the Python wiki to submit a proposal for discussion with the full PSF membership. Such proposals should be filed under the PythonSoftwareFoundation/ProposalsForDiscussion section of the wiki. For example:

Proposals that are open for membership discussion should have a designated editor (or editors) listed at the top of the page. It is expected that in most cases the initial author(s) of a proposal will also be the designated editor(s). Significant changes to a proposal under discussion should only be made by the designated editors, although other PSF Members should feel free to make minor corrections (such as fixing typos and broken links) directly. If in doubt regarding the appropriateness of an edit, it's best to suggest it to the editors on the psf-members mailing list rather than making the change directly.

Deferred feature: There is currently no automatic link between registering as a PSF Member and gaining write access to the Python wiki, and addressing that limitation will require some significant enhancements to the PSF's identity management infrastructure. In the meantime refer to https://wiki.python.org/psf/ to request write access if you wish to submit a proposal.

Proposals for Resolution

At the request of the designated editor(s), any PSF Director or Officer may determine that a particular proposal is ready for resolution and move it to the PythonSoftwareFoundation/ProposalsForResolution section of the wiki. For example:

Proposals submitted for resolution will be resolved either directly by a Board resolution, or, at the Board's discretion, by a full binding vote of eligible PSF Voting Members.

Active Policies

Any proposal which is resolved favourably and is not amending an existing program will be moved by a PSF Director or Officer to the PythonSoftwareFoundation/ActivePolicies section of the wiki. For example:

Proposals to amend an existing policy will instead be used to appropriately update the relevant policy page, and the proposal itself moved to the ArchivedProposals section of the wiki.

Retired Policies

If a previously active PSF Policy is retired, then it will be moved by a PSF Director or Officer to the PythonSoftwareFoundation/RetiredPolicies section of the wiki.

Archived Proposals

If a proposal is resolved unfavourably, or is otherwise withdrawn from consideration, it will be moved by a PSF Director or Officer to the PythonSoftwareFoundation/ArchivedProposals section of the wiki.

Access Control

All sections of the Python wiki referenced in this proposal will remain readable by the general public. Write access to the following sections may be restricted as follows:

Technical Notes

When "moving" proposals between categories, a redirect from past locations to the new location should be put in place using the MoinMoin #redirect directive.

At least initially, the access restrictions described above will not be programmatically enforced, to allow for easier delegation of proposal and policy management.

Unable to edit the page? See the FrontPage for instructions.