Skip to content

Conversation

@AaronBallman
Copy link
Collaborator

This adds documentation about how the community RFC process works, based on how the community typically runs RFCs. The goal is to roughly document the process as-is and then post a follow-up explaining how the new governance model ties in to the RFC process. From there, we can discuss any changes to the process we would like to make via... an RFC.

This adds documentation about how the community RFC process works,
based on how the community typically runs RFCs. The goal is to roughly
document the process as-is and then post a follow-up explaining how the
new governance model ties in to the RFC process. From there, we can
discuss any changes to the process we would like to make via... an RFC.
Copy link
Collaborator

@dwblaikie dwblaikie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor comments, but I think it's fine roughly as-is if you prefer/as at least a starting point.

Copy link
Collaborator

@rnk rnk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks pretty descriptive of our current practices to me, and writing things down is always better for newcomers.

Copy link
Contributor

@nikic nikic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There should probably be an RFC / discourse thread for this?

At least the acceptance process described here doesn't match existing practice, at least for LLVM. I don't think I've ever seen an LLVM RFC being explicitly accepted or rejected by someone on Discourse. Instead RFCs essentially get accepted by dint of the implementing PR being approved.

I do generally like the idea of making RFC acceptance/rejection more explicit, but I don't think we can frame that as documenting existing practice.

@AaronBallman
Copy link
Collaborator Author

There should probably be an RFC / discourse thread for this?

I think that's the second stage of this where we try to make changes to the existing process to make it better. I worry that a Discourse thread would be unproductive (and an RFC would be confusing as this isn't really trying to propose changes).

At least the acceptance process described here doesn't match existing practice, at least for LLVM. I don't think I've ever seen an LLVM RFC being explicitly accepted or rejected by someone on Discourse. Instead RFCs essentially get accepted by dint of the implementing PR being approved.

I do generally like the idea of making RFC acceptance/rejection more explicit, but I don't think we can frame that as documenting existing practice.

This is the existing practice in Clang, so it can be framed this way to some extent IMO. That said, I can relax the wording to not say "explicit" about acceptance. Would something along the lines of this make you more comfortable?

If the proposal has obvious consensus (for or against), a maintainer for each
of the impacted parts of the project will either explicitly accept or reject the RFC
by leaving a comment stating their decision and possibly detailing any
provisions for their acceptance, or implicitly accept or reject the RFC via the pull
request implementing the proposed changes.

@vbvictor
Copy link
Contributor

vbvictor commented Oct 21, 2025

Hi folks, do we wish to push this PR to main/gather more feedback?
I think this text adds good explanation on when we accept/reject RFC and what are "symptoms" of a rejected RFC.

@AaronBallman
Copy link
Collaborator Author

Hi folks, do we wish to push this PR to main/gather more feedback? I think this text adds good explanation on when we accept/reject RFC and what are "symptoms" of a rejected RFC.

Thank you for reviving this thread, it fell off my radar entirely! I've rebased the PR and made some modifications to hopefully address the concerns from @nikic.

@AaronBallman AaronBallman requested a review from nikic October 23, 2025 14:23
@rnk
Copy link
Collaborator

rnk commented Oct 24, 2025

In #136198 , I rewrote a section of the developer policy to try to cover RFCs. Aaron reviewed it. :) Blame says the original text was by @isanbard , but I retitled the section from "Making a Major Change" to "Proposing Major Changes (RFCs)" to try to capture most of what you added.

I think it's worth splitting our the RFC process into it's own doc, but I want to make sure everything is cross-referenced and to incorporate any ideas or insights I had into the new doc.

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
Copy link
Collaborator

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."

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants