Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Project governance: tweak voting majority threshold #4151

Open
kenhys opened this issue Apr 14, 2023 · 10 comments
Open

Project governance: tweak voting majority threshold #4151

kenhys opened this issue Apr 14, 2023 · 10 comments

Comments

@kenhys
Copy link
Contributor

kenhys commented Apr 14, 2023

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 #4150 (comment)

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 #4151 (comment)

  • 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
  • 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

ref: code modifications and veto of Apache Voting Process

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.

@daipom
Copy link
Contributor

daipom commented Apr 14, 2023

Thanks for summarizing this issue!

I agree.

@daipom
Copy link
Contributor

daipom commented Apr 27, 2023

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,

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.

@kenhys
Copy link
Contributor Author

kenhys commented Apr 27, 2023

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 #4151 (comment) (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)
  • At least 3-weeks for voting period

@daipom
Copy link
Contributor

daipom commented Apr 27, 2023

"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

@daipom
Copy link
Contributor

daipom commented Apr 28, 2023

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
  • At least 2-week for voting

@daipom
Copy link
Contributor

daipom commented May 1, 2023

@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.

What is the maintainers meeting agenda document?
Is this obsolete?

@kenhys
Copy link
Contributor Author

kenhys commented May 1, 2023

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.

daipom added a commit to daipom/fluentd that referenced this issue May 1, 2023
The more contributors there are, the harder it will be to satisfy the
current condition (2/3 majority organization vote).

Therefor, this updates the conditions based on the discussion in fluent#4151.

These new conditions refer to Apache Voting Process:

* https://www.apache.org/foundation/voting#apache-voting-process

Signed-off-by: Daijiro Fukuda <fukuda@clear-code.com>
daipom added a commit to daipom/fluentd that referenced this issue May 1, 2023
The more contributors there are, the harder it will be to satisfy the
current condition (2/3 majority organization vote).

Therefore, this updates the conditions based on the discussion in fluent#4151.

These new conditions refer to Apache Voting Process:

* https://www.apache.org/foundation/voting#apache-voting-process

Signed-off-by: Daijiro Fukuda <fukuda@clear-code.com>
@daipom
Copy link
Contributor

daipom commented May 1, 2023

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!

@daipom
Copy link
Contributor

daipom commented May 1, 2023

Now I created a rough draft:

I would like to have some reviews before voting.

@cosmo0920
Copy link
Contributor

cosmo0920 commented May 1, 2023

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.

daipom added a commit to daipom/fluentd that referenced this issue May 1, 2023
The more contributors there are, the harder it will be to satisfy the
current condition (2/3 majority organization vote).

Therefore, this updates the conditions based on the discussion in fluent#4151.

These new conditions refer to Apache Voting Process:

* https://www.apache.org/foundation/voting#apache-voting-process

Signed-off-by: Daijiro Fukuda <fukuda@clear-code.com>
daipom added a commit to daipom/fluentd that referenced this issue May 26, 2023
The more contributors there are, the harder it will be to satisfy the
current condition (2/3 majority organization vote).

Therefore, this updates the conditions based on the discussion in fluent#4151.

Signed-off-by: Daijiro Fukuda <fukuda@clear-code.com>
daipom added a commit to daipom/fluentd that referenced this issue May 26, 2023
The more contributors there are, the harder it will be to satisfy the
current condition (2/3 majority organization vote).

Therefore, this updates the conditions based on the discussion in fluent#4151.

Signed-off-by: Daijiro Fukuda <fukuda@clear-code.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants