Skip to content

Commit 6a39282

Browse files
committed
RFC 1: clarify RFC lifecycle
1 parent c780e61 commit 6a39282

File tree

1 file changed

+43
-7
lines changed

1 file changed

+43
-7
lines changed

rfcs/RFC-001-RFC-process.rst

Lines changed: 43 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
- Submit Date: 2023-11-13
44
- Authors: Alexander Zaft <[email protected]>, Enrico Faulhaber
55
6-
- Type: Meta/Protocol
6+
- Type: Meta
77

88
Summary
99
=======
@@ -22,28 +22,64 @@ the Rust and Python communities. It is intended to be lightweight, but still
2222
provide a frame to handle suggestions in a structured manner.
2323

2424

25-
The Process
26-
===========
25+
Lifecycle of an RFC
26+
===================
2727

28-
Here we will lay out the steps to follow to change the specification.
28+
1. An RFC starts as a pull request against the SECoP GitHub repository.
29+
30+
2. First discussion happens in the form of comments on that pull request, and/or
31+
in committee meetings.
32+
33+
It is encouraged to start adding the new feature to SECoP implementations to
34+
collect real-life experience and uncover unexpected problems.
35+
36+
3. As soon as it is agreed that the idea has merit and a chance to be accepted,
37+
it gets assigned an RFC number and the pull request is merged.
38+
39+
4. The RFC stays in state "Open" and can be further discussed. Real-life test
40+
implementation continues.
41+
42+
It is encouraged to start early on updating the specification to include
43+
changes from the RFC. The link to the pull request is added to the "PR"
44+
header.
45+
46+
5. When the committee feels the RFC is in a satisfactory state, it moves the RFC
47+
to the "Accepted" state. At this point, the pull request to the
48+
specification must be done. This starts a finalization period of usually a
49+
month.
50+
51+
6. If no further objections are noted during this period, the RFC is moved to
52+
the "Final" state, otherwise back to "Open".
53+
54+
7. Alternately, if the committee at any point feels the RFC is not viable, it is
55+
moved to the "Rejected" state.
56+
57+
58+
How to contribute
59+
=================
60+
61+
Here we lay out the steps to follow to change the specification.
2962

3063
- If you do not have a concrete idea, come talk to us to flesh it out.
3164
- Copy the RFC-000-template.rst file and fill in the details. You can add
3265
sections freely, but try to fill out all the provided ones.
33-
- Take the next free number and add it to the template file.
66+
- Take the next free number and add it to the template file. Renumbering might
67+
happen when the PR is merged.
3468
- The RFC gets discussed - this should mostly happen under the RFC pull request.
3569
If not, please add a summary if possible. Optimally, an implementation will
3670
already be done at this stage in one or more of the SECoP implementations in
3771
order to uncover possible problems.
72+
- If the proposal is sound enough and has general approval, the RFC PR is merged.
73+
Further discussion can and should of course happen.
3874
- There may be irreconcilable problems with the RFC. In that case, the committee
3975
can decide to reject the RFC, and it may not be reopened. If there are new
4076
developments, or a new approach, a new RFC should be opened.
4177
- If the RFC is in a satisfactory state, any of the SECoP committee members can
4278
propose to move to the finalization period. This is a limited time of one
4379
month. The RFC is broadcast on the appropriate channels to notify people of
4480
the last chance to comment. If there are blocking issues uncovered in this
45-
period, it moves back to being under development. If no major issues come up
46-
during the month, the RFC is accepted.
81+
period, it moves back to Open. If no major issues come up during the month,
82+
the RFC is made Final.
4783

4884

4985
If you never used GitHub/Need Help

0 commit comments

Comments
 (0)