GOVERNANCE.md
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.
All members must respect the Code of Conduct. Grievances can be shared to the email address referenced in this document and will be evaluated per the process described there. See Moderation for details.
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:
master / main branchesBeing 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.
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.
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:
yarn npm package (which we don't plan to use much)yarnpkg.com accounts (Netlify, Cloudflare, ...)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.
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.
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.
Certain project decisions require a vote. These include:
Governance changes: simple majority (over 50%), conducted via GitHub PR approval.
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.
A steward may initiate a vote for any unlisted project decision. Core contributors can request a vote by contacting a steward.
Outlined below is the process for Code of Conduct violation reviews.
Anyone may report a violation. Violations can be reported in the following ways:
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.
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.
If a report doesn’t contain enough information, the reviewers will strive to obtain all relevant data before acting.
The reviewers will then review the incident and determine, to the best of their ability:
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.
Responses will be determined by the reviewers on the basis of the information gathered and of the potential consequences. It may include:
Funds will be allocated for project-specific services such as domain registration and website hosting. Other usage of funds has yet to be decided.
Expenses will be approved by project stewards.