This document defines project governance for Linkerd.
The Linkerd maintainers are 100% committed to open governance and to being hosted by a neutral foundation. We believe that a diverse and active set of maintainers is fundamental to the long-term health of an open source project. And we want YOU to join us.
— Linkerd's Commitment to Open Governance
Linkerd is for everyone. Anyone can become a Linkerd contributor simply by contributing to the project, whether through code, documentation, blog posts, community management, or other means. As with all Linkerd community members, contributors are expected to follow the Linkerd Code of Conduct.
All contributions to Linkerd code, documentation, or other components in the Linkerd GitHub org must follow the guidelines in CONTRIBUTING.md. Whether these contributions are merged into the project is the prerogative of the maintainers.
Directors are responsible for non-technical leadership functions within the project. This includes representing Linkerd and its maintainers to the community, to press, and to the outside world; interfacing with CNCF and other governance entities; and participating in project decision-making processes when appropriate.
Directors may be elected by a majority vote of the maintainers.
Maintainers have the ability to merge code into the project. Anyone can become a Linkerd maintainer (see "Becoming a maintainer" below.)
Linkerd maintainers are expected to:
- Review pull requests, triage issues, and fix bugs in their areas of expertise, ensuring that all changes go through the project's code review and integration processes.
- Monitor cncf-linkerd-* emails and the Linkerd Slack, and help out when possible.
- Rapidly respond to any time-sensitive security release processes.
- Attend meetings with the Linkerd Steering Committee.
If a maintainer is no longer interested in or cannot perform the duties listed above, they should move themselves to emeritus status. If necessary, this can also occur through the decision-making process outlined below.
Anyone can become a Linkerd maintainer. Maintainers should be extremely proficient in Go and/or Rust; have relevant domain expertise; have the time and ability to meet the maintainer expectations above; and demonstrate the ability to work with the existing maintainers and project processes.
To become a maintainer, start by expressing interest to existing maintainers. Existing maintainers will then ask you to demonstrate the qualifications above by contributing PRs, doing code reviews, and other such tasks under their guidance. After several months of working together, maintainers will decide whether to grant maintainer status.
Ideally, all project decisions are resolved by consensus of maintainers and directors. If this is not possible, a vote will be called. The voting process is a simple majority in which each maintainer and director receives one vote.