Skip to content

Commit 942e4a3

Browse files
keith-zephyrcarlescufi
authored andcommitted
docs: Move RFCs into a separate document
The RFC proposal documentation better belongs with the other documentation related to contributing to the Zephyr project. Signed-off-by: Keith Short <[email protected]>
1 parent 34165a3 commit 942e4a3

File tree

3 files changed

+56
-56
lines changed

3 files changed

+56
-56
lines changed

doc/contribute/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ Contributing to Zephyr
88

99
guidelines.rst
1010
contributor_expectations.rst
11+
proposals_and_rfcs.rst
1112
coding_guidelines/index.rst
1213
documentation/index.rst
1314
external.rst
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
.. _rfcs:
2+
3+
Proposals and RFCs
4+
##################
5+
6+
Many changes, including bug fixes and documentation improvements can be
7+
implemented and reviewed via the normal GitHub pull request workflow.
8+
9+
Many changes however are "substantial" and need to go through a
10+
design process and produce a consensus among the project stakeholders.
11+
12+
The "RFC" (request for comments) process is intended to provide a consistent and
13+
controlled path for new features to enter the project.
14+
15+
Contributors and project stakeholders should consider using this process if
16+
they intend to make "substantial" changes to Zephyr or its documentation. Some
17+
examples that would benefit from an RFC are:
18+
19+
- A new feature that creates new API surface area, and would require a feature
20+
flag if introduced.
21+
- The modification of an existing stable API.
22+
- The removal of features that already shipped as part of Zephyr.
23+
- The introduction of new idiomatic usage or conventions, even if they do not
24+
include code changes to Zephyr itself.
25+
26+
The RFC process is a great opportunity to get more eyeballs on proposals coming
27+
from contributors before it becomes a part of Zephyr. Quite often, even
28+
proposals that seem "obvious" can be significantly improved once a wider group
29+
of interested people have a chance to weigh in.
30+
31+
The RFC process can also be helpful to encourage discussions about a proposed
32+
feature as it is being designed, and incorporate important constraints into the
33+
design while it's easier to change, before the design has been fully
34+
implemented.
35+
36+
Some changes do not require an RFC:
37+
38+
- Rephrasing, reorganizing or refactoring
39+
- Addition or removal of warnings
40+
- Addition of new boards, SoCs or drivers to existing subsystems
41+
- ...
42+
43+
The process in itself consists in creating a GitHub issue with the :ref:`RFC
44+
label <gh_labels>` that documents the proposal thoroughly. There is an `RFC
45+
template`_ included in the main Zephyr GitHub repository that serves as a
46+
guideline to write a new RFC.
47+
48+
As with Pull Requests, RFCs might require discussion in the context of one of
49+
the `Zephyr meetings`_ in order to move it forward in cases where there is
50+
either disagreement or not enough voiced opinions in order to proceed. Make sure
51+
to either label it appropriately or include it in the corresponding GitHub
52+
project in order for it to be examined during the next meeting.
53+
54+
.. _`RFC template`: https://github.com/zephyrproject-rtos/zephyr/blob/main/.github/ISSUE_TEMPLATE/rfc-proposal.md
55+
.. _`Zephyr meetings`: https://github.com/zephyrproject-rtos/zephyr/wiki/Zephyr-Committee-and-Working-Group-Meetings

doc/project/proposals.rst

Lines changed: 0 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -60,59 +60,6 @@ by any project member or the community. You should contact an assigned owner if
6060
you'd like to discuss or contribute to that feature's implementation
6161

6262

63-
.. _rfcs:
64-
65-
Proposals and RFCs
66-
*******************
67-
68-
Many changes, including bug fixes and documentation improvements can be
69-
implemented and reviewed via the normal GitHub pull request workflow.
70-
71-
Many changes however are "substantial" and need to go through a
72-
design process and produce a consensus among the project stakeholders.
73-
74-
The "RFC" (request for comments) process is intended to provide a consistent and
75-
controlled path for new features to enter the project.
76-
77-
Contributors and project stakeholders should consider using this process if
78-
they intend to make "substantial" changes to Zephyr or its documentation. Some
79-
examples that would benefit from an RFC are:
80-
81-
- A new feature that creates new API surface area, and would require a feature
82-
flag if introduced.
83-
- The modification of an existing stable API
84-
- The removal of features that already shipped as part of Zephyr.
85-
- The introduction of new idiomatic usage or conventions, even if they do not
86-
include code changes to Zephyr itself.
87-
88-
The RFC process is a great opportunity to get more eyeballs on proposals coming
89-
from contributors before it becomes a part of Zephyr. Quite often, even
90-
proposals that seem "obvious" can be significantly improved once a wider group
91-
of interested people have a chance to weigh in.
92-
93-
The RFC process can also be helpful to encourage discussions about a proposed
94-
feature as it is being designed, and incorporate important constraints into the
95-
design while it's easier to change, before the design has been fully
96-
implemented.
97-
98-
Some changes do not require an RFC:
99-
100-
- Rephrasing, reorganizing or refactoring
101-
- Addition or removal of warnings
102-
- Addition of new boards, SoCs or drivers to existing subsystems
103-
- ...
104-
105-
The process in itself consists in creating a GitHub issue with the :ref:`RFC
106-
label <gh_labels>` that documents the proposal thoroughly. There is an `RFC
107-
template`_ included in the main Zephyr GitHub repository that serves as a
108-
guideline to write a new RFC.
109-
110-
As with Pull Requests, RFCs might require discussion in the context of one of
111-
the `Zephyr meetings`_ in order to move it forward in cases where there is
112-
either disagreement or not enough voiced opinions in order to proceed. Make sure
113-
to either label it appropriately or include it in the corresponding GitHub
114-
project in order for it to be examined during the next meeting.
115-
11663
Roadmap and Release Plans
11764
*************************
11865

@@ -157,6 +104,3 @@ and main stakeholders of the project can make progress on.
157104

158105
Items labeled as ``features`` are short or long term release items that shall
159106
have an assignee and a milestone set.
160-
161-
.. _`RFC template`: https://github.com/zephyrproject-rtos/zephyr/blob/main/.github/ISSUE_TEMPLATE/rfc-proposal.md
162-
.. _`Zephyr meetings`: https://github.com/zephyrproject-rtos/zephyr/wiki/Zephyr-Committee-and-Working-Group-Meetings

0 commit comments

Comments
 (0)