
Proposals and RFCs
##################

Feature or enhancement proposals for Zephyr are used to propose a new design or
modify an existing feature and get it approved. To better integrate with the
current tools used in the project and to enable traceability and archiving of
such proposals a unified format for enhancement proposals is used.

Procedures
***********

Maintain such proposals in a document format (similar to the documentation
format used in the kernel source tree, using restructured Text) in a GitHub
repository. The review and approval process of GitHub could be used for
approving such proposals as well, so there will be no need for a dedicated tool.

Process
*******

- Open an Improvement GitHub Issue with an abstract and the proposal itself or
  open a pull request with detailed information about the nature of the change
  and the rationale behind it.
- Send an RFC with the abstract to the mailing list with an abstract and the
  link to the detailed proposal
- Approve/Reject/Defer based on feedback and comments
