-
Notifications
You must be signed in to change notification settings - Fork 15.1k
Document the community RFC process #116386
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
AaronBallman
wants to merge
6
commits into
llvm:main
Choose a base branch
from
AaronBallman:aballman-rfc-process
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+97
−5
Open
Changes from all commits
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
e7aa3b7
Document the community RFC process
AaronBallman ea449e0
Merge remote-tracking branch 'origin' into aballman-rfc-process
AaronBallman c657da7
Rewordings based on review feedback
AaronBallman 1eacf28
Merge remote-tracking branch 'origin/main' into aballman-rfc-process
AaronBallman f221390
Attempt to address Nikita's feedback
AaronBallman 5ed61fb
Update based on review feedback
AaronBallman File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,84 @@ | ||
| ================================= | ||
| Request For Comment (RFC) process | ||
| ================================= | ||
|
|
||
| .. contents:: | ||
| :local: | ||
| :depth: 1 | ||
|
|
||
| Introduction | ||
| ============ | ||
| Substantive changes to LLVM projects need to be acceptable to the wider | ||
| community, which requires gaining community consensus to adopt the changes. | ||
| This is done by posting an RFC and obtaining feedback about the proposal. | ||
|
|
||
| Process | ||
| ======= | ||
|
|
||
| Writing an RFC | ||
| -------------- | ||
| The process begins with writing a proposal for the changes you'd like to see | ||
| made. The proposal should include: | ||
|
|
||
| * a detailed overview of the proposed changes, | ||
| * the motivation for why the changes are being proposed, | ||
| * the impact on different parts of the project, and | ||
| * any open questions the community should address. | ||
|
|
||
| The proposal should be posted to the appropriate forum on | ||
| `Discourse <https://discourse.llvm.org/>`_. | ||
|
|
||
| Feedback Period | ||
| --------------- | ||
| Once the RFC is posted, the community will provide feedback on the proposal. | ||
| The feedback period is a collaborative effort between the community and the | ||
| proposal authors. Authors should take the community's feedback into | ||
| consideration and edit the original post to incorporate relevant changes they | ||
| agree to. Edits should be made such that it's clear what has changed. Editing | ||
| the original post makes it easier for the community to understand the proposal | ||
| without having to read every comment on the thread, though this can make | ||
| reading the comment thread somewhat more difficult as comments may be referring | ||
| to words no longer in the proposal. | ||
|
|
||
| There is not a set time limit to the feedback period; it lasts as long as | ||
| discussion is actively continuing on the proposal. | ||
|
|
||
| Trivial Acceptance or Rejection | ||
| ------------------------------- | ||
| Some proposals have obvious consensus (for or against) after discussion in the | ||
| community. It is acceptable to presume a post which appears to have obvious | ||
| consensus has been accepted. | ||
|
|
||
| Non-trivial Acceptance or Rejection | ||
| ----------------------------------- | ||
| If the proposal does not have obvious consensus after community discussion, | ||
| a maintainer for each of the impacted parts of the project should explicitly | ||
| accept or reject the RFC by leaving a comment stating their decision and | ||
| possibly detailing any provisions for their acceptance. Overall consensus is | ||
| determined once a maintainer from each impacted part of the project has | ||
| accepted the proposal. | ||
|
|
||
| Low Engagement Level | ||
| ~~~~~~~~~~~~~~~~~~~~ | ||
| If the proposal gets little or no engagement by the community, it is a sign that | ||
| the proposal does not have consensus and is rejected. Engagement means comments | ||
| on the proposal. If there are few or no comments but the are a lot of people | ||
| pressing the like/heart button on the post, maintainers can make a value | ||
| judgement on whether to accept or reject. | ||
|
|
||
| After Acceptance | ||
| ---------------- | ||
| Once an RFC has been accepted, the authors may begin merging pull requests | ||
AaronBallman marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| related to the proposal. While the RFC process typically makes reviewing the | ||
| pull requests go more smoothly, the review process may identify additional | ||
| necessary changes to the proposal. Minor changes to the proposal do not require | ||
| an additional RFC. However, if the proposal changes significantly in a material | ||
| way, the authors may be asked to run another RFC. | ||
|
|
||
| After Rejection | ||
| --------------- | ||
| Any rejected RFC can be brought back to the community as a new RFC in the | ||
| future. The new RFC should either clearly identify new information that may | ||
| change the community's perception of the proposal and/or explicitly address the | ||
| concerns previously raised by the community. It is helpful to explicitly call | ||
| out such information in the subsequent RFC. | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since you wrote this, now we have area teams who are formally responsible for reviewing RFCs to determine if they are wedged. I'd say it's up to the relevant team to make the determination between "no objections, this seems like something obviously good in our judgement, let's do it" or "it seems like there's no interest, and the costs are significant, so we shouldn't do it, unless there's further interest."