Skip to content

mrpowers-io repo management

This page explains how the repos in the mrpowers-io GitHub organization should be managed.

Repo roles

A GitHub repo can assign a user the following roles:

  • read: can read/clono repo and open/comment on PRs/issues (default permissions for OSS repos anyways)
  • triage: can also manage issues / PRs
  • write: can also push to repo
  • maintain: also have some repo settings
  • admin: have more repo settings and can add collaborators

The repo maintainers should vote on giving access to new members. They should also nominate new members based on their repo activity and interest.

Maintainer voting

Maintainers should vote on GitHub Discussion threads or mailing lists.

The proposal should be fully outlined in the Discussion topic. Stakeholders can respond with a vote from +1 to -1, aligned with Apache expression voting.

Community votes are valued, but maintainer votes are all that count for the final decision.

Unlike Apache voting which allows for vetos, mrpowers-io voting is majority rules. But conflicts should be escalated to the mrpowers-io organization owners for resolution.

Quarterly project reporting

Projects should report to the mrpowers-io organization owners on a quarterly basis with the following information:

  • project metrics
  • quick summary of progress in the previous quarter
  • plan for the upcoming quarter

The project metrics can be accumulated programatically usually.

The retrospective and plan can be detailed or quick. The dev teams should demonstrate that they're studying the data, identifying where the project needs to be improved, and allocating effort to the highest ROI activities.

Project license

Projects should use the Apache or MIT license.

The mrpowers-io organization is for open source repos with permissive licenses.

Deactivating maintainers

Maintainers will become inactive from time-to-time because of sabbaticals, other interests or a change in priorities.

Any maintainer that's inactive for some time will be switched to the maintainer alumni bucket and their repo permissions/voting rights will be removed.

Deactivating projects

Projects that become deactive for some time will either be transferred to a different GitHub owner or archived.

The mrpowers-io organization is for projects that are maintained and have an active user base.

It's OK for projects to go into "maintenance mode" if there are users and new features don't need to be added anymore.