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.