Project governance: tweak voting majority threshold
Describe the bug
Currently, the voting requires 2/3 majority which is described in Voting
More contributors involved, it tends to be hard to satisfy with 2/3 majority if there are many inactive maintainers in the future.
Also mentioned https://github.com/fluent/fluentd/issues/4150#issuecomment-1507874478
To Reproduce
N/A
Expected behavior
Introduce the new threshold in a practical manner.
Instead of 2/3 majority, changes the threshold like this:
UPDATED: based on https://github.com/fluent/fluentd/issues/4151#issuecomment-1526998656
- No objection ballot
- At least effective 3-person affirmative vote
- At least effective 2-organization affirmative vote
- Effective organization affirmative vote means:
- One member of the organization made an affirmative vote (even though other colleagues didn't vote, it was treated as an effective affirmative organization vote)
- An affirmative vote of a member not belonging to an organization is considered as one organization's affirmative vote
- Effective organization affirmative vote means:
- At least 2-week for voting
Some ballot scenario:
-
effective 3-person (all individual) affirmative vote ๐๐โโ๏ธ๐โโ๏ธ=> approved
-
effective 3-person (1 individual๐, 2 person who belong to the same organization๐โโ๏ธ๐โโ๏ธ) affirmative vote => approved
-
effective 3-person (1 organization๐, 2 individuals๐โโ๏ธ๐โโ๏ธ) => approved
-
effective 3-person but, who belong to the same organization ๐๐๐ => declined
-
effective 3-person but 1 objection ๐๐๐ โโ๏ธ => declined
The important point is not to be dominated by certain organizations and to make the project's decisions by maintainers appropriately.
Your Environment
N/A
Your Configuration
N/A
Your Error Log
N/A
Additional context
-
If these change was introduced, the previous organization's vote was easy to make things forward.
-
Before call for voting #4150, this issue should be processed. (it makes easy to process #4150 afterwards)
-
well-known similar voting threshold is mentioned https://github.com/fluent/fluentd/issues/4150#issuecomment-1507874478
ref: code modifications and veto of Apache Voting Process
- https://www.apache.org/foundation/voting#apache-voting-process
the proposal requires three positive votes and no negative votes in order to pass
For the record, the previous proposal:
- ~~No objection ballot~~
- ~~At least effective 3-organization affirmative vote~~
~~Both of the above conditions are met, the voting agenda will be approved.~~
Thanks for summarizing this issue!
I agree.
We will vote on the new rules with the current rules.
For the new rules, the followings are currently assumed.
- No objection ballot
- At least effective 3-organization affirmative vote
I think this is fine, but how about the next idea?
- No objection ballot
- At least effective 3-person affirmative vote
- At least 1-week for voting
Currently, ClearCode organization alone can gather 3 votes,
- https://github.com/fluent/fluentd/blob/v1.16.1/MAINTAINERS.md
but I don't think we need to see these situations as a problem at this point since one negative vote takes precedence over the affirmative votes.
In addition, I added a rule about the voting period. We need to avoid a situation where the approval was done so quickly by particular people, and there was no time to cast a negative vote.
Adding a rule about the voting period is a good idea, but I doubt whether "At least 1-week" is enough or not. (more longer period may be suitable)
About Plan B https://github.com/fluent/fluentd/issues/4151#issuecomment-1524304492 (which is proposed by @daipom) , "effective 3-person affirmative vote" with a shorter voting period can't solve "Hey, I forgot to vote for a objection, but voting period is over and the proposal was accepted by 3-person in the same organization" issue.
A bit modified new rule proposal:
- No objection ballot (didn't distinguish the individual or member of the organization)
- At least effective 3-organization affirmative vote
- effective organization affirmative vote means:
- case 1: all member of orginization do affirmative vote
- case 2: one member of organization do an affirmative vote (even though other colleagues didn't vote, it was treated as effective affimative organization vote)
- effective organization affirmative vote means:
- At least 3-weeks for voting period
"effective 3-person affirmative vote" with a shorter voting period can't solve "Hey, I forgot to vote for a objection, but voting period is over and the proposal was accepted by 3-person in the same organization" issue.
I think it is good to have a longer voting period for this, but as long as we guarantee a certain voting period, I feel that we do not need to be so concerned at this point about the issue of people forgetting to express their opinions during that period. If such a thing actually becomes a problem, then we can revise the rules.
If we adopt "effective 3-organization affirmative vote" condition, I think the voting period rule does not be necessary or could be much shorter. (Seems to me that there is a low risk of fast approval by only specific people, since an affirmative vote from each organization needs to be gathered.)
Regarding the rules about affirmative votes and the voting period, I think one of the following 2 directions is fine.
- "effective 3-organization affirmative vote" with no voting period (or shorter period just in case)
- "effective 3-person affirmative vote" with some voting period
Summarizing the opinions so far, how about the following rule?
- No objection ballot
- At least effective 3-person affirmative vote
- At least effective 2-organization affirmative vote
- Effective organization affirmative vote means:
- One member of the organization made an affirmative vote (even though other colleagues didn't vote, it was treated as an effective affirmative organization vote)
- An affirmative vote of a member not belonging to an organization is considered as one organization's affirmative vote
- Effective organization affirmative vote means:
- At least 2-week for voting
@kenhys Thanks for updating the Expected behavior.
I'm working on a rough draft to update GOVERNANCE.md based on the current Expected behavior.
I will make a PR later, and I would like to have it reviewed before voting.
Although not directly related to this case, I was curious about the following statement.
- https://github.com/fluent/fluentd/blob/v1.16.1/GOVERNANCE.md?plain=1#L22
a link to that issue or PR added to the maintainers meeting agenda document
What is the maintainers meeting agenda document?
Is this obsolete?
As many individuals or organizations are becoming involved, it is difficult to hold the maintainers meeting nowadays. (At least, I have not attended the maintainers meeting) thus I think it is an obsolete sentence.
As many individuals or organizations are becoming involved, it is difficult to hold the maintainers meeting nowadays. (At least, I have not attended the maintainers meeting) thus I think it is an obsolete sentence.
Thanks! I see!
Now I created a rough draft:
- #4160
I would like to have some reviews before voting.
As many individuals or organizations are becoming involved, it is difficult to hold the maintainers meeting nowadays. (At least, I have not attended the maintainers meeting) thus I think it is an obsolete sentence.
To change the voting system, we must follow the CNCF's election policy: https://github.com/cncf/foundation/blob/main/maintainers-election-policy.md
Each eligible project maintainer will receive one vote. In order to participate in the election process, maintainers will need to add themselves to the list of active voters. This will occur at the same time as the nomination process and last at least two weeks.
Because Fluentd is graduated project.
And with the CNCF perspective, I agree with the current suggestion of modifications.
This issue has been automatically marked as stale because it has been open 30 days with no activity. Remove stale label or comment or this issue will be closed in 7 days
This issue has been automatically marked as stale because it has been open 30 days with no activity. Remove stale label or comment or this issue will be closed in 7 days