Skip to content

Commit 296fecd

Browse files
arcanismerceyzeps1lon
authored
Governance file (yarnpkg#2237)
* Create GOVERNANCE.md * Typo Co-authored-by: Kristoffer K. <[email protected]> * Improve wording Co-authored-by: Sebastian Silbermann <[email protected]> Co-authored-by: Kristoffer K. <[email protected]> Co-authored-by: Sebastian Silbermann <[email protected]>
1 parent e97b8c1 commit 296fecd

File tree

1 file changed

+129
-0
lines changed

1 file changed

+129
-0
lines changed

GOVERNANCE.md

+129
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
# Governance
2+
3+
Since its inception, the Yarn project has been maintained by a set of volunteers from various employers. This document aims to formalize how decisions are made and by whom.
4+
5+
## Code of Conduct
6+
7+
All members must respect the [Code of Conduct](CODE_OF_CONDUCT.md). Grievances can be shared to the email address referenced in this document and will be evaluated per the process described there. See [Moderation](#Moderation) for details.
8+
9+
## Member Roles
10+
11+
### I. Core Contributors
12+
13+
Core Contributors are those with a history of consistent contributions, including but not limited to pull requests, project management, or support. They benefit from a certain amount of privileges, including:
14+
15+
- Push access to the repository, except the `master` / `main` branches
16+
- Contributor role on the Yarn Discord channel
17+
- Ability to vote on project decisions
18+
19+
Being core promoted core contributor doesn't mean the member is required to stay active. Inactive contributors may have voting rights put on hold until they return, but will always retain their status.
20+
21+
#### Induction
22+
23+
Candidates must be privately nominated by an existing core contributors, which will send the proposal to a steward. Stewards will hold a private vote open to any core contributor, and if the proposal passes with a significant majority (75%) the candidate will be reached to be offered the position.
24+
25+
### II. Stewards
26+
27+
Stewards establish the project vision, have a full control over the code and its assets, and assume the right to speak for the project in public. In practical terms, stewards' privileges include:
28+
29+
- Access to the @yarnpkg Twitter account
30+
- Administration privileges on the Yarnpkg GitHub org
31+
- Administration privileges on the Yarnpkg Discord server
32+
- Publish access to the `yarn` npm package (which we don't plan to use much)
33+
- Administration access to the `yarnpkg.com` accounts (Netlify, Cloudflare, ...)
34+
- Ability to veto votes and resolve voting deadlocks
35+
- Define project direction and planning
36+
- Ability to decide on moderation decisions
37+
38+
In the event a steward becomes incapacitated, they are expected to leave keys to a trustee that will transmit the rights to an new steward appointed by the core contributors through a vote.
39+
40+
#### Induction
41+
42+
New stewards will be added based on a unanimous vote by the existing stewards - in the event that one of them is unreachable, the decision will be deferred until all stewards have voted. While discussion and approval will be generally done in private, stewards will hold an advisory poll open to core contributors.
43+
44+
## Current Members
45+
46+
### Stewards
47+
48+
- Maël Nison - [arcanis](https://github.com/arcanis)
49+
50+
### Core Contributors
51+
52+
- Bram Gotink - [bgotink](https://github.com/bgotink)
53+
- Daniel Almaguer - [deini](https://github.com/deini)
54+
- Haroen Viaene - [haroenv](https://github.com/haroenv)
55+
- Kristoffer K. - [merceyz](https://github.com/merceyz)
56+
- Marc-Antoine - [embraser01](https://github.com/embraser01)
57+
- Paul Soporan - [paul-soporan](https://github.com/paul-soporan)
58+
- Sebastian Silbermann - [eps1lon](https://github.com/eps1lon)
59+
- Victor Vlasenko - [larixer](https://github.com/larixer)
60+
- Will Griffiths - [willgriffiths](https://github.com/willgriffiths)
61+
62+
## Project direction and planning
63+
64+
Project direction and planning is a shared responsibility amongst members. Stewards are responsible for defining high level goals and scope of the project that should be adhered to.
65+
66+
## Voting
67+
68+
Certain project decisions require a vote. These include:
69+
70+
- **Governance changes:** simple majority (over 50%), conducted via GitHub PR approval.
71+
72+
- **Core contributor membership:** overwhelming majority (over 75%) conducted by privately messaging a steward. Funneling both assenting and dissenting votes directly through stewards allows for anonymity when discussing the merits of a potential contributor.
73+
74+
A steward may initiate a vote for any unlisted project decision. Core contributors can request a vote by contacting a steward.
75+
76+
### Rules
77+
78+
- Members may abstain from a vote.
79+
- Members who do not vote within 7 days will automatically abstain.
80+
- Stewards may reduce the 7 day automatic abstain for urgent decisions.
81+
- Stewards reserve the right to veto approval with a publicly disclosed reason.
82+
83+
## Moderation
84+
85+
Outlined below is the process for Code of Conduct violation reviews.
86+
87+
### Reporting
88+
89+
Anyone may report a violation. Violations can be reported in the following ways:
90+
91+
- In private, via email to one or more stewards
92+
- In private, via direct message to a project steward on Discord
93+
- In public, via a GitHub comment (mentioning one of the stewards)
94+
- In public, via the project Discord server
95+
96+
### Who gets involved?
97+
98+
Each report will be assigned reviewers. These will initially be all project stewards. In the event of any conflict of interest - ie. stewards who are personally connected to a situation, they must immediately recuse themselves.
99+
100+
At request of the reporter and if deemed appropriate by the reviewers, another neutral third-party may be involved in the review and decision process.
101+
102+
### Review
103+
104+
If a report doesn’t contain enough information, the reviewers will strive to obtain all relevant data before acting.
105+
106+
The reviewers will then review the incident and determine, to the best of their ability:
107+
108+
- What happened,
109+
- Whether this event constitutes a Code of Conduct violation,
110+
- Who, if anyone, was involved in the violation,
111+
- Whether this is an ongoing situation.
112+
113+
The reviewers should aim to have a resolution agreed very rapidly; if not agreed within a week, they will inform the parties of the planned date.
114+
115+
### Resolution
116+
117+
Responses will be determined by the reviewers on the basis of the information gathered and of the potential consequences. It may include:
118+
119+
- Taking no further action,
120+
- Issuing a reprimand (private or public),
121+
- Asking for an apology (private or public),
122+
- Permanent ban from the GitHub org and Discord server,
123+
- Revoked contributor status.
124+
125+
## Fund Allocation
126+
127+
Funds will be allocated for project-specific services such as domain registration and website hosting. Other usage of funds has yet to be decided.
128+
129+
Expenses will be approved by project stewards.

0 commit comments

Comments
 (0)