From 1f22dfd8cc3daeef54f44d74d0f771899b8fb774 Mon Sep 17 00:00:00 2001 From: jvican Date: Thu, 24 Nov 2016 11:03:15 +0100 Subject: [PATCH 1/4] Add the new voting rules of the SIP Process --- sips/sip-submission.md | 42 +++++++++++++++++++++++++++++++++++++----- 1 file changed, 37 insertions(+), 5 deletions(-) diff --git a/sips/sip-submission.md b/sips/sip-submission.md index 0ba854c914..d273db81fe 100644 --- a/sips/sip-submission.md +++ b/sips/sip-submission.md @@ -223,15 +223,47 @@ becomes the reviewer. The main tasks of the reviewer are the following: ### Voting The Committee will only vote on proposals if Committee members have the quorum. -The quorum is two thirds (2/3) out of the total number of members. +The quorum is two thirds (2/3) out of the total number of members. If the quorum +is not reached, the meeting will be rescheduled. -For a SIP to be accepted, it must fulfill two requirements: +For a SIP to be accepted, it must fulfill three requirements: -- 70% of the quorum votes in favor of it. +- At least 50% of **all** the Committee members vote in favor. +- At least two thirds of the voting members vote in favor. - Martin Odersky does not veto it. -Please, note that **abstentions are not allowed**, Committee members need to -vote either yes or no. +On an important note, the two-thirds rule is equivalent to the number of votes +in favor being at least twice the number of votes against. Abstentions are +excluded in calculating a two-thirds vote. + +The deadline to vote a proposal is decided on a case-by-case basis. Members of +the Committee can vote after the meeting if their vote is casted via email to +the SIP Process Lead before the deadline. The deadline will be decided by the +Committee members present at the last meeting and the SIP Process Lead, and +will be made public right after the meeting. + +#### Examples + +Several voting situations are explained next. + +All of them assume that there are 9 Committee members and that the quorum is +reached. The 50% rule enforces that the vote must be equal or greater than 50% +of *all* the Committee Members (9), which is 5. The second rule requires that +2/3 of the voting members are in favor (without counting abstentions). We also +assume that Martin does not use veto them. + +| In favor | Against | Abstentions | Voting members | Result | +| -------- | ------- | ----------- | -------------- | ------ | +| 6 | 2 | 1 | 8 | Proposal accepted | +| 5 | 3 | 1 | 8 | Proposal rejected | +| 5 | 2 | 2 | 7 | Proposal accepted | + +In the first situation, the proposal is accepted because 6 is greater than the +50% (5) and more than twice the votes against (2). In the second situation, the +proposal passes the 50% rule but fails the two thirds rule since 5 is not 6 +(twice the number of votes against, 3). In the third situation, the proposal is +accepted because 5 is equal to 50% of all the Committee members and is twice the +number of votes against (2). ### Responsibilities of the members From 337ef82626eb044bcb8d2b5332e4edda75092371 Mon Sep 17 00:00:00 2001 From: Dale Wijnand Date: Fri, 25 Nov 2016 09:53:53 +0000 Subject: [PATCH 2/4] SIP Submission: minor fixups --- sips/sip-submission.md | 42 ++++++++++++++++++++---------------------- 1 file changed, 20 insertions(+), 22 deletions(-) diff --git a/sips/sip-submission.md b/sips/sip-submission.md index d273db81fe..56ef8f29c5 100644 --- a/sips/sip-submission.md +++ b/sips/sip-submission.md @@ -72,7 +72,6 @@ Within two weeks after your submission of the pre-SIP to the mailing list, the Process Lead will intervene and advise you whether your idea can be submitted as a SIP or needs more work. - ### Submission After receiving the green light from the Process Lead, you can write up your @@ -103,7 +102,7 @@ accepted for review: assigned a reviewer and scheduled for formal presentation. During the next available SIP Committee meeting, the appointed reviewer presents the SIP to the committee and kick starts the initial discussion. -If the Committee agrees that following through the SIP is a good idea, then the +If the committee agrees that following through the SIP is a good idea, then the following happens: 1. The SIP is assigned a number. @@ -161,22 +160,22 @@ cannot be merged under a flag, the compiler maintainers will merge it directly. The SIP process involves the following parties: -1. The SIP Authors -2. The Process lead +1. The SIP Author(s) +2. The Process Lead 3. The SIP Committee -### The SIP Authors +### The SIP Author(s) Authors are responsible for building consensus within the community and documenting dissenting opinions before the SIP is officially discussed by the -SIP committee. Their goal is to convince the committee that their proposal is +SIP Committee. Their goal is to convince the committee that their proposal is useful and addresses pertinent problems in the language as well as interactions -with already existing features. Authors can change over the lifecycle of the +with already existing features. Authors can change over the life-cycle of the SIP. -### The Process lead +### The Process Lead -The Process lead is the responsible of the smooth running of SIPs and SLIPs. He +The Process Lead is the responsible of the smooth running of SIPs and SLIPs. He or she appoints the committee members, calls the meetings monthly, assigns new proposals to the members, and ensures that all of them are discussed within a short period of time. @@ -206,7 +205,7 @@ The current committee members are: - Josh Suereth ([@jsuereth](https://github.com/jsuereth)), Google - Iulian Dragos ([@dragos](https://github.com/dragos)), independent -The current process lead is: +The current Process Lead is: - Jorge Vicente Cantero ([@jvican](https://github.com/jvican)), Scala Center @@ -222,13 +221,13 @@ becomes the reviewer. The main tasks of the reviewer are the following: ### Voting -The Committee will only vote on proposals if Committee members have the quorum. +The committee will only vote on proposals if committee members have the quorum. The quorum is two thirds (2/3) out of the total number of members. If the quorum is not reached, the meeting will be rescheduled. For a SIP to be accepted, it must fulfill three requirements: -- At least 50% of **all** the Committee members vote in favor. +- At least 50% of **all** the committee members vote in favor. - At least two thirds of the voting members vote in favor. - Martin Odersky does not veto it. @@ -237,18 +236,18 @@ in favor being at least twice the number of votes against. Abstentions are excluded in calculating a two-thirds vote. The deadline to vote a proposal is decided on a case-by-case basis. Members of -the Committee can vote after the meeting if their vote is casted via email to +the committee can vote after the meeting if their vote is cast via email to the SIP Process Lead before the deadline. The deadline will be decided by the -Committee members present at the last meeting and the SIP Process Lead, and +committee members present at the last meeting and the SIP Process Lead, and will be made public right after the meeting. #### Examples Several voting situations are explained next. -All of them assume that there are 9 Committee members and that the quorum is +All of them assume that there are 9 committee members and that the quorum is reached. The 50% rule enforces that the vote must be equal or greater than 50% -of *all* the Committee Members (9), which is 5. The second rule requires that +of *all* the committee members (9), which is 5. The second rule requires that 2/3 of the voting members are in favor (without counting abstentions). We also assume that Martin does not use veto them. @@ -262,12 +261,12 @@ In the first situation, the proposal is accepted because 6 is greater than the 50% (5) and more than twice the votes against (2). In the second situation, the proposal passes the 50% rule but fails the two thirds rule since 5 is not 6 (twice the number of votes against, 3). In the third situation, the proposal is -accepted because 5 is equal to 50% of all the Committee members and is twice the +accepted because 5 is equal to 50% of all the committee members and is twice the number of votes against (2). ### Responsibilities of the members -- Review the proposals they are assigned to. The process lead will always notify +- Review the proposals they are assigned to. The Process Lead will always notify them two weeks in advance, at minimum. - Play a role in the discussions, learn in advance about the topic if needed, and make up their mind in the voting process. @@ -284,12 +283,12 @@ the current state of the proposal, both its design and implementation. ## Proposal states The state of a proposal changes over time depending on the phase of the process -and the decisions taken by the Committee. A given proposal can be in one of +and the decisions taken by the committee. A given proposal can be in one of several states: 1. **Validated:** The Process Lead has validated the proposal and checked that meets all the formal requirements. -2. **Numbered:** The Committee agrees that the proposal is a valid document and +2. **Numbered:** The committee agrees that the proposal is a valid document and it’s worth considering it. Then, the Process Lead gives it a number. 3. **Awaiting review:** The proposal has been scheduled to be reviewed for a concrete date. @@ -299,7 +298,7 @@ be under review until the next available SIP meeting takes place. committee or working on the implementation. 6. **Dormant:** When a SIP has been under revision for more than two iterations and no progress has been made, the Process Lead will mark it as dormant (note - that the Committee does not have such privilege). This status means that the + that the committee does not have such privilege). This status means that the Process Lead will not assign its review in future meetings until authors provide the requested feedback or progress. Also, authors can also mark their proposals as dormant, and they are encouraged to do so if they think they @@ -322,4 +321,3 @@ The process to submit is simple: * Create a link to your SIP in the "pending sips" section of `index.md` * Commit your changes to your forked repository * Create a new [pull request](https://github.com/scala/scala.github.com/pull/new/gh-pages). This will notify the Scala SIP team. - From c70bfc00dd40f3c8ea519fba6ffd7eda439d22d1 Mon Sep 17 00:00:00 2001 From: Dale Wijnand Date: Fri, 25 Nov 2016 10:31:33 +0000 Subject: [PATCH 3/4] SIP Submission: Reword voting, split off meeting section --- sips/sip-submission.md | 71 +++++++++++++++++++++++------------------- 1 file changed, 39 insertions(+), 32 deletions(-) diff --git a/sips/sip-submission.md b/sips/sip-submission.md index 56ef8f29c5..418ed82477 100644 --- a/sips/sip-submission.md +++ b/sips/sip-submission.md @@ -219,50 +219,57 @@ becomes the reviewer. The main tasks of the reviewer are the following: 3. Provide them feedback from the discussions in the meetings, and 4. Explain the latest progress in every meeting. +### SIP meetings + +SIP meetings are scheduled montly by the Process Lead, and require a quorum of +two-thirds (2/3) of the committee members. If the quorum is not reached the +meeting is rescheduled. + ### Voting -The committee will only vote on proposals if committee members have the quorum. -The quorum is two thirds (2/3) out of the total number of members. If the quorum -is not reached, the meeting will be rescheduled. +All SIP Committee members vote. They can either vote in the meeting or by +casting their vote via email to the SIP Process Lead before the set deadline. -For a SIP to be accepted, it must fulfill three requirements: +SIP Committee members can vote "in favor", "against" or "abstain". -- At least 50% of **all** the committee members vote in favor. -- At least two thirds of the voting members vote in favor. +For a SIP to be accepted, the following three requirements must be met: + +- At least 50% of the committee members vote in favor. +- There are at least two-thirds "in favor" versus "against" votes. - Martin Odersky does not veto it. -On an important note, the two-thirds rule is equivalent to the number of votes -in favor being at least twice the number of votes against. Abstentions are -excluded in calculating a two-thirds vote. +An alternative way to think of the two-thirds requirement is that the number of +votes in favor must be at least twice the number of votes against. Abstentions +are excluded in calculating a two-thirds vote. + +Note that, when calculating the lower bound, numbers round up. Therefore for a +committee of 9 members, at least 50% means at least 5 members. -The deadline to vote a proposal is decided on a case-by-case basis. Members of -the committee can vote after the meeting if their vote is cast via email to -the SIP Process Lead before the deadline. The deadline will be decided by the -committee members present at the last meeting and the SIP Process Lead, and -will be made public right after the meeting. +The deadline to vote a proposal is decided on a case-by-case basis. The deadline +will be decided by the committee members present at the last meeting and the SIP +Process Lead, and will be made public right after the meeting. #### Examples Several voting situations are explained next. -All of them assume that there are 9 committee members and that the quorum is -reached. The 50% rule enforces that the vote must be equal or greater than 50% -of *all* the committee members (9), which is 5. The second rule requires that -2/3 of the voting members are in favor (without counting abstentions). We also -assume that Martin does not use veto them. - -| In favor | Against | Abstentions | Voting members | Result | -| -------- | ------- | ----------- | -------------- | ------ | -| 6 | 2 | 1 | 8 | Proposal accepted | -| 5 | 3 | 1 | 8 | Proposal rejected | -| 5 | 2 | 2 | 7 | Proposal accepted | - -In the first situation, the proposal is accepted because 6 is greater than the -50% (5) and more than twice the votes against (2). In the second situation, the -proposal passes the 50% rule but fails the two thirds rule since 5 is not 6 -(twice the number of votes against, 3). In the third situation, the proposal is -accepted because 5 is equal to 50% of all the committee members and is twice the -number of votes against (2). +All of them assume that there are 9 committee members. The 50% requirement +requires at least 5 members to vote in favor. We also assume that Martin does +not veto them. + +| In favor | Against | Abstentions | Voting members | Result | +| -------- | ------- | ----------- | -------------- | ------------ | +| 6 | 2 | 1 | 8 | Accepted | +| 5 | 3 | 1 | 8 | Not Accepted | +| 5 | 2 | 2 | 7 | Accepted | + +In the first situation, the proposal is accepted because 6 is both greater than +the 50% (5) and more than twice the votes against (2). In the second situation, +the proposal meets the 50% requirement but fails the two-thirds requirement +since 5 is less than twice the number of votes against, 3, therefore the +proposal is not accepted. In the third situation, the proposal is accepted +because 5 is equal to 50% of all the committee members and is greater than twice +the number of votes against (2). ### Responsibilities of the members From 79d860c8d98c48c531cb9dedff848df629ac9824 Mon Sep 17 00:00:00 2001 From: jvican Date: Fri, 25 Nov 2016 12:39:09 +0100 Subject: [PATCH 4/4] Fix typo --- sips/sip-submission.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sips/sip-submission.md b/sips/sip-submission.md index 418ed82477..ef130647ba 100644 --- a/sips/sip-submission.md +++ b/sips/sip-submission.md @@ -221,7 +221,7 @@ becomes the reviewer. The main tasks of the reviewer are the following: ### SIP meetings -SIP meetings are scheduled montly by the Process Lead, and require a quorum of +SIP meetings are scheduled monthly by the Process Lead, and require a quorum of two-thirds (2/3) of the committee members. If the quorum is not reached the meeting is rescheduled.