Differences between revisions 3 and 4
Revision 3 as of 2015-03-08 00:30:50
Size: 5332
Comment:
Revision 4 as of 2015-03-15 21:04:01
Size: 7611
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
Folks familiar with the [[https://www.python.org/dev/peps/pep-0001/|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. Folks familiar with the [[https://www.python.org/dev/peps/pep-0001/|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.
Line 15: Line 15:
 * Changing to a different wiki technology. MoinMoin's capabilities are entirely sufficient for this proposal, and discussing switching to something else would be a distraction from the core objective of establishing the PSF's equivalent of PEP 1.  * Investing in relevant enhancements to MoinMoin, or changing to a different collaborative editing technology entirely. MoinMoin's existing capabilities are entirely sufficient for this proposal, and discussing switching to something else would be a distraction from the core objective of establishing the PSF's equivalent of PEP 1.
Line 17: Line 17:
 * Any '''Deferred feature''' listed throughout the body of the proposal. These notes are included for discussion purposes to clarify that addressing certain limitations of the current proposal is a task being left until later in order to prioritise getting a usable initial version of the process in place as soon as possible.
Line 23: Line 24:
The primary mechanism for strategic decision making in the PSF is resolutions of the PSF Board. Members of the PSF Board of Directors are elected annually in accordance with the [[https://www.python.org/psf/bylaws/|PSF Bylaws]], and bear the ultimate responsibility for determining ''how'' the PSF pursues its [[https://www.python.org/psf/mission/|mission]] to: 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 [[https://www.python.org/psf/bylaws/|PSF Bylaws]], and bear the ultimate responsibility for determining ''how'' the PSF pursues its [[https://www.python.org/psf/mission/|mission]] to:
Line 27: Line 28:
However, some proposed clarifications of or changes to the PSF's strategic objectives 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. 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.
Line 30: Line 31:
Line 35: Line 37:
'''Deferred feature:''' These non-binding polls will initially be sent out solely through the formal PSF [[http://vote.python.org|voting infrastructure]]. While it is likely desirable to also eventually make use of a simpler consensus assessment mechanism akin to [[https://www.loomio.org/|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 ([[https://fedorahosted.org/hyperkitty/ticket/89|one possibility]] would be to integrate it into HyperKitty, the recommended mail archiver/web gateway for the next generation Mailman 3 mailing list service).
Line 40: Line 43:
Any PSF member that is eligible to vote on PSF ballots may use the [[https://wiki.python.org/psf/|private PSF wiki]] to submit a proposal for discussion with the full PSF membership. Such proposals should be filed under the ProposalsForDiscussion section of the wiki, which will also be flagged for public read access so that PSF Basic Members will also be able to read any submitted proposals. Any PSF Member (including Basic Members) may use the [[https://wiki.python.org/psf/|private PSF wiki]] to submit a proposal for discussion with the full PSF membership. Such proposals should be filed under the ProposalsForDiscussion section of the wiki. For example:

  https://wiki.python.org/psf/ProposalsForDiscussion/StrategicDecisionMakingProcess

'''Deferred feature:''' There is currently no automatic link between signing up as a Basic Member on python.org and gaining write access to the PSF 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.
Line 44: Line 51:
Any PSF Director may determine that a particular proposal is ready for resolution and move it to the ProposalsForResolution section of the wiki. As with proposals for discussion, this part of the PSF wiki will be readable by the general public. Any PSF Director or Officer may determine that a particular proposal is ready for resolution and move it to the ProposalsForResolution section of the wiki. For example:

  https://
wiki.python.org/psf/ProposalsForResolution/StrategicDecisionMakingProcess
Line 48: Line 57:
=== Archived Proposals ===

If a proposal is resolved unfavourably, or is otherwise withdrawn from consideration, it will be moved the PSF Secretary, any PSF Director, or the author of the proposal, to the ArchivedProposals section of the wiki.
Line 54: Line 59:
Any proposal which is resolved favourably and is not amending an existing program will be moved by the PSF Secretary or any PSF Director to the ActivePrograms section of the wiki. Any proposal which is resolved favourably and is not amending an existing program will be moved by a PSF Director or Officer to the ActivePrograms section of the wiki. For example:
Line 56: Line 61:
Proposals to amend an existing program will instead be used to appropriately update the relevant program page.   https://wiki.python.org/psf/ActivePrograms/StrategicDecisionMakingProcess

Proposals to amend an existing program will instead be used to appropriately update the relevant program page, and the proposal itself moved to the ArchivedProposals section of the wiki.
Line 60: Line 67:
If a previously active PSF Program is retired, then it will be moved by the PSF Secretary or any PSF Director to the RetiredPrograms section of the wiki. If a previously active PSF Program is retired, then it will be moved by a PSF Director or Officer to the RetiredPrograms 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 ArchivedProposals section of the wiki.

== Access Control ==

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

 * ProposalsForDiscussion: all PSF Members (including Basic Members)
 * ProposalsForResolution: PSF Directors and Officers
 * ActivePrograms: PSF Directors and Officers
 * RetiredPrograms: PSF Directors and Officers
 * ArchivedProposals: PSF Directors and Officers

These are DRAFT guidelines for a new approach to making significant strategic decisions for the PSF, in cases where neither confidentiality nor an urgent response are required. It builds directly on the more inclusive membership model introduced in the 2014 revisions to the Python Software Foundation By-laws.

Folks 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.

Approval process for these guidelines

These draft guidelines are currently posted for discussing with the full PSF membership on the psf-members list. They will be amended as appropriate based on that discussion, and then placed before the Board for formal ratification through the Board resolution process.

The mechanics of that process will be in accordance with the guidelines below.

Out of scope items

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

  • Investing in relevant enhancements to MoinMoin, or changing to a different collaborative editing technology entirely. MoinMoin's existing capabilities are entirely sufficient for this proposal, and discussing switching to something else would be a distraction from the core objective of establishing the PSF's equivalent of PEP 1.

  • Defining how to republish the details of at least active programs on the main python.org site. That's a separate entirely technical discussion related to the capabilities of the python.org service to consume content defined elsewhere and republish it as part of the site. See this RFE for more details.

  • Any Deferred feature listed throughout the body of the proposal. These notes are included for discussion purposes to clarify that addressing certain limitations of the current proposal is a task being left until later in order to prioritise getting a usable initial version of the process in place as soon as possible.

(DRAFT for discussion with full PSF Membership)

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:

  • ... promote, protect, and advance the Python programming language, and to support and facilitate the growth of a diverse and international community of Python programmers.

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.

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 private PSF wiki to submit a proposal for discussion with the full PSF membership. Such proposals should be filed under the ProposalsForDiscussion section of the wiki. For example:

Deferred feature: There is currently no automatic link between signing up as a Basic Member on python.org and gaining write access to the PSF 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

Any PSF Director or Officer may determine that a particular proposal is ready for resolution and move it to the 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 Programs

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

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

Retired Programs

If a previously active PSF Program is retired, then it will be moved by a PSF Director or Officer to the RetiredPrograms 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 ArchivedProposals section of the wiki.

Access Control

All sections of the PSF wiki referenced in this proposal will be readable by the general public. Write access to the following sections will 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.

ProposalsForDiscussion/StrategicDecisionMakingProcess (last edited 2015-03-16 12:34:48 by AlyssaCoghlan)

Unable to view page? See the FrontPage for instructions.