rfc:howto

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

rfc:howto [2013/02/13 21:46]
sixd Add note about not having open questions in the RFC during the vote
rfc:howto [2014/01/21 01:14] (current)
ajf
Line 5: Line 5:
 If you don't have the skills to fully implement your RFC and no-one volunteers to code it, there is little chance your RFC will be successful. To learn about PHP core development see [[internals:​references|References about Maintaining and Extending PHP]]. If you don't have the skills to fully implement your RFC and no-one volunteers to code it, there is little chance your RFC will be successful. To learn about PHP core development see [[internals:​references|References about Maintaining and Extending PHP]].
  
-  - Email internals@lists.php.net to measure reaction to your intended proposal. ​Only proceed ​with an RFC if feedback is not negative or if a detailed RFC will clarify the proposal. Mail list subscription is at http://​php.net/​mailing-lists.php. ​+  - Email internals@lists.php.net to measure reaction to your intended proposal. ​State who would implement the feature, or whether the proposal is only a "​concept"​. Proceed ​with an RFC if feedback is not negative or if a detailed RFC will clarify the proposal. Mail list subscription is at http://​php.net/​mailing-lists.php. ​ ​(Reminder:​ always [[http://​php.net/​reST/​README.MAILINGLIST_RULES | "​bottom post"​]] your replies. Never "top post"​.)
   - Get wiki RFC karma (this is only required if you don't have a VCS account for php.net. PHP developers can log on with their credentials and already have the necessary karma to create RFCs):   - Get wiki RFC karma (this is only required if you don't have a VCS account for php.net. PHP developers can log on with their credentials and already have the necessary karma to create RFCs):
       - Register for a wiki account at https://​wiki.php.net/​start?​do=register.       - Register for a wiki account at https://​wiki.php.net/​start?​do=register.
-      - Email php-webmaster@lists.php.net requesting RFC karma for your wiki account. In the email, remind people about the RFC you plan to create.+      - Email php-webmaster@lists.php.net requesting RFC karma for your wiki account. In the email, remind people about the RFC you plan to create. ​Note that RFC karma does not automatically give you karma to vote. See https://​wiki.php.net/​rfc/​voting#​rfc_proposer
   - Create the RFC:   - Create the RFC:
       - Log into the wiki with your wiki account.       - Log into the wiki with your wiki account.
       - Navigate to a URL like https://​wiki.php.net/​RFC/​my_RFC (use your feature name in the URL).        - Navigate to a URL like https://​wiki.php.net/​RFC/​my_RFC (use your feature name in the URL). 
-      - Push the "​Create this page" button, fill out the template and save+      - Push the "​Create this page" button, fill out the supplied [[rfc:template|template]] ​and save.
       - Edit https://​wiki.php.net/​RFC and link your RFC under the "In Draft" status.       - Edit https://​wiki.php.net/​RFC and link your RFC under the "In Draft" status.
       - Write the RFC.       - Write the RFC.
Line 19: Line 19:
     - Change its section on https://​wiki.php.net/​RFC to "Under Discussion"​     - Change its section on https://​wiki.php.net/​RFC to "Under Discussion"​
     - Send email to internals@lists.php.net introducing your RFC.     - Send email to internals@lists.php.net introducing your RFC.
-  - Listen to the feedback, and try to answer/​resolve all questions. ​ Update your RFC to document //all// the issues and discussions. ​ Cover both the positive and negative arguments.+  - Listen to the feedback, and try to answer/​resolve all questions. ​ Update your RFC to document //all// the issues and discussions. ​ Cover both the positive and negative arguments. Put the RFC URL into all your replies.
   - When discussion ends, and a minimum period of two weeks has passed since you mailed internals@lists.php.net in step 4, then you can move your RFC to "​Voting"​ status. ​ There should be //no// open questions in the RFC. Review https://​wiki.php.net/​RFC/​voting#​voting first. Consider whether the feature concept should be voted on before you invest time in implementation. Or perhaps an implementation is needed to show the feature is feasible; in this case make it clear whether or not the current implementation is being voted on.   - When discussion ends, and a minimum period of two weeks has passed since you mailed internals@lists.php.net in step 4, then you can move your RFC to "​Voting"​ status. ​ There should be //no// open questions in the RFC. Review https://​wiki.php.net/​RFC/​voting#​voting first. Consider whether the feature concept should be voted on before you invest time in implementation. Or perhaps an implementation is needed to show the feature is feasible; in this case make it clear whether or not the current implementation is being voted on.
     - Update your RFC page to "​Voting"​ status     - Update your RFC page to "​Voting"​ status
     - Add the doodle voting macro, for example: <​code>​     - Add the doodle voting macro, for example: <​code>​
-    ​<​doodle ​ +<doodle title="​RFC ​name here" auth="your_username_here" voteType="​single" closed="​false">​ 
-      ​title="​RFC/voting" auth="user" voteType="​multi" closed="​false">​ +   ​* Yes 
-      * Yes? +   ​* No 
-      * No? +</​doodle></​code>​
-    </​doodle></​code>​+
     - Move your RFC on https://​wiki.php.net/​RFC to "​Voting"​.     - Move your RFC on https://​wiki.php.net/​RFC to "​Voting"​.
     - Send email to internals@lists.php.net announcing the start of voting for your RFC. Start a new mail thread and put "​[VOTE]"​ in the subject. Set a deadline for voting; the minimum period is one week.     - Send email to internals@lists.php.net announcing the start of voting for your RFC. Start a new mail thread and put "​[VOTE]"​ in the subject. Set a deadline for voting; the minimum period is one week.
   - Based on the result of the votes and the discussion there are three possible outcomes:   - Based on the result of the votes and the discussion there are three possible outcomes:
-    - Your RFC is accepted: update the status of your RFC page and its section on https://​wiki.php.net/​RFC and close the voting ​via changing closed="​false"​ to closed="​true"​ in the voting macro. +    - Your RFC is accepted: update the status of your RFC page and its section on https://​wiki.php.net/​RFC ​to "​Accepted" ​and close the vote via changing closed="​false"​ to closed="​true"​ in the voting macro. When the code is merged, update the RFC and section to state which PHP version the code was merged into.  
-    - Your RFC is declined: update the status of your RFC page and its section on https://​wiki.php.net/​RFC and close the voting ​via changing closed="​false"​ to closed="​true"​ in the voting macro. +    - Your RFC is declined: update the status of your RFC page and its section on https://​wiki.php.net/​RFC ​to "​Declined" ​and close the vote via changing closed="​false"​ to closed="​true"​ in the voting macro. 
-    - A serious issue with your RFC needs to be addressed: ​your RFC goes back to Under Discussion. Update ​the status of your RFC page and its section on https://​wiki.php.net/​RFC and continue from step 5.+    - A serious issue with your RFC needs to be addressed: ​update ​the status of your RFC page and its section on https://​wiki.php.net/​RFC ​to "Under Discussion" ​and continue ​again from step 5. 
 +   - When your feature is implemented in PHP, update the RFC with: 
 +    - the version(s) it was merged to 
 +    - a link to the git commit(s) 
 +    - a link to the PHP manual entry for the feature 
 + 
 + 
 +==== External Resources ==== 
 + 
 +  * [[https://​blogs.oracle.com/​opal/​entry/​the_mysterious_php_rfc_process|The Mysterious PHP RFC Process and How You Can Change the Web]] by [[http://​people.php.net/​user.php?​username=sixd|Christopher Jones (sixd)]]
rfc/howto.txt · Last modified: 2014/01/21 01:14 by ajf