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

Homebrew-Governance: import merged PRs from homebrew-governance-private #14482

Merged
merged 2 commits into from Feb 6, 2023

Conversation

MikeMcQuaid
Copy link
Member

These PRs were all approved by the majority of the PLC and the majority of them approved by the majority of the TSC. They are being put here for a members vote, ideally before the AGM.

  • Replace some "Owners" with "billing managers" and "moderators"
    • Now that GitHub has more granular roles available such as "billing managers" and "moderators": let's tighten up our security posture by only have 3 folks who need to be "Owners" rather than 10.
  • Max two PLC terms
    • We discussed this one year terms last year but this seems a better solution. Given we refresh maintainers, TSC and the Project Leader yearly: this seems more consistent, responsive and fair. Note this would only apply to candidates for the PLC from 2024.
  • Tweak nomination rules
    • Do not require any nomination: any member can run for the PLC. This simplifies the procedure: no nomination vote has to be done inside the old PLC. Members do not need to go and find someone to sponsor them. Just apply and let the vote begin. Ask to write down the intentions and keep a candidate list by using a Slack channel, to keep track of everything
  • Mandate that the PLC report their activities
    • Mandating that the PLC report back their actions throughout the year. The wording here is intentionally strong - I feel it is very important for the health of the PLC and the membership for this to be stuck to.
  • Don't need financial statements, have OpenCollective
    • Now that we have an open, publicly readable ledger of all our financial transactions: there does not seem to be any need to continue to have the PLC re-publish reports of our finances (which were hidden to all but the PLC in our SFC days).
  • Make maintainer removal more explicit.
    • Improve this guidelines to provide more evidence for why, what and how this process occurs
    • Allow maintainers to appeal the decision of the project leader
    • Allow the project leader to re-request this vote if no progress is made
  • Clarifies maintainer nomination process language/formatting

This PR will be voted on by @Homebrew/members before it is merged (hopefully by or at the AGM on Monday next week).

These PRs were all approved by the majority of the PLC and the majority
of them approved by the majority of the TSC. They are being put here for
a members vote, ideally before the AGM.

- Replace some "Owners" with "billing managers" and "moderators"
  - Now that GitHub has more granular roles available such as "billing
    managers" and "moderators": let's tighten up our security posture by
    only have 3 folks who need to be "Owners" rather than 10.
- Max two PLC terms
  - We discussed this one year terms last year but this seems a better
    solution. Given we refresh maintainers, TSC and the Project Leader
    yearly: this seems more consistent, responsive and fair. Note this
    would only apply to candidates for the PLC from 2024.
- Tweak nomination rules
  - Do not require any nomination: any member can run for the PLC. This
    simplifies the procedure: no nomination vote has to be done inside
    the old PLC. Members do not need to go and find someone to sponsor
    them. Just apply and let the vote begin. Ask to write down the
    intentions and keep a candidate list by using a Slack channel, to
    keep track of everything
- Mandate that the PLC report their activities
  - Mandating that the PLC report back their actions throughout the
    year. The wording here is intentionally strong - I feel it is very
    important for the health of the PLC and the membership for this to
    be stuck to.
- Don't need financial statements, have OpenCollective
  - Now that we have an open, publicly readable ledger of all our
    financial transactions: there does not seem to be any need to
    continue to have the PLC re-publish reports of our finances
    (which were hidden to all but the PLC in our SFC days).
- Make maintainer removal more explicit.
  - Improve this guidelines to provide more evidence for why, what and
    how this process occurs
  - Allow maintainers to appeal the decision of the project leader
  - Allow the project leader to re-request this vote if no progress is
    made
- Clarifies maintainer nomination process language/formatting
@BrewTestBot
Copy link
Member

Review period will end on 2023-02-03 at 17:31:30 UTC.

@BrewTestBot BrewTestBot added the waiting for feedback Merging is blocked until sufficient time has passed for review label Feb 2, 2023
@MikeMcQuaid MikeMcQuaid requested review from a team February 2, 2023 17:32
@MikeMcQuaid MikeMcQuaid added the critical Critical change which should be shipped as soon as possible. label Feb 2, 2023
@BrewTestBot BrewTestBot removed the waiting for feedback Merging is blocked until sufficient time has passed for review label Feb 2, 2023
@BrewTestBot
Copy link
Member

Review period skipped due to critical label.

@MikeMcQuaid
Copy link
Member Author

I have also updated the New-Maintainer-Checklist based on assuming the above passes. This should not be consider part of what is being voted on but more the logical consequences.

Copy link
Member

@issyl0 issyl0 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As a member, I vote yes.

@issyl0
Copy link
Member

issyl0 commented Feb 3, 2023

The OpaVote for this is now live for Homebrew members, please leave your votes yes/no in there.

## 8. Maintainers

1. All maintainers are automatically members. Some, not all, members are maintainers.

2. Maintainers are members with commit/write-access to at least one of: Homebrew/brew, Homebrew/homebrew-core, Homebrew/homebrew-cask.

3. New maintainers can be nominated by any existing maintainer. They require one approval from the Project Leader or a member of the TSC and no opposition from these people in a 24 hour "working" period (i.e. 7pm on a Friday waits until 7pm on a Monday). If there is opposition, it will be subject to a TSC Slack vote with a majority taking effect after a week.
3. New maintainers can be nominated by any existing maintainer. To become a maintainer, a nomination requires approval from one of the PL or any member of the TSC with no opposition from any these people within a 24 hour period excluding 19:00 UTC on Friday until 19:00 UTC on the following Monday. If there is opposition, the TSC must vote on the nomination in the #tsc private Slack channel, with the vote closing after a week or when a majority of the TSC has voted. The nomination will succeed by simple majority vote of the votes cast.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For consistency with `#members` above

Suggested change
3. New maintainers can be nominated by any existing maintainer. To become a maintainer, a nomination requires approval from one of the PL or any member of the TSC with no opposition from any these people within a 24 hour period excluding 19:00 UTC on Friday until 19:00 UTC on the following Monday. If there is opposition, the TSC must vote on the nomination in the #tsc private Slack channel, with the vote closing after a week or when a majority of the TSC has voted. The nomination will succeed by simple majority vote of the votes cast.
3. New maintainers can be nominated by any existing maintainer. To become a maintainer, a nomination requires approval from one of the PL or any member of the TSC with no opposition from any these people within a 24 hour period excluding 19:00 UTC on Friday until 19:00 UTC on the following Monday. If there is opposition, the TSC must vote on the nomination in the `#tsc` private Slack channel, with the vote closing after a week or when a majority of the TSC has voted. The nomination will succeed by simple majority vote of the votes cast.

If a maintainer or member is elected to the Homebrew's [Project Leadership Committee](https://docs.brew.sh/Homebrew-Governance#4-project-leadership-committee):

- Invite them to the [**@Homebrew/plc** team](https://github.com/orgs/Homebrew/teams/plc/members)
- Make them [billing managers](https://github.com/organizations/Homebrew/settings/billing) and [moderators](https://github.com/organizations/Homebrew/settings/moderators) on the Homebrew GitHub organisation
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Make them [billing managers](https://github.com/organizations/Homebrew/settings/billing) and [moderators](https://github.com/organizations/Homebrew/settings/moderators) on the Homebrew GitHub organisation
- Make them [billing managers](https://github.com/organizations/Homebrew/settings/billing) and [moderators](https://github.com/organizations/Homebrew/settings/moderators) on the Homebrew GitHub organisation
- Invite them to the **@project-leadership-committee** user group on the [`machomebrew` private Slack](https://machomebrew.slack.com/admin)

If a maintainer is elected to the Homebrew's [Technical Steering Committee](https://docs.brew.sh/Homebrew-Governance#7-technical-steering-committee):

- Invite them to the [**@Homebrew/tsc** team](https://github.com/orgs/Homebrew/teams/tsc/members)
- Make them [billing managers](https://github.com/organizations/Homebrew/settings/billing) and [moderators](https://github.com/organizations/Homebrew/settings/moderators) on the Homebrew GitHub organisation
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Make them [billing managers](https://github.com/organizations/Homebrew/settings/billing) and [moderators](https://github.com/organizations/Homebrew/settings/moderators) on the Homebrew GitHub organisation
- Make them [billing managers](https://github.com/organizations/Homebrew/settings/billing) and [moderators](https://github.com/organizations/Homebrew/settings/moderators) on the Homebrew GitHub organisation
- Invite them to the **@technical-steering-committee** user group on the [`machomebrew` private Slack](https://machomebrew.slack.com/admin)


In the interests of loosely verifying maintainer identity and building camaraderie, if you find yourself in the same town (e.g living, visiting or at a conference) as another Homebrew maintainer you should make the effort to meet up. If you do so, you can [expense your meal](https://docs.opencollective.com/help/expenses-and-getting-paid/submitting-expenses) (within [Homebrew's reimbursable expense policies](https://opencollective.com/homebrew/expenses)). This is a more relaxed version of similar policies used by other projects, e.g. the Debian system to meet in person to sign keys with legal ID verification.

Now sit back, relax and let the new maintainers handle more of our contributions.

## PLC

If a maintainer or member is elected to the Homebrew's [Project Leadership Committee](https://docs.brew.sh/Homebrew-Governance#4-project-leadership-committee):
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
If a maintainer or member is elected to the Homebrew's [Project Leadership Committee](https://docs.brew.sh/Homebrew-Governance#4-project-leadership-committee):
If a maintainer or member is elected to Homebrew's [Project Leadership Committee](https://docs.brew.sh/Homebrew-Governance#4-project-leadership-committee):


## TSC

If a maintainer is elected to the Homebrew's [Technical Steering Committee](https://docs.brew.sh/Homebrew-Governance#7-technical-steering-committee):
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
If a maintainer is elected to the Homebrew's [Technical Steering Committee](https://docs.brew.sh/Homebrew-Governance#7-technical-steering-committee):
If a maintainer is elected to Homebrew's [Technical Steering Committee](https://docs.brew.sh/Homebrew-Governance#7-technical-steering-committee):


## Owners

The Project Leader, one other PLC member (ideally a maintainer) and one other TSC member should be made owners on GitHub and Slack:
Copy link
Member

@samford samford Feb 6, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This uses "...should be made owners on GitHub and Slack" language but the following list also includes 1Password. Should we use "...GitHub, Slack, and 1Password" here or simply omit the specifics and let the list do the work (e.g., something like "...should be made owners of the following:" or "...should be made owners where appropriate:" along with adapting the list items to remove the repeated "Make them owners on the..." text)? Either would work but the latter may be cleaner and easier to maintain.


If they are elected to the Homebrew's [Project Leadership Committee](https://docs.brew.sh/Homebrew-Governance#4-project-leadership-committee):
If there are problems, ask them to step down as a maintainer.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this topic might need its own section detailing possible reasons and procedures. It could also discuss the process of returning to the maintainer role. Just a suggestion.

@MikeMcQuaid
Copy link
Member Author

This was passed through a members vote. Thanks everyone who voted.

@MikeMcQuaid
Copy link
Member Author

Merging this as-is for now but wording (not meaning) changes will follow.

@MikeMcQuaid MikeMcQuaid merged commit 8edf681 into master Feb 6, 2023
@MikeMcQuaid MikeMcQuaid deleted the import_homebrew_governance_private branch February 6, 2023 09:22
@github-actions github-actions bot added the outdated PR was locked due to age label Mar 10, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 10, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
critical Critical change which should be shipped as soon as possible. outdated PR was locked due to age
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

10 participants