Squarespace
Squarespace

RFC Template

We rewrote our RFC template to give more opinionated guidance on what the RFCs should include.

RFC Template

RFC:​ ​Title Here

Delete notes in italics. Remove sections that are not applicable.

Primary author(s):​ ​who owns this document and should be contacted about it? Collaborators:​ ​anyone who contributed but isn’t a primary author.

Created:​ date

Last updated:​ ​date

Approver(s):

Nameyes | not yetDate













Other reviewer(s):​ ​people whose comments would be helpful but who don’t need to approve.

Overview:

If someone only reads this far, what do you want them to know?

Goals and Non-Goals:

What problems are you trying to solve? What problems are you not trying to solve?

Background & Motivation:

What is the current state of the world? Why is this change being proposed?

Define any key terms or internal names here.

Design:

What exactly are you doing? Include architecture and process diagrams.

This is typically the longest part of the RFC.

Timeline:

What is the proposed timeline for the implementation?

Dependencies:

What existing internal and external systems does this one depend on? How will it use them?

Alternatives Considered/Prior Art:

What other approaches did you consider? What existing solutions are close but not quite right? How will this project replace or integrate with the alternatives?

Operations:

Are you adding any new regular human processes or extra work for any teams? If this is a new system, who will run it?

Security/Privacy/Compliance:

What security/privacy/compliance aspects should be considered?

If you're not certain, never assume there aren’t any. Always talk to the security team.

Risks:

What known risks exist? What factors may complicate your project?

Include: security, complexity, compatibility, latency, service immaturity, lack of team expertise, etc.

Revisions:

  1. RFC Created
  2. Update for major changes, including status changes.


We rewrote our RFC template to give more opinionated guidance on what the RFCs should include.
Related examples in RFCs
Meetup
Meetup
An RFC for RFCs
HashiCorp
HashiCorp
RFC: Standard Communication Tools