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 criteria for requiring an RFC.
- Socialize your idea.
- Draft your RFC using this template.
- Iterate your idea with appropriate stakeholders.
- After stakeholders signoff, email eng-council@fuchsia.dev to prompt the Eng Council to decide whether to accept your RFC.
- 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.
Criteria for requiring an RFC
Criteria for requiring an RFC is detailed in RFC-0001.
The following kinds of changes must use the RFC process.
- Changing the project roadmap
- Adding constraints on future development
- Making project policy
- Changing the system architecture
- Delegating decision-making authority
- Escalations
In addition, changes in the source directories:
/zircon
/src/zircon
/src/bringup
that meet the following criteria must use the RFC process as described in RFC0006: Addendum of the RFC Process for Zircon.
- Adding or removing Zircon system interfaces.
- Changing resource handling behaviors.
- Modifying isolation guarantees.
- Significant changes of performance or memory use.
- Favoring a single platform.
- Adding or Downgrading support for a platform.
- New build configurations.
Process to submit an RFC
Once you are familiarized with the RFC guidelines and area ready to send an RFC proposal for review, see Creating a RFC.
Proposals
Active RFCs
Finalized RFCs
RFC area
Accepted
RFC | Title | Area | Gerrit change |
---|---|---|---|
RFC-0001 RFC-0001 - Fuchsia Request for Comments (RFC) process |
| ||
RFC-0002 RFC-0002 - Fuchsia platform versioning |
| ||
RFC-0003 RFC-0003 - Fuchsia logging guidelines |
| ||
RFC-0004 RFC-0004 - Units of bytes |
| ||
RFC-0005 RFC-0005 - Blobfs snapshots |
| ||
RFC-0006 RFC-0006 - Addendum of the RFC process for Zircon |
| ||
RFC-0007 RFC-0007 - Zircon removal of thread killing |
| ||
RFC-0008 RFC-0008 - Remove zx_clock_get and zx_clock_adjust |
| ||
RFC-0009 RFC-0009 - Edge triggered async_wait |
| ||
RFC-0010 RFC-0010 - zx_channel_iovec_t support for zx_channel_write and zx_channel_call |
zx_channel_iovec_t support for zx_channel_write and zx_channel_call |
| |
RFC-0011 RFC-0011 - zx_object_get_info ZX_INFO_KMEM_STATS_EXTENDED |
| ||
RFC-0012 RFC-0012 - Zircon Discardable Memory |
| ||
RFC-0014 RFC-0014 - Relax zx_fifo_create constraints |
| ||
RFC-0015 RFC-0015 - Fuchsia Compatibility Test Suite (CTS) |
| ||
RFC-0016 RFC-0016 - Boot time page sizes |
|
Rejected
RFC | Title | Area | Gerrit change |
---|