Project Governance: v1 #7103
Closed
JoshuaKGoldberg
announced in
Community Feedback
Replies: 1 comment
-
Following up: we can consider this process ratified. Thanks everyone! Later this year, look forward to the touchups (i.e. Discord roles and user payments) rolling out. 🎉 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Context
Hi everyone! The typescript-eslint project has grown a ton over the last few years. We've grown to five folks with commit access (@armano2, @bradzacher, @JamesHenry, @Josh-Cena, and myself); documentation has moved from
.md
files in GitHub to a full https://typescript-eslint.io site complete with contributing & maintenance docs; we're close to releasing the next v6 major version with tons of improvements. Lots of awesome growth & exciting upcoming stuff! 🚀As part of supporting the project's growth, we'd like to get the "governance" processes (how we manage the project) documented in a clear way that's visible to the community. We see a few major benefits from doing so:
So, to those ends, the following is a "v1" proposal of documenting our project governance. Its present state mostly formalizes how we act today, with small changes mostly made for clarity or for small improvements.
Our Ask Of You
Please read over the description & leave your feedback as threaded GitHub discussions here. We'd love to hear anything from you: what do you like? What don't you like? What should we know or think about that we aren't yet?
Please be kind - we've never done this before and recognize we might not know what impractical or terrible things we're doing. If there's anything sensitive you don't feel comfortable talking about in public, I'd encourage you to email one of the maintainers (I'm
me [at] joshuakgoldberg [dot] com
) and/or DM one of us on the typescript-eslint Discord server.Timeline
Tentatively, we'll go with a July 14th deadline for public discussion here to allow one month of community input.
~July:Formalize into thehttps://typescript-eslint.io/maintenance
docs~July:Add atypescript-eslint.io/team
page to the docsWe intend on following this up later in the year with updates to reflect improvements we want to make.
We'll also work on this continuously over time as the project grows and we learn more about governance.
Contribution Tiers
These tiers of contributors, committers, and maintainers roughly reflect how we've worked this past year.
Note that these are approximate numbers. We're a small enough team to informally discuss changes ad hoc and allow off-by-one-or-two months.
~5 points in pull requests
~15 points total
2 of 4 consecutive active months
~10 points in pull requests
~30 points total
3 of 6 consecutive active months
Each tier will be given a role on Discord.
All tier members can opt out of their tier -and therefore role- at will.
Tier members otherwise stay at their tier indefinitely.
The pool of reimbursement money is sourced from all project sponsorship -mostly Open Collective and Tidelift-, then distributed monthly to eligible contributors.
Rough Pointing
Although it's impossible to accurately estimate software projects, we want to roughly establish expectations of effort+time spent on the tiers. These are all rough estimations and should be taken as approximate starting guides to consider.
We treat both the creation and review of issues and PRs along the rough scale of:
Any other activities (e.g. responding to Discord threads, working on upstream dependencies, …) should be treated as gaining points equal to their nearest equivalent point task.
Tier Advancement
When a contributor or committer seems to roughly qualify for a next tier, members of later tiers will set up a private discussion and poll to advance them to that tier. This is mostly to prevent system gaming (e.g. an otherwise-inactive contributor sending a dozen 1-point docs fixes).
Maintenance Tasks
Issue Triage
At reviewer discretion, straightforward issues may be marked as approved by any committer or maintainer. This includes docs enhancements, bug fixes, and feature additions.
Non-straightforward issues may be marked as approved with either two committer approvals or one maintainer approval. These include significant internal refactors and non-breaking public API changes.
“Unusual”-categorized issues require a public discussion followed by two maintainer approvals. These include significant refactors with cross-project and public API ramifications.
Pull Request Reviews
At reviewer discretion, straightforward pull requests may be merged with a single approval by any committer or maintainer. This includes docs enhancements, bug fixes, and feature additions.
Non-straightforward pull requests may be merged with either two committer approvals or one maintainer approval. These include multi-package internal refactors and non-breaking public API changes.
“Unusual”-categorized pull requests require two maintainer approvals. These include significant refactors with cross-project and public API ramifications.
Monthly Reimbursements
Team members will be reimbursed the minimum of their activity level and their tier. Each month:
Community Reimbursements
Contributors who contribute nontrivial changes in a month (roughly ≥5 points and at least one large item) may be privately nominated at any time by a committer or maintainer to be reimbursed at the equivalent shares.
Our intention is to always do this for contributors who submit Large or greater contributions and don't need significant assistance in getting them merged.
Changes to Governance
Any changes to this document will be posted for open discussion on GitHub Discussions, and kept open for at least one month. The discussion will be shared at the beginning, middle, and end of that month on Discord and all our social media accounts.
Out of Scope
Likely Soon
These points we will likely look into after this governance proposal has settled. They will be largely informed by how the first few months of governance go.
Longer Term
We very much want to tackle these points, but they're not immediately next in line.
Not Likely Soon
These points we're explicitly staying away from for the forseeable future. We may eventually need them some years from now if we significantly scale up in size.
Thanks
Appreciation to the following community members for providing input:
General Resources
Prior Art
These existing governance docs in particular were helpful to us in making this proposal:
Beta Was this translation helpful? Give feedback.
All reactions