Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions Bootstrapping-Gem.coop-Governance.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Bootstrapping Gem.coop Governance
# Bootstrapping Gem Cooperative Governance

At the time of writing, there is not yet any formal governance of the Gem.coop project.
At the time of writing, there is not yet any formal governance of the Gem Cooperative project.

These are the steps that will be followed to bootstrap this governance process

Expand All @@ -18,4 +18,4 @@ These are the steps that will be followed to bootstrap this governance process
- When a Project Leader and Project Leadership Committee have been appointed, they will in turn appoint the maintainers and, from them, the Technical Steering Committee
- Everyone who voted will be made a Member and granted a vote in the following year
- Everyone else will be removed from the GitHub Organisation
- The Gem.coop governance documents will apply from this point
- The Gem Cooperative governance documents will apply from this point
36 changes: 18 additions & 18 deletions Gem.coop-Governance.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Gem.coop Governance
# Gem Cooperative Governance

## 1. Definitions

Expand All @@ -9,24 +9,24 @@
- AGM: Annual General Meeting
- Majority: more than half of non-abstention votes cast.
- Supermajority: two-thirds of non-abstention votes cast.
- Primary repositories: the most important repositories in the Gem.coop organisation:
- Primary repositories: the most important repositories in the gem-coop GitHub organisation:
- [gem-coop/gem.coop](https://github.com/gem-coop/gem.coop) ([contributions](https://github.com/gem-coop/gem.coop/graphs/contributors))

## 2. Members

1. New members (unless nominated as maintainers, see below) will be admitted by a majority of the PLC and added to the `gem-coop` organisation on GitHub.

1. Members are expected to remain active within Gem.coop. Members who are not active maintainers or active committee members must affirm their continued interest in Gem.coop membership annually by voting on annual measures, even if voting abstention. Inactive, non-affirmed, non-voting members will be removed within 14 days after the annual meeting unless excused by the PLC.
1. Members are expected to remain active within Gem Cooperative. Members who are not active maintainers or active committee members must affirm their continued interest in Gem Cooperative membership annually by voting on annual measures, even if voting abstention. Inactive, non-affirmed, non-voting members will be removed within 14 days after the annual meeting unless excused by the PLC.

1. A member may be removed from Gem.coop by a majority of the PLC. A removed member may be reinstated by the usual admission process.
1. A member may be removed from Gem Cooperative by a majority of the PLC. A removed member may be reinstated by the usual admission process.

1. All members will follow the [Gem.coop's Code of Conduct](https://github.com/gem-coop/.github/blob/HEAD/CODE_OF_CONDUCT.md). Changes to the code of conduct must be approved by a majority of the PLC.
1. All members will follow the [Gem Cooperative's Code of Conduct](https://github.com/gem-coop/.github/blob/HEAD/CODE_OF_CONDUCT.md). Changes to the code of conduct must be approved by a majority of the PLC.

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

### 2.1. General Meetings of Members

1. Gem.coop members will meet at the annual general meeting (AGM) in a manner determined by the PLC. The AGM date must be given with at least two months' advance notice.
1. Gem Cooperative members will meet at the annual general meeting (AGM) in a manner determined by the PLC. The AGM date must be given with at least two months' advance notice.

1. Any member can request additional general meetings of the members in the `#gem-coop-members` Slack channel. A general meeting may be called by either a majority vote of the PLC or a majority vote of the entire membership using Slack 👍 reactions. The membership must be given at least three weeks' notice of a general meeting.

Expand All @@ -47,13 +47,13 @@

## 3. Project Leadership Committee

1. The financial administration of Gem.coop, organisation of the AGM, enforcement of the code of conduct and removal of members are performed by the PLC. The PLC will represent Gem.coop in all dealings with Open Collective.
1. The financial administration of Gem Cooperative, organisation of the AGM, enforcement of the code of conduct and removal of members are performed by the PLC. The PLC will represent Gem Cooperative in all dealings with Open Collective.

1. The PLC consists of three members, one of whom is the Project Leader. The other committee members are elected by Gem.coop members in a [Meek Single Transferable Vote](https://en.wikipedia.org/wiki/Counting_single_transferable_votes#Meek's_method) election using the Droop quota. 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.
1. The PLC consists of three members, one of whom is the Project Leader. The other committee members are elected by Gem Cooperative members in a [Meek Single Transferable Vote](https://en.wikipedia.org/wiki/Counting_single_transferable_votes#Meek's_method) election using the Droop quota. 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.

1. When a PLC seat is up for election or is vacant, any member may become a candidate for the PLC by providing a brief statement in the `#gem-coop-members` channel in Bundler Slack expressing relevant experience and intentions if elected no later than three weeks before the AGM. The PLC will maintain the candidate list until ballots are sent out one week before the AGM, during which time members should cast their votes. Candidates should deliver remarks in writing or verbally before or during the AGM but votes already cast are not changeable. The current PLC should vote on and publish a statement recommending their preferred candidates within the three-week period between the candidate deadline and the AGM.

1. The PLC must report all minutes, participants in discussions and breakdowns of any votes cast to Gem.coop members in the gem-coop/governance GitHub repository no later than one week after the action has been taken. At the AGM, the PLC must present a summary of their activities and decisions since the last AGM. Financial statements can be viewed by anyone on the internet on [Gem.coop's OpenCollective](https://opencollective.com/gem-coop).
1. The PLC must report all minutes, participants in discussions and breakdowns of any votes cast to Gem Cooperative members in the gem-coop/governance GitHub repository no later than one week after the action has been taken. At the AGM, the PLC must present a summary of their activities and decisions since the last AGM. Financial statements can be viewed by anyone on the internet on [The Gem Cooperative's OpenCollective](https://opencollective.com/gem-coop).

1. No more than one employee of the same employer may serve on the PLC.

Expand All @@ -67,15 +67,15 @@

1. All members of the PLC must meet at the AGM at least once per year. This will ideally be in person, or, alternatively, on a synchronous video call. For accessibility a synchronous text chat option should be available.

1. The PLC will annually review the status of all members and remove members who did not vote in the AGM and then did not re-affirm a commitment to Gem.coop. 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.
1. The PLC will annually review the status of all members and remove members who did not vote in the AGM and then did not re-affirm a commitment to Gem Cooperative. 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.

1. A majority vote of the PLC will appoint the members of the TSC.

## 4. Project Leader

1. The Project Leader will represent Gem.coop publicly, manage all day-to-day technical decisions, and resolve disputes related to the operation of Gem.coop between maintainers, members, other contributors, and users.
1. The Project Leader will represent Gem Cooperative publicly, manage all day-to-day technical decisions, and resolve disputes related to the operation of Gem Cooperative between maintainers, members, other contributors, and users.

1. The Project Leader will be elected every two years by Gem.coop members in a [Schulze Condorcet method](https://en.wikipedia.org/wiki/Schulze_method) (aka 'beatpath') election. 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.
1. The Project Leader will be elected every two years by Gem Cooperative members in a [Schulze Condorcet method](https://en.wikipedia.org/wiki/Schulze_method) (aka 'beatpath') election. 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.

1. In case of a casual vacancy of the Project Leader, an interim will be appointed by a supermajority vote of the PLC. In that moment, the usual membership voting and selection process will start to choose a new permament PL. If the PLC cannot reach supermajority consensus to choose an interim, the position will remain vacant until the membership chooses a new PL.

Expand All @@ -89,7 +89,7 @@

1. The Project Leader must be a maintainer, not just a member.

1. The Project Leader will be an "Owner" of the Gem.coop GitHub Organization, Bundler Slack and any related resources.
1. The Project Leader will be an "Owner" of the gem-coop GitHub Organization, Bundler Slack and any related resources.

## 5. Technical Steering Committee

Expand All @@ -115,12 +115,12 @@

1. New maintainers can be nominated by any existing maintainer. To become a maintainer, a nomination requires approval from the PL or any member of the TSC with no opposition from any of these people within a 1 week period. If there is opposition, the TSC must vote on the nomination in the #gem-coop-tsc private Bundler Slack channel, with the vote closing after one week or after the outcome of the vote would not be changed by any subsequent votes (such as when a majority of the TSC has voted in favour or against). The nomination will succeed by a simple majority vote of the votes cast.

1. In accordance with Gem.coop's organisational security posture, which requires operating under the principle of least privilege, the PL will review maintainers' write/commit access no later than six weeks before the AGM. The PL will remove maintainer privileges from those who have not consistently met these criteria:
1. In accordance with Gem Cooperative's organisational security posture, which requires operating under the principle of least privilege, the PL will review maintainers' write/commit access no later than six weeks before the AGM. The PL will remove maintainer privileges from those who have not consistently met these criteria:

- having more contributions to primary repositories than the majority of non-maintainer contributors in at least one of these repositories
- reviewing and merging of PRs of other maintainers and contributors in primary repositories
- the PL will exclude from consideration non-essential pull requests submitted and merged by the same person
- reviewing any direct GitHub review requests in any repository in the Gem.coop organisation
- reviewing any direct GitHub review requests in any repository in the gem-coop organisation
- responding to direct mentions on GitHub and direct mentions in Bundler Slack from the PL and other maintainers
- maintaining a positive working relationship with the PL and other maintainers
- engaging actively to resolve conflict with the PL or other maintainers, with a neutral intermediary upon request
Expand All @@ -129,9 +129,9 @@

1. The PL will not consider the following activities because they do not require commit or write access on security-critical repositories:

- contributions to the wider Gem.coop organisation, repositories excluding the main, security-critical repositories, or the greater Gem.coop ecosystem
- contributions to the wider gem-coop organisation, repositories excluding the main, security-critical repositories, or the greater Gem Cooperative ecosystem
- contributions in previous years as a maintainer or contributor
- contributions to the governance documents, the PLC, social media, Gem.coop's discussion forum, etc.
- contributions to the governance documents, the PLC, social media, Gem Cooperative's discussion forum, etc.

### 6.1 Maintainer Appeals

Expand All @@ -149,7 +149,7 @@

### 6.2 Emergency Removals

1. In emergency situations, including but not limited to malicious commits, suspicious activity, abuse of resources, abuse of privileges, or any action or activity that could harm the security posture or reputation of the Gem.coop codebase, systems, or organisation, the PL or anyone with the capability to remove privileges should remove any or all of a maintainer's access rights (e.g. to GitHub, Bundler Slack, etc.).
1. In emergency situations, including but not limited to malicious commits, suspicious activity, abuse of resources, abuse of privileges, or any action or activity that could harm the security posture or reputation of The Gem Cooperative codebases, systems, or organisation, the PL or anyone with the capability to remove privileges should remove any or all of a maintainer's access rights (e.g. to GitHub, Bundler Slack, etc.).

1. Upon doing so, the remover must immediately inform the PLC and the TSC.

Expand Down
Loading