Update RFC process documentation to reflect **RFC 0130: Stalled RFCs** (#142)

The main sections are largely copy+pasted from the RFC text itself. Minor modifications were made to integrate into the existing document.

- Change to future tense to reflect what actions will be taken in each scenario.
- Fix up some links to be relative to this document.
- Update template message to be a codeblock for easy copy+pasting when used.
This commit is contained in:
Kevin Cox 2023-03-08 08:39:55 -05:00 committed by GitHub
parent bee468a730
commit 557d2807fe
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 62 additions and 2 deletions

View file

@ -81,6 +81,39 @@ first get the RFC merged into the RFC repository as a markdown file under the
`rfcs` directory. At that point the RFC is accepted and may be implemented
with the goal of eventual inclusion into Nix or Nixpkgs.*
![RFC Process](./rfcs/0036-rfc-process.png)
```mermaid
graph TD
Start((Start)) --> Draft
Draft -->|Ready for Review| Discuss
style Draft fill:#008,color:#FFF
Discuss[Discuss and Refine]
Discuss ---> |On Hold| Draft
Discuss --> |Can't Find Shepherds| NoShepherds
Discuss --> |Motion for FCP| FCP
NoShepherds[Closed - Lack of Interest]:::closed
NoShepherds --> |Renewed Interest| Discuss
FCP[Final Coment Phase]
FCP --> |FCP Canceled| Discuss
FCP --> |Accept| Merged
FCP --> |Reject| Rejected
Merged
style Merged fill:#080,color:#FFF
Rejected[Closed - Rejected]:::closed
Withdrawn[Closed - Withdrawn]:::closed
Discuss & Draft --->|Author Withdraws| Withdrawn
classDef closed fill:#800,color:#FFF
```
0. Have a cool idea!
1. Fill in the RFC. Put care into the details: RFCs that do not present
convincing motivation, demonstrate understanding of the impact of the design,
@ -148,10 +181,37 @@ with the goal of eventual inclusion into Nix or Nixpkgs.*
circumstances, that are stopping the discussion to come to another decision,
change.
### Unhappy Cases
![RFC Process](./rfcs/0036-rfc-process.png)
![Review Process](./rfcs/0036-review-process.png)
Ideally every RFC will complete review and be accepted or rejected. Unfortunately this can not always be the case. Much like in distributed systems, timeouts are needed to avoid spending resources monitoring tasks that will never complete.
#### On Hold
If the author is unable or unwilling to update the RFC in a timely fashion they may mark an RFC as "On Hold" to indicate that the RFC should not continue to be pushed forward for the time being.
The author can [mark the PR as a Draft](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request#converting-a-pull-request-to-a-draft) and the existing label [status: on hold](https://github.com/NixOS/rfcs/pulls?q=is%3Apr+label%3A%22status%3A+on+hold%22+is%3Aopen) can be applied to the PR by the NixOS RFC Steering Committee for tracking reasons.
RFCs in Draft status will be completely ignored by the NixOS RFC Steering Committee. It is also expected that community members will largely refrain from review until the author has indicated that the RFC is once again ready.
At any point of time the author can either remove the Draft status from the RFC to indicate that they believe that it is ready for additional review and that they have the time to continue the RFC process. Or they can close the RFC to indicate that this RFC is unlikely to to ever move forward.
## Can't Find Shepherds
If an RFC is unable to find an adequate number of shepherds after 1 month of being open, the following message will be added to the PR to suggest ways to find more support:
```markdown
This RFC has not acquired enough shepherds. This typically shows lack of interest from the community. In order to progress [a full shepherd team is required](https://github.com/NixOS/rfcs/#shepherd-team). Consider trying to raise interest by [posting in Discourse](https://discourse.nixos.org/), [talking in Matrix](https://matrix.to/#/#community:nixos.org) or reaching out to people that you know.
If not enough shepherds can be found in the next month we will close this RFC until we can find enough interested participants. The PR can be reopened at any time if more shepherd nominations are made.
[See more info on the Nix RFC process here](https://github.com/NixOS/rfcs/blob/master/README.md)
```
If another month elapses after and a shepherd team still hasn't been assembled the following message will be posted, the `status: insufficient interest` label will be added and the issue will be closed.
```markdown
This RFC is being closed due to lack interest. If enough shepherds are found this issue can be reopened. If you don't have permission to reopen please [open an issue for the NixOS RFC Steering Committee](https://github.com/NixOS/rfc-steering-committee/issues/new) linking to this PR.
```
## The RFC life-cycle

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB