Making Change Less Scary with RFCs
What is an RFC?
RFC stands for “request for comments.”
- It is a process for a consistent and controlled path for contributing new ideas.
- Commonly adopted in open source (React, Rust, etc.)
Why RFCs?
Allow you to democratize how you make decisions in an open, repeatable process.
RFCs are for everyone!
- Anyone can submit
- Anyone can implement
- Can be used by teams
- Can be used across teams
What makes a good RFC?
Ideas that would benefit from additional review or design are great RFC candidates.
The Process
You already do it…
The Process
- Create an RFC document detailing your proposal.
- Submit a PR to the RFC repository❗❗❗
- Incorporate feedback into the proposal
- After discussion, the core team may or may not accept the RFC.
- If the RFC is accepted, the PR is merged
The Components
The legos that make an RFC
The Components
- Summary - One paragraph explainer
- Motivation - The what and the why
- Detailed design - Implementation details
- Drawbacks - why not do this?
- Rationale & alternatives - impact of not implementing
- Unresolved questions - WIP
Example
Futures over Streams
Additional reading
Making Change Less Scary
By Ryan Edge
Making Change Less Scary
- 132