Skip to content

Commit c9dde98

Browse files
authored
Merge pull request #87 from joeyaiello/RFCProcess
first pass of RFC refactor
2 parents e1a123e + 1e6500b commit c9dde98

File tree

1 file changed

+44
-44
lines changed

1 file changed

+44
-44
lines changed

RFC0000-RFC-Process.md

Lines changed: 44 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
---
22
RFC: RFC0000
3-
Author: Steve Lee
3+
Author: Steve Lee, Joey Aiello
44
Status: Draft
55
Area: Process
6-
Version: 1.3.1
6+
Version: 1.4
77
Feedback: https://github.com/PowerShell/PowerShell-Language-RFC/issues/5
88
---
99

@@ -14,7 +14,7 @@ This provides the community an opportunity to provide feedback before code is wr
1414
compatibility.
1515
The complete list of RFCs are available at https://github.com/powershell/powershell-rfc
1616

17-
This process was adapted from the Chef RFC process as well as from DMTF.org process.
17+
This process was adapted from the Chef RFC process as well as from the DMTF.org process.
1818

1919
## Roles
2020

@@ -23,25 +23,26 @@ This process was adapted from the Chef RFC process as well as from DMTF.org proc
2323
(Learn more about the PowerShell Committee [here](https://github.com/PowerShell/PowerShell/blob/master/docs/community/governance.md#powershell-committee).)
2424
* **Committee Member**: An individual member of the PowerShell Committee.
2525

26-
## RFC Naming Convention
26+
## RFC Submission Convention
2727

28-
RFC documents shall follow the naming convention of "RFCNNNN-Title.md".
29-
Authors of RFCs do not assign an RFC number.
30-
When the Pull Request is submitted, ensure `Allow edits from maintainers` is checked so that the Committee can add the RFC number to the draft and also update the title accordingly.
28+
* When submitted, RFC documents shall follow the naming convention of `RFCNNNN-<Title>.md`.
29+
* Authors of RFCs shall not assign the RFC number (leave the `NNNN` in the filename).
30+
* When the Pull Request is submitted, the author shall check `Allow edits from maintainers` so that the Committee can add the RFC number to the draft, update the title, and fix the filename.
3131

3232
## RFC Template
3333

3434
RFC documents shall follow the following template:
3535

3636
```markdown
3737
---
38-
RFC: RFC<four digit unique incrementing number - assigned by Committee>
38+
RFC: RFC<four digit unique incrementing number assigned by Committee, this shall be left blank by the author>
3939
Author: <First Last>
4040
Status: <Draft | Experimental | Accepted | Rejected | Withdrawn | Final>
4141
SupercededBy: <link to another RFC>
4242
Version: <Major>.<Minor>
4343
Area: <Area within the PowerShell language>
4444
Comments Due: <Date for submitting comments to current draft (minimum 1 month)>
45+
Plan to implement: <Yes | No>
4546
---
4647

4748
# Title
@@ -62,59 +63,55 @@ Description and rationale.
6263

6364
## RFC Workflow
6465

65-
RFCs go through applicable stages:
66+
RFCs may go through the following stages:
6667

67-
* Draft
68+
### Draft
69+
70+
This is the initial draft of an RFC posted for comments and considered a work-in-progress.
6871

69-
This is the initial draft of a RFC posted for comments and considered a work-in-progress.
72+
* New proposed drafts should be submitted as a Pull Request from the Author's fork into the `Draft-Accepted` folder.
73+
* The Author shall ensure that the `Allow edits from maintainers` box is checked so that a Committee Member can assign the next RFC number.
74+
* If the Pull Request has followed the correct template and process, a Committee Member will assign the label `Review - Open for comments` to the Pull Request to indicate that anyone can comment on the content of the submission.
75+
Typically, one or two months is allowed for comments, though this may be extended if a submission is particularly contentious or hasn't received enough feedback for the Committee to feel comfortable making a decision.
76+
* When the Committee closes the comment period, the Author should update the RFC and Pull Request with a new commit to address the comments.
77+
* The Committee shall vote to merge or reject the RFC.
78+
Note: the Comittee may be slower to respond to RFCs where the Author has indicated that they do not plan to implement the RFC.
7079

71-
New proposed drafts should be submitted as a Pull Request from the Author's fork.
72-
The Author must ensure that 'Allow edits from maintainers' is checked so that a Committee Member can assign the next RFC number.
80+
### Draft-Accepted
7381

74-
Committee Members also ensure that the RFC adheres to the template and the RFC process before merging the Pull Request.
82+
The PowerShell Committee has reviewed the RFC and comments, and has voted to accept the RFC as a Draft.
7583

76-
After the Pull Request is merged, Maintainers will ask the Author to create an issue for this RFC to collect and respond to feedback on the RFC.
77-
(The Author should create issue so that they get notified of new comments instead of the Committee Member.)
78-
Typically, one or two months is allowed for comments (see `Comments Due` above).
84+
* New comments are not being sought.
85+
* No one has begun implementing the RFC, and there are no current plans to implement the RFC.
86+
In this case, the Comittee will create `up-for-grabs` Issues in the [PowerShell](https://github.com/PowerShell/PowerShell) repository.
7987

80-
At this point, the community discusses the RFC.
88+
### Experimental
8189

82-
After the `Comments Due` date, the Author summarizes the comments, submits a new Pull Request to make the final RFC Draft, and asks the PowerShell Committee to vote.
90+
RFCs in the `Experimental` stage have been accepted by the Committee, and code is being written to provide a working example of the proposed design change to get additional feedback.
8391

84-
Just before voting, the PowerShell Comittee merges the Pull Request.
85-
The PowerShell Committee then votes to accept or reject the RFC Draft.
92+
### Experimental-Accepted
8693

87-
* Draft-Accepted
88-
89-
The PowerShell Committee has reviewed the RFC Draft and comments, and has voted to accept the RFC Draft.
90-
91-
At this point, new comments are not being sought.
92-
93-
No one has begun implementing the RFC, and there are no current plans to implement the RFC.
94-
95-
The community is invited to implement the RFC.
96-
97-
* Experimental
98-
99-
Comments have been reviewed and code is being written to provide an working example of the proposed design change to get further feedback.
94+
Feedback from the experimental implementation and RFC have been reviewed.
10095

101-
* Experimental-Accepted
96+
Because this working prototype already exists in preview builds available on GitHub, the community provide feedback on the implementation as issues in the [PowerShell/PowerShell repository](https://github.com/powershell/powershell)
10297

103-
Feedback from the experimental implementation and RFC have been reviewed.
104-
Engineering team will work towards final implementation in code to match the RFC.
98+
As the engineering team or code contributor works towards a final implementation, they should submit pull requests to PowerShell-RFC in order to keep the RFC in sync with the implementation.
99+
These pull requests shall be reviewed and accepted by the Committee, but a formal vote is not necessary.
100+
The Committee should merely confirm that the changes in the RFC match the working implementation.
105101

106-
* Rejected
102+
### Rejected
107103

108-
Based on community feedback, this RFC was decided to not proceed any further.
104+
RFCs in the `Rejected` state were rejected by the Committee who decided not to proceed further.
109105

110-
* Withdrawn
106+
### Withdrawn
111107

112-
Author has decided not to pursue this RFC any further
108+
RFCs in the `Withdrawn` state were rescinded by the RFC Author.
113109

114-
* Final
110+
### Final
115111

116-
Design and implementation is considered complete.
117-
Any proposed changes would be through a new RFC.
112+
RFCs in the `Final` state are considered fully complete and implemented in PowerShell.
113+
Any proposed changes should be made through a new RFC or via an Issue in the [PowerShell/PowerShell repository](https://github.com/powershell/powershell).
114+
New RFCs should reference old RFCs where applicable.
118115

119116
## History
120117
v1.1 - 5-20-2016 - Updated to enable RFCs for design changes that don't require code changes.
@@ -125,3 +122,6 @@ v1.2 - 8-18-2016 - Open submitting RFCs to the community and update formatting.
125122
v1.3 - 9-26-2016 - Added Withdrawn stage. Comments Due field to template. Updated guidance on RFC numbering.
126123

127124
v1.3.1 - 3-22-2017 - Cleaned up language and made explicit clarifications to process
125+
126+
v1.4 - 3-31-2017 - Revised the RFC process to leverage pull requests for comments instead of issues.
127+
Continued cleanup of language and formatting.

0 commit comments

Comments
 (0)