Skip to content
Snippets Groups Projects
Unverified Commit aafcbc11 authored by Mike McQuaid's avatar Mike McQuaid
Browse files

Add/link Homebrew Governance document.

parent 058bd4bf
No related branches found
No related tags found
No related merge requests found
......@@ -68,16 +68,16 @@ module Homebrew
readme = HOMEBREW_REPOSITORY/"README.md"
variables[:lead] =
readme.read[/(Homebrew's project lead .*\.)/, 1]
readme.read[/(Homebrew's \[Project Leader.*\.)/, 1]
.gsub(/\[([^\]]+)\]\([^)]+\)/, '\1')
variables[:plc] =
readme.read[/(Homebrew's project leadership committee .*\.)/, 1]
readme.read[/(Homebrew's \[Project Leadership Committee.*\.)/, 1]
.gsub(/\[([^\]]+)\]\([^)]+\)/, '\1')
variables[:tsc] =
readme.read[/(Homebrew's technical steering committee .*\.)/, 1]
readme.read[/(Homebrew's \[Technical Steering Committee.*\.)/, 1]
.gsub(/\[([^\]]+)\]\([^)]+\)/, '\1')
variables[:linux] =
readme.read[%r{(Homebrew/brew's Linux support \(and Linuxbrew\) maintainers are .*\.)}, 1]
readme.read[%r{(Homebrew/brew's Linux support \(and Linuxbrew\) maintainers .*\.)}, 1]
.gsub(/\[([^\]]+)\]\([^)]+\)/, '\1')
variables[:maintainers] =
readme.read[/(Homebrew's other current maintainers .*\.)/, 1]
......
......@@ -35,11 +35,11 @@ Good luck!
Please report security issues to our [HackerOne](https://hackerone.com/homebrew/).
## Who Are You?
Homebrew's project lead is [Mike McQuaid](https://github.com/MikeMcQuaid).
Homebrew's [Project Leader](https://github.com/Homebrew/homebrew-governance-private/blob/master/GOVERNANCE.md#6-project-leader) is [Mike McQuaid](https://github.com/MikeMcQuaid).
Homebrew's project leadership committee is [Misty De Meo](https://github.com/mistydemeo), [Shaun Jackman](https://github.com/sjackman), [Jonathan Chang](https://github.com/jonchang), [Mike McQuaid](https://github.com/MikeMcQuaid) and [Markus Reiter](https://github.com/reitermarkus).
Homebrew's [Project Leadership Committee](https://docs.brew.sh/Homebrew-Governance#4-project-leadership-committee) is [Misty De Meo](https://github.com/mistydemeo), [Shaun Jackman](https://github.com/sjackman), [Jonathan Chang](https://github.com/jonchang), [Mike McQuaid](https://github.com/MikeMcQuaid) and [Markus Reiter](https://github.com/reitermarkus).
Homebrew's technical steering committee is [Michka Popoff](https://github.com/imichka), [FX Coudert](https://github.com/fxcoudert), [Markus Reiter](https://github.com/reitermarkus), [Misty De Meo](https://github.com/mistydemeo) and [Mike McQuaid](https://github.com/MikeMcQuaid).
Homebrew's [Technical Steering Committee](https://docs.brew.sh/Homebrew-Governance#7-technical-steering-committee) is [Michka Popoff](https://github.com/imichka), [FX Coudert](https://github.com/fxcoudert), [Markus Reiter](https://github.com/reitermarkus), [Misty De Meo](https://github.com/mistydemeo) and [Mike McQuaid](https://github.com/MikeMcQuaid).
Homebrew/brew's Linux support (and Linuxbrew) maintainers are [Michka Popoff](https://github.com/imichka) and [Shaun Jackman](https://github.com/sjackman).
......
# Homebrew Governance
## 1. Definitions
- PLC: Project Leadership Committee
- TSC: Technical Steering Committee
- AGM: Annual General Meeting
## 2. Members
1. New members will be admitted by majority vote of the Project Leadership Committee (PLC) and added to the Homebrew organisation on GitHub.
2. Members may vote in all general elections and resolutions, hold office for Homebrew, and participate in all other membership functions.
3. Members are expected to remain active within Homebrew, and are required to affirm their continued interest in Homebrew membership annually.
4. Members may be dismissed by majority vote of the Project Leadership Committee and removed from the Homebrew organisation on GitHub. Removed members may be reinstated by the usual admission process.
5. All members will follow the [Homebrew Code of Conduct](https://github.com/Homebrew/brew/blob/master/CODE_OF_CONDUCT.md). Changes to the code of conduct must be approved by the PLC.
6. Homebrew members will comply with the Software Freedom Conservancy's [conflict of interest policy](https://sfconservancy.org/projects/policies/conflict-of-interest-policy.html).
7. Members should abstain from voting when they have a conflict of interest not shared by other members. No one may be compelled to abstain from voting.
## 3. General Meetings of Members
1. A general meeting of the members may be called by the PLC with at least three weeks notice.
2. The quorum to vote on resolutions and elections at a general meeting is 3 voting members or 10% of the voting members, whichever is greater.
3. Homebrew members will meet at the annual general meeting (AGM) in a manner determined by the PLC.
4. General elections will be held at the AGM.
5. The PLC will announce candidates and proposals three weeks prior to the election date.
6. Members may cast a vote any time up to three weeks prior to the election date.
### 3.1. Amendments to these bylaws
1. These bylaws may be amended by a special resolution at a general meeting of the members. A special resolution requires a two-thirds supermajority.
2. Any member may propose an amendment via pull request on GitHub against this document.
3. Members shall vote on any amendments by approving or requesting changes on the GitHub pull request. Voting will close three weeks after an amendment is proposed, and all votes tallied.
4. Any approved amendments will take effect three weeks after the close of voting.
5. No amendment may be proposed which violates Software Freedom Conservancy policies. The PLC may veto such an amendment by an ordinary resolution.
## 4. Project Leadership Committee
1. The governance and operation of Homebrew is determined by the PLC. The PLC will represent Homebrew in all dealings with the Software Freedom Conservancy (SFC). The PLC has final authority in all matters related to the operation of Homebrew, and will comply with all Software Freedom Conservancy policies.
2. The PLC consists of five members. Committee members are elected by majority vote of Homebrew members. Each PLC member will serve a term of two years or until the member's successor is elected. Any sudden vacancy in the PLC will be filled by the usual procedure for electing PLC members at the next general meeting, typically the next AGM.
3. Three weeks prior to the AGM, the PLC will nominate at least one candidate for each upcoming vacant seat. Any member may also nominate any other member as a candidate for the PLC at this time.
4. The PLC will deliver a report of their activities, decisions, and financial statements to the Homebrew members at the AGM.
5. No more than two employees of the same employer may serve on the PLC.
## 5. Meetings of the Project Leadership Committee
1. A meeting of the PLC may be called by any two of its members with at least three weeks notice, unless all PLC members agree to a shorter notice period.
2. The quorum to vote on resolutions at a meeting of the PLC is a majority of its members.
3. A majority of the entire membership of the PLC is required to pass an ordinary resolution. A two-thirds supermajority of the entire membership of the PLC is required to pass a special resolution.
4. The PLC will meet annually to review the status of all members and remove inactive members and those who have not affirmed a commitment to Homebrew in the past year. Voting in the AGM confirms that a member wishes to remain active with the project. After the AGM, the PLC will ask the members who did not vote whether they wish to remain active with the project. The PLC removes any members who don't respond to this second request after three weeks.
5. The PLC will appoint the members of the Technical Steering Committee (TSC).
6. Any member may refer any question or dispute to the PLC. All technical matters should first be referred to the TSC. Non-technical matters may be referred directly to the PLC. Members will make a good faith effort to resolve any disputes prior to referral to the PLC.
7. The PLC may meet by any mutually agreeable means, such as text chat, voice or video call, and in person. Members of the PLC must meet at least once per quarter. Members of the PLC must meet by video call or in person at least once per year.
## 6. Project Leader
1. The Project Leader will represent Homebrew publicly, and manage all day-to-day technical decisions related to the operation of Homebrew.
2. The Project Leader will be elected annually by a majority vote of Homebrew members. The PLC will nominate at least one candidate for Project Leader. Any member may nominate a candidate, or self-nominate. Nominations must be announced to the membership three weeks before the AGM.
3. Any vacancy of the Project Leader will be filled by appointment of the PLC.
4. After March 1, 2020, the Project Leader may not be a member of the PLC.
## 7. Technical Steering Committee
1. The TSC has the authority to decide on any technical matter, including technical disputes between Homebrew members. The TSC will also decide the long-term roadmap of Homebrew, including large features or major changes to the Homebrew software.
2. The PLC will appoint between three and five members to the TSC. The Project Leader must be one of these appointees. Appointed TSC members will serve a term of one year or until the member's successor is appointed.
3. Any member may refer any technical question or dispute to the TSC. Members will make a good faith effort to resolve any disputes prior to referral to the TSC.
4. No more than two employees of the same employer may serve on the TSC.
......@@ -164,9 +164,3 @@ This makes it easier for other maintainers, contributors and users to follow alo
All maintainers (and lead maintainer) communication through any medium is bound by [Homebrew's Code of Conduct](https://github.com/Homebrew/brew/blob/master/CODE_OF_CONDUCT.md#code-of-conduct). Abusive behaviour towards other maintainers, contributors or users will not be tolerated; the maintainer will be given a warning and if their behaviour continues they will be removed as a maintainer.
Maintainers should feel free to pleasantly disagree with the work and decisions of other maintainers. Healthy, friendly, technical disagreement between maintainers is actively encouraged and should occur in public on the issue tracker to make the project better. Interpersonal issues should be handled privately in Slack, ideally with moderation. If work or decisions are insufficiently documented or explained any maintainer or contributor should feel free to ask for clarification. No maintainer may ever justify a decision with e.g. "because I say so" or "it was I who did X" alone. Off-topic discussions on the issue tracker, [bike-shedding](https://en.wikipedia.org/wiki/Law_of_triviality) and personal attacks are forbidden.
## Project lead guidelines
There should be one project lead for Homebrew. On February 4, 2019, coinciding with the Homebrew maintainers' conference, Mike McQuaid stepped down as lead maintainer of Homebrew. He was elected by a supermajority of Homebrew maintainers into the new project lead role.
Additional documentation for the project lead and governance are to follow.
......@@ -1191,11 +1191,11 @@ Homebrew Documentation: <https://docs.brew.sh>
## AUTHORS
Homebrew's project lead is Mike McQuaid.
Homebrew's Project Leader is Mike McQuaid.
Homebrew's project leadership committee is Misty De Meo, Shaun Jackman, Jonathan Chang, Mike McQuaid and Markus Reiter.
Homebrew's Project Leadership Committee is Misty De Meo, Shaun Jackman, Jonathan Chang, Mike McQuaid and Markus Reiter.
Homebrew's technical steering committee is Michka Popoff, FX Coudert, Markus Reiter, Misty De Meo and Mike McQuaid.
Homebrew's Technical Steering Committee is Michka Popoff, FX Coudert, Markus Reiter, Misty De Meo and Mike McQuaid.
Homebrew/brew's Linux support (and Linuxbrew) maintainers are Michka Popoff and Shaun Jackman.
......
......@@ -68,9 +68,9 @@ If they are interested in doing system administration work or Homebrew/brew rele
- Invite them to the [`homebrew-ops` private operations mailing list](https://lists.sfconservancy.org/mailman/admin/homebrew-ops/members/add).
- Invite them to the [`homebrew` private 1Password](https://homebrew.1password.com/people).
If they are elected to the Homebrew's [Software Freedom Conservancy](https://sfconservancy.org) Project Leadership Committee:
If they are elected to the Homebrew's [Project Leadership Committee](https://docs.brew.sh/Homebrew-Governance#4-project-leadership-committee):
- Email their name, email and employer to homebrew@sfconservancy.org
- Email their name, email and employer to the [Software Freedom Conservancy](https://sfconservancy.org) at homebrew@sfconservancy.org
- Make them [owners on the Homebrew GitHub organisation](https://github.com/orgs/Homebrew/people)
- Invite them to the [**@Homebrew/plc** team](https://github.com/orgs/Homebrew/teams/plc/members)
- Invite them to [Google Analytics](https://analytics.google.com/analytics/web/#management/Settings/a76679469w115400090p120682403/%3Fm.page%3DAccountUsers/) and add them to the relevant section of the [Homebrew/brew's README](https://github.com/Homebrew/brew/edit/master/README.md).
......@@ -80,3 +80,7 @@ If they are elected to the Homebrew's [Software Freedom Conservancy](https://sfc
If there are problems, ask them to step down as a maintainer and revoke their access to all of the above.
Now sit back, relax and let the new maintainers handle more of our contributions.
## Members
People who are either not eligible or willing to be Homebrew maintainers but have shown continued involvement in the Homebrew community may be admitted by a majority vote of the [Project Leadership Committee](https://docs.brew.sh/Homebrew-Governance#4-project-leadership-committee) to join the Homebrew GitHub organisation as [members](https://docs.brew.sh/Homebrew-Governance#2-members).
......@@ -50,3 +50,7 @@
- [Brew Test Bot For Maintainers](Brew-Test-Bot-For-Core-Contributors.md)
- [Common Issues for Maintainers](Common-Issues-for-Core-Contributors.md)
- [Releases](Releases.md)
## Governance
- [Homebrew Governance](Homebrew-Governance.md)
......@@ -1442,13 +1442,13 @@ Homebrew Documentation: \fIhttps://docs\.brew\.sh\fR
\fBbrew\-cask\fR(1), \fBgit\fR(1), \fBgit\-log\fR(1)
.
.SH "AUTHORS"
Homebrew\'s project lead is Mike McQuaid\.
Homebrew\'s Project Leader is Mike McQuaid\.
.
.P
Homebrew\'s project leadership committee is Misty De Meo, Shaun Jackman, Jonathan Chang, Mike McQuaid and Markus Reiter\.
Homebrew\'s Project Leadership Committee is Misty De Meo, Shaun Jackman, Jonathan Chang, Mike McQuaid and Markus Reiter\.
.
.P
Homebrew\'s technical steering committee is Michka Popoff, FX Coudert, Markus Reiter, Misty De Meo and Mike McQuaid\.
Homebrew\'s Technical Steering Committee is Michka Popoff, FX Coudert, Markus Reiter, Misty De Meo and Mike McQuaid\.
.
.P
Homebrew/brew\'s Linux support (and Linuxbrew) maintainers are Michka Popoff and Shaun Jackman\.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment