-
-
Notifications
You must be signed in to change notification settings - Fork 20
chore(team): write governance #159
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
5613029
ff3bcb5
2b5b796
935e45d
5c01fb1
1e500ab
1a7c595
91f2283
c91f42a
10f354c
0a9570a
d777d24
b5e5152
2182c13
1aebee5
1ff9e7a
dec8634
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
# `userland-migrations` Team Governance | ||
|
||
Meet the current team members of the Node.js userland migrations: | ||
|
||
- [@alexbit-codemod](https://github.com/alexbit-codemod) - **Alex Bit** | ||
- [@AugustinMauroy](https://github.com/AugustinMauroy) - **Augustin Mauroy** (he/him) | ||
- [@avivkeller](https://github.com/avivkeller) - **Aviv Keller** (he/him) | ||
- [@bmuenzenmeyer](https://github.com/bmuenzenmeyer) - **Brian Muenzenmeyer** (he/him) | ||
- [@brunocroh](https://github.com/brunocroh) - **Bruno Rodrigues** | ||
- [@mohebifar](https://github.com/mohebifar) - **Mohammad Mohebifar** | ||
- [@JakobJingleheimer](https://github.com/JakobJingleheimer) - **Jacob Smith** (he/him) - Maintainer | ||
- [@ljharb](https://github.com/ljharb) - **Jordan Harband** (he/him) | ||
|
||
## Rights | ||
|
||
Any team member or Node.js collaborator can block a pull request or decision. A block can be overturned by a team vote, which requires a quorum of two-thirds of active members and passes with a simple majority (>50%). Votes must be concluded within a maximum of two weeks from the time they are initiated. If a team member does not participate in the vote within this time frame, their vote will be considered abstained. Pursuant to Node.js policy, the [TSC](https://github.com/nodejs/TSC) may override a team’s vote. | ||
|
||
### Active vs inactive membership | ||
|
||
### Retaining Membership | ||
|
||
Members are expected to engage in project discussions regularly, and members inactive for more than six months may be removed from the active members list. Removed members can be reinstated upon returning to active participation. | ||
|
||
## Team nomination | ||
|
||
This policy extends the parent Node.js policy. | ||
|
||
Current Node.js collaborators are free to join at any time and do not require a nomination. | ||
|
||
Current Node.js members who are not collaborators are free to request to join without a nomination or meeting contribution criteria. The request must have no objections after 3 days. All active members must be notified of the request. | ||
|
||
Non-members of the Node.js org should meet the following criteria: | ||
|
||
- ~2 months of consistent (substantive, non-trivial) contribution/participation. | ||
- _Consistent_ means roughly once a week (we all have lives) | ||
- _Substantive_ means adds value and does not detract from the issue at hand. | ||
|
||
Exceptions may be made for members of the larger ecosystem who are well known to the Node.js organisation. | ||
|
||
An active team member may nominate a contributor who meets this criteria. The nomination must pass before requesting the contributor be added to the organisation. All active members must be notified of the nomination. | ||
|
||
A nomination should be raised privately with active team members before publicly, out of respect for the nominee. | ||
|
||
### Team Maintainers | ||
|
||
Team maintainers serve in an administrative capacity and are not considered "more equal" than other active team members. Their primary role is to support smooth project operations. | ||
|
||
Maintainership includes responsibilities such as managing the GitHub repository and team, handling membership changes, and performing administrative tasks, especially those that may be destructive or sensitive in nature. | ||
|
||
Maintainers ensure team policies are upheld and may exercise discretion when taking necessary actions, such as removing inactive members in accordance with team guidelines. | ||
|
||
Additionally, maintainers have the ability to bypass GitHub branch protection rules to merge pull requests, typically in cases of trivial edits, urgent corrections, or hot-fixes. | ||
|
||
Maintainers are also responsible for creating tags on the repository's `HEAD` branch to trigger the CI pipeline and initiate a release. Tags must adhere to the format `vX.Y.Z@workspace`, where `X.Y.Z` represents the version number and `workspace` specifies the npm workspace (e.g., `v1.2.3@codemod`). | ||
|
||
## Team removal | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Please remove all this section, I don't think it's in the purview of a team to self-moderate. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Why is it not in the purview of a team to moderate itself? AFAIK, there is historic precedent, as well as the TSC is itself self-moderating. |
||
|
||
A team member who violates the Node.js Code of Conduct (CoC) will be reported to the Node.js Moderation Team. The Moderation Team will investigate and take appropriate action. If the Moderation Team removes the individual from the Node.js organization, no further action is required by this team, as the individual will no longer be eligible for membership. | ||
|
||
If the Moderation Team does not remove the individual from the organization, this team may decide to take internal action, including expulsion. Such a decision requires a vote of the team, with a quorum of two-thirds of active members and passing with a three-fifths supermajority. If a vote passes with a simple majority but fails to meet the supermajority threshold, the team member will be asked to voluntarily step down. Expulsion votes are confidential and may be verified in confidence by the TSC. | ||
|
||
During expulsion proceedings, the team member's participation is frozen until the discussion is getting resolved. |
Uh oh!
There was an error while loading. Please reload this page.