...
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)
- https://github.com/hyperledger/aries-rfcs
Community
- First and foremost, foster a welcoming, positive, and public environment where contributions are encouraged
Mailing lists - perhaps one project mailing list targeted for users, and another mailing list targeted for contributor/maintainer discussion?
Discord Chat - important to strike a balance between too few and too many chat channels
Public meetings - on a regular cadence
- 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.
...