Skip to content
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

doc: add section for project captains #4210

Closed
Closed
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
38 changes: 34 additions & 4 deletions Contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ contributors can be involved in decision making.

* A **Contributor** is any individual creating or commenting on an issue or pull request.
* A **Committer** is a subset of contributors who have been given write access to the repository.
* A **Project Captain** is the lead maintainer of a repository.
* A **TC (Technical Committee)** is a group of committers representing the required technical
expertise to resolve rare disputes.

Expand Down Expand Up @@ -72,14 +73,43 @@ If a consensus cannot be reached that has no objections then a majority wins vot
is called. It is also expected that the majority of decisions made by the TC are via
a consensus seeking process and that voting is only used as a last-resort.

Resolution may involve returning the issue to committers with suggestions on how to
move forward towards a consensus. It is not expected that a meeting of the TC
Resolution may involve returning the issue to project captains with suggestions on
how to move forward towards a consensus. It is not expected that a meeting of the TC
will resolve all issues on its agenda during that meeting and may prefer to continue
the discussion happening among the committers.
the discussion happening among the project captains.

Members can be added to the TC at any time. Any committer can nominate another committer
to the TC and the TC uses its standard consensus seeking process to evaluate whether or
not to add this new member. Members who do not participate consistently at the level of
a majority of the other members are expected to resign.


# Project Captains
dougwilson marked this conversation as resolved.
Show resolved Hide resolved

The Express TC can designate captains for individual projects/repos in the
organizations. These captains are responsible for being the primary
day-to-day maintainers of the repo on a technical and community front.
Repo captains are empowered with repo ownership and module publication rights.
When there are conflicts, especially on topics that effect the Express project
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@yg - thanks. I, not being a native speaker, is at a bit loss to draw a clear line here. So I will leave it for now, and if there are more opinions coming in favor of this change, I will happily make this change!

at large, captains are responsible to bring it up with the TC and drive
those conflicts to resolution. Captains are also responsible in making sure
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ditto, as above

community members follow the community guidelines, maintaining the repo
and the registry, as well as in providing user support.

Like TC members, Repo captains are a subset of committers.

To become a captain for a project the candidate is expected to participate in that
project for at least 6 months prior to the request. They should have helped with
code contributions as well as triaging issues. They are also required to have 2FA
enabled on both their GitHub and npm accounts. When they want to request the
captain role, submit a PR to this doc, under `Current Project Captains` section
(maintaining the sort order) with the project, their GitHub handle and npm username.
The PR will require at least 2 approvals from TC members and 2 weeks hold time to
allow for comment. When the PR is merged, a TC member will add them to the proper
GitHub groups, as well as grant their npm publish rights.

## Current Project Captains
dougwilson marked this conversation as resolved.
Show resolved Hide resolved

- `expressjs.com`: @crandmck
- `multer`: @LinusU
- `path-to-regexp`: @blakeembrey
- `router`: @dougwilson