fluentd icon indicating copy to clipboard operation
fluentd copied to clipboard

Project governance: tweak voting majority threshold

Open kenhys opened this issue 2 years ago โ€ข 12 comments

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

kenhys avatar Apr 14 '23 04:04 kenhys

Thanks for summarizing this issue!

I agree.

daipom avatar Apr 14 '23 07:04 daipom

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.

daipom avatar Apr 27 '23 00:04 daipom

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

kenhys avatar Apr 27 '23 04:04 kenhys

"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 avatar Apr 27 '23 04:04 daipom

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 avatar Apr 28 '23 05:04 daipom

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

daipom avatar May 01 '23 06:05 daipom

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.

kenhys avatar May 01 '23 06:05 kenhys

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 avatar May 01 '23 07:05 daipom

Now I created a rough draft:

  • #4160

I would like to have some reviews before voting.

daipom avatar May 01 '23 07:05 daipom

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.

cosmo0920 avatar May 01 '23 08:05 cosmo0920

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

github-actions[bot] avatar Jul 05 '24 10:07 github-actions[bot]

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

github-actions[bot] avatar Aug 05 '24 10:08 github-actions[bot]