{% include “docs/contribute/governance/rfcs/_common/_rfc_header.md” %}

Fuchsia RFCs

The Fuchsia RFC process is intended to provide a consistent and transparent path for making project-wide, technical decisions. For example, the RFC process can be used to evolve the project roadmap and the system architecture.

The RFC process evolves over time, and can be read here in its detailed current form. It is also summarized below.

Summary of the process

  • Review when to use the process i.e. the criteria for requiring an RFC.
  • Socialize your proposal.
  • Draft your RFC using this template. When ready to iterate, upload your CL and share it broadly to eng-council-discuss@fuchsia.dev. See also creating an RFC and RFC best practices.
  • Iterate on your proposal with appropriate stakeholders.
  • As conversations on your proposal converge, and stakeholders indicate their support (+1 on the CL), or their opposition (-1 on the CL), email eng-council@fuchsia.dev to ask the Eng Council to move your proposal to Last Call.
  • After a waiting period of at least 7 days, the Eng Council will accept or reject your proposal, or ask that you iterate with stakeholders further.
    • If your RFC is accepted, a member of the Eng Council will comment on your change stating that the RFC is accepted, will assign the RFC a number and mark your change Code-Review +2. Your RFC can now be landed.
    • If your RFC is rejected, a member of the Eng Council will draft a rejection rationale with you for inclusion in the RFC.

Summary of the process (deck)

Stay informed

You can configure Gerrit Notifications to email you when new RFCs are uploaded.

Include the docs/contribute/governance/rfcs search expression and select Changes to receive email notifications for each new RFC proposal.

Gerrit settings screenshot demonstratingthe above


Active RFCs

Gerrit link

Finalized RFCs

Accepted {% include “docs/contribute/governance/rfcs/_common/_index_table_header.md” %} {%- for rfc in rfcs | sort(attribute=‘name’) %} {%- if rfc.status == “Accepted” %} {% include “docs/contribute/governance/rfcs/_common/_index_table_body.md” %} {%- endif %} {%- endfor %} {% include “docs/contribute/governance/rfcs/_common/_index_table_footer.md” %}

Rejected {% include “docs/contribute/governance/rfcs/_common/_index_table_header.md” %} {%- for rfc in rfcs | sort(attribute=‘name’) %} {%- if rfc.status == “Rejected” %} {% include “docs/contribute/governance/rfcs/_common/_index_table_body.md” %} {%- endif %} {%- endfor %} {% include “docs/contribute/governance/rfcs/_common/_index_table_footer.md” %}

{# This div is used to close the filter that is initialized above #}