...
MAINTAINERS.md defining active and emeritus maintainers
Maintainer responsibilities
Becoming a maintainer
Removing a maintainer, see also inactivity policy
- TODO - Clarify maintainer roles and responsibilities, e.g. prioritize pull request reviews (Stephen)
Common Repository Structure includes guidance around required and recommended repository files such as:
...
Switching 'master' to 'main' branch
Inclusive naming conventions
Inclusive language statement
- Optionally use GitHub Action DCI-Lint
Project Incubation Exit Criteria includes high level guidance applicable to any Incubation or Graduated project:
...
Use an RFC process (or similar process) for driving consensus and tracking agreement on project major decisions, features, design, etc. Examples:
https://github.com/hyperledger/sawtooth-rfcs (same process in Ursa, Grid)
- https://github.com/hyperledger/sawtooth-rfcs/blob/main/text/0006-sawtooth-governance.md (more details on Sawtooth RFC process wrt team structure and decision making)
https://github.com/hyperledger/fabric-rfcs (evolution of Sawtooth RFC process, example of github pages)
- https://github.com/hyperledger/aries-rfcs
- Use Community Specification License v1.0 in RFC repositories - Hart to ask LF legal about next steps
- Maintainer governance - see maintainer guidelines above
- Document project roles and responsibilities (maintainers, release managers, contributors, etc)
- Document project operational procedures (including road mapping, retirements)
- TODO - Task force for defining template project roles, responsibilities, operations (see AnonCreds example - spec repo with Community Specification License, Governance)
Community
- First and foremost, foster a welcoming, positive, and public environment where contributions are encouraged - see YouTube presentation
Mailing lists - perhaps one project mailing list targeted for users, and another mailing list targeted for contributor/maintainer discussion?start with a single mailing list, consider multiple if there becomes a need (users versus contributors/maintainers)
Discord Chat - important to strike a balance between too few and too many chat channels, link to Discord task force output
Public meetings - on a regular cadence. Ask community about best meeting time, consider two meetings to cover different regions, or rotating meeting times (shifted 8 hours or 12 hours)
- Meetups - Virtual or in person
- Workshops - Combination of in person (e.g. Global Forum), virtual, and recorded
Pull Requests - quick review turnarounds are appreciated and encourage future contributions
Contributing docs - examples:
- NOTE - Perhaps common "contributing" content can be aggregated so that each project doesn't have to re-invent and re-document.
...