-
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
base: main
Are you sure you want to change the base?
Changes from 5 commits
e7aa3b7
ea449e0
c657da7
1eacf28
f221390
5ed61fb
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| 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 has 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 a proposal gets little or no engagement by the community, it is a sign that | ||
AaronBallman marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| 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 | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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." |
||
| 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. | ||
Uh oh!
There was an error while loading. Please reload this page.