Skip to content

Document and make official repo captains #98

@wesleytodd

Description

@wesleytodd

I think we need dedicated captains for some modules. We already have this in practice with @LinusU and multer and @blakeembrey with path-to-regexp. But all of the rest fall back to @dougwilson. I think this would load balance a bit better, and would empower people to really push those forward if we had others on some of the more important once. I see no reason why it should not be multiple people for each in the future, but for now we just need a better clear guideline on how to "own" a repo and what the expectations are. I think we need to document it and make it official as the process for the TC.

On a tactical note, there are some important and high priority things I would like to finish in generator and router and I would feel much more empowered to do them if I had some officially recognized capacity to do so (and obviously publish rights). If I feel this way, I am sure that many others who might step up their contribution game also would. I think this would also be one way to start opening up the publish rights across the org without getting too crazy.

Here is my proposed addition to the contribution guide or new charter document:

### Project Captains

The Express TC can designate captains for individual projects/repos in the
three organizations. These captains are responsible for being the primary
day-to-day maintainers of the repo on a technical and community front.
They will ensure that decisions which effect the Express project at large are
brought up with the TC (in meeting or over GitHub issues) but otherwise will
have the full authority in the direction of the individual project.  These captains
will be given full permissions on both the repo as well as the npm packages, and
will follow the community guidelines for publishing and maintaining support.

To become a captain for a project you will be expected to participate in that
project for at least 6 months prior to the request.  You should have helped with
code contributions as well as triaging issues.  You are also required to have 2FA
enabled on both your GitHub and npm accounts. When you want to request the
captain role, submit a PR to this doc with the project and your GitHub handle.  The
PR will require at least 2 approvals from TC members and 2 weeks hold time to
allow for dissent.  When the PR is merged, a TC member will add you to the proper
GitHub groups, as well as grant you npm publish rights.  

#### Current Project Captains

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

Obviously @dougwilson is the defacto captain for everything else, so I am not sure if it is worth saying that explicitly. Maybe we could just say "the TC is in charge if no one is explicitly listed below"?

Thoughts on this? If we like it I can do one of three things:

  • add it to the charter.md document PR
  • open a new PR against the new charter.md
  • open a new PR with it to the contributing.md

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions