This template is intended to serve as a guideline for what should be included in the typical RFC. Some of this may not be relevant to all RFCs, and that's fine, but it's best to follow this template where possible. (Delete this paragraph from your actual RFC.)
One paragraph explanation of this suggestion. Don't go into too much detail here; that goes in the explanation section. This should just give readers a general idea of what this RFC does.
Why should we do this? What are the benefits?
Explain this change in detail. This section will be different depending on what sort of change it is.
For technical changes, such as changes to APIs, first give an overview of how this proposed change would work. Explain how it would be used, with code examples. Then, give a more in depth explanation of how it would be implemented and how it would interact with other parts of the project and other Quilt projects.
For social changes, such as changes to community guidelines, governance, or the RFC process itself, this section should explain how the new rule or process will work. Be thorough and clear here, so that everyone can have the same understanding of this suggestion.
Why should we not do this?
- Why is this the best possible design?
- What other designs are possible and why should we choose this one instead?
- What other designs have benefits over this one? Why should we choose an alternative instead?
- What is the impact of not doing this?
If this has been done before by some other project, explain it here. This could be positive or negative. Discuss what worked well for them and what didn't.
There may not always be prior art, and that's fine.
- What should be resolved before this RFC gets merged?
- What should be resolved while implementing this RFC?
- What unresolved questions do you consider out of scope for this RFC, that could be addressed in the future?