rfcs/README.md
Vector uses the RFC process to formalize discussion around substantial changes to Vector.
Examples of changes that require a RFC:
Examples of changes that do not require a RFC:
Use the "Scope" section to address out of scope concerns, like future improvements. This signals to the Vector team that you are aware of these concerns but have explicitly chosen to defer them. This not only helps to keep the RFC discussion focused, but also the implementation, resulting in a quicker overall delivery time.
Your job as the RFC author is to navigate the issue at hand and propose an opinionated solution. Ambiguity creates unproductive discussion and should be eliminated while drafting the RFC. This does not mean you need to go at it alone. You are encouraged to investigate and discuss solutions with the Vector team while you draft the RFC, but the end state of the RFC should land on a single recommendation that you are reasonably confident in. Use the "Rationale" section to justify your proposal and the "Alternatives" section to note other solutions you considered. See the FAQ for more info navigating your solution.
rfcs/_YYYY-MM-DD-issue#-title.md template with the appropriate
name. Be sure to use the issue number you created above. (e.g., rfcs/2020-02-10-445-internal-observability.md)Your project should be assigned 1 or more "reviewers" (AKA domain experts). Leverage these people to navigate the appropriate path forward; don't be afraid to involve other Vector team members if necessary. Generally, real-time chats are the most productive way to identify a path forward, and code-level spikes are much more effective at demonstrating intent over conceptual discussions.
This is expected. RFCs are the time to discuss with the Vector team and experiment with code-level spikes. It is not uncommon for RFCs to span one or two sprints, but they should not take longer than two sprints. Generally, if an RFC takes two sprints it involves many cross cutting concerns that result in incremental RFCs.
Barring any substantial changes due to feedback, it should not take longer than a week to obtain consensus. For most RFCs it should only take a few days if reviews are timely. Please nudge your reviewers if they have not reviewed your RFC in 48 hours.