Skip to content

Commit 81d3ed7

Browse files
julienrfPhilippusSethTisue
authored
Introduce SIP Manager role (#2832)
Co-authored-by: Philippus Baalman <[email protected]> Co-authored-by: Seth Tisue <[email protected]>
1 parent 12c3de3 commit 81d3ed7

File tree

1 file changed

+16
-10
lines changed

1 file changed

+16
-10
lines changed

_sips/process-specification.md

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@ from an idea to the inclusion in the language.
4848
- SIP Reviewers: a subset of Committee Members assigned by the Chairperson to
4949
review in detail a particular SIP. The same person cannot be both a SIP Author
5050
and a SIP Reviewer for the same SIP.
51+
- SIP Manager: one of the SIP Reviewers who is responsible for all the
52+
communications related to the SIP, throughout its entire life-cycle. This includes requesting a vote on the SIP from the whole Committee, presenting the SIP to the Committee at the plenary meetings, merging or closing the corresponding PR, reporting to the community on the vote outcome, and announcing when it is available for testing.
5153

5254
## Stages
5355

@@ -127,8 +129,9 @@ To submit a SIP, a SIP Author writes a pull request to the
127129
repository, following the [tutorial]({% link _sips/sip-tutorial.md %}), and
128130
pointing to the Pre-SIP discussion. If the proposal correctly follows the
129131
template, and the Pre-SIP discussion seems to show some community support,
130-
the Chairperson will accept the SIP for review, assign a SIP number, and assign
131-
3 reviewers to the SIP among the Committee Members. Since "community support" is
132+
the Chairperson will accept the SIP for review, assign a SIP number, assign
133+
3 reviewers to the SIP among the Committee Members, and assign one of the reviewers
134+
to be the Manager of that SIP. Since "community support" is
132135
loosely defined, any Committee Member can also comment on the PR to accept the
133136
SIP for review (this is meant mostly as an escape hatch to prevent the
134137
Chairperson from unilaterally blocking a SIP from entering the process). From
@@ -169,7 +172,7 @@ After each request for a new review, the reviewers have 3 weeks to do another
169172
round.
170173

171174
When the reviewers are confident that the SIP is in good shape to be discussed
172-
with the full Committee, they set its status to "Vote Requested" and decide on a
175+
with the full Committee, the Manager sets its status to "Vote Requested" and decide on a
173176
Vote Recommendation that they will bring to the Committee. A Vote Recommendation
174177
is either "Recommend Accept" or "Recommend Reject". The proposal is then
175178
scheduled on the agenda of the next Committee meeting (which happens once a
@@ -183,7 +186,7 @@ the SIP will automatically be considered to be Withdrawn.
183186

184187
### Design Stage -- Vote
185188

186-
During the Committee meeting, the reviewers of any scheduled SIP present the SIP
189+
During the Committee meeting, the Managers of any scheduled SIP present the SIP
187190
to the Committee, their recommendation, and explain why they made that
188191
recommendation. After discussion, the Committee votes for advancing the SIP to
189192
the Implementation Stage. There are three possible outcomes:
@@ -203,11 +206,13 @@ must gather strictly more than 50% of "Advance" votes among the whole Committee.
203206

204207
For instance, if the Committee is made of 11 members, at least 6 members have to vote "Advance" for the SIP to move to the next stage.
205208

206-
If there was a strict majority in favor of "Advance", the PR for the SIP is Merged at this point.
209+
If there was a strict majority in favor of "Advance", the PR for the SIP is Merged at this point by its Manager.
207210
Otherwise, a second vote between
208211
Reject and Keep will be used. A proposal needs more than 50% "Reject" votes to
209212
be rejected in that case. Otherwise, it is kept.
210213

214+
The SIP Manager shares the outcome of the vote with the community by posting a comment to proposal’s Pre-SIP discussion.
215+
211216
### Implementation Stage
212217

213218
Once in the implementation stage, the Committee is not concerned with the SIP
@@ -216,16 +221,16 @@ The SIP is now a recommendation for the compiler team or any other individual or
216221
group of people to provide an implementation of the proposal, as a pull request
217222
to the Scala 3 compiler repository. There is no set timeline for this phase.
218223

219-
An implementation will be reviewed by the compiler team, and once the
220-
implementation is deemed good enough, it can ship as an Experimental feature in
221-
the following practical release of the compiler.
222-
223224
Often, proposals not only need to be implemented in the compiler, but also in
224225
several other tools (IDEs, syntax highlighters, code formatters, etc.). As soon
225-
as a proposal reaches the implementation stage, the Committee notifies the
226+
as a proposal reaches the implementation stage, the Chairperson notifies the
226227
impacted tools that they should start implementing support for it. A list of
227228
tools of the ecosystem is maintained in [this document][tooling ecosystem].
228229

230+
An implementation will be reviewed by the compiler team, and once the
231+
implementation is deemed good enough, it can ship as an Experimental feature in
232+
the next release of the compiler where it's practical to do so. At that point, the SIP Manager posts a follow-up comment on the Pre-SIP discussion to invite the community to test the feature and provide feedback.
233+
229234
The implementers may hit challenges that were not foreseen by the Committee.
230235
Early users may also provide feedback based on practical experience with the
231236
Experimental feature. This feedback can be sent back to the Committee by
@@ -299,6 +304,7 @@ If a Committee Member cannot attend a meeting, they are welcome to share their f
299304
4. Explain the latest progress in every meeting.
300305
- Play a role in the discussions, learn in advance about the topic if needed,
301306
and make up their mind in the voting process.
307+
- Establish communication channels with the community to share updates about the evolution of proposals and collect feedback.
302308

303309
### Guests
304310

0 commit comments

Comments
 (0)