rfc:voting2017

This is an old revision of the document!


PHP RFC: Voting

Introduction

This RFC amends and replaces https://wiki.php.net/rfc/voting with the main goals of being clearer, more concise, and eliminating ambiguities as much as possible.

Specifically, this RFC does that via:

  • Clarifying and redefining voting thresholds
  • Clarifying and redefining voting workflows
  • Clarifying and redefining voting eligibility

Background

Since the original Voting RFC was published back in 2011, it gradually became clear that the language in it is ambiguous, and in some cases - shortsighted. To name some examples:

  • The definition of 'who gets a vote' was very fluid
  • The definition of which votes require a 2/3 majority and which ones don't was very fluid
  • The voting workflow text was very terse - and left elements such as 'canceled votes' unhandled and open for interpretation
  • Even the definition of what requires a vote in the first place was not clear

Because of its many shortcomings, this RFC does not attempt to 'fix' the original Voting RFC, but rather rewrite it - factoring in the lessons learned in the last 6+ years.

Proposal

Definitions

  • Changes to PHP: Functionality that is added, changed, deprecated or removed from the PHP language, including any bundled extensions.
  • PHP Packaging Decisions: Decisions that deal with support timelines, release timelines or version numbering, but that do not otherwise impact the functionality of PHP or any of its bundled extensions.
  • RFC: Request For Comments for a proposed Change to PHP or for a PHP Packaging Decision, published on http://wiki.php.net/rfc/.
  • Implementation Decisions: Decision regarding the technical implementation of PHP or any of its bundled extension, that do not have any impact on end users (with the exception of performance improvement or degradation).
  • Release Manager(s)
  • PHP: The PHP package in source code or binary form, that are available on the main downloads page at http://www.php.net

General

In order to be accepted for inclusion in PHP Quarum Affiliated projects

Proposed PHP Version(s)

List the proposed PHP versions that the feature will be included in. Use relative versions such as “next PHP 7.x” or “next PHP 7.x.y”.

RFC Impact

Open Issues

Make sure there are no open issues when the vote starts!

Future Scope

This sections details areas where the feature might be improved in future, but that are not currently proposed in this RFC.

Proposed Voting Choices

Include these so readers know where you are heading and can discuss the proposed voting options.

State whether this project requires a 2/3 or 50%+1 majority (see voting)

Patches and Tests

Links to any external patches and tests go here.

If there is no patch, make it clear who will create a patch, or whether a volunteer to help with implementation is needed.

Make it clear if the patch is intended to be the final patch, or is just a prototype.

For changes affecting the core language, you should also provide a patch for the language specification.

Implementation

After the project is implemented, this section should contain

  1. the version(s) it was merged to
  2. a link to the git commit(s)
  3. a link to the PHP manual entry for the feature
  4. a link to the language specification section (if any)

References

Links to external references, discussions or RFCs

Rejected Features

Keep this updated with features that were discussed on the mail lists.

rfc/voting2017.1505124694.txt.gz · Last modified: 2017/09/22 13:28 (external edit)