# Linkerd Governance

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.

&mdash; [Linkerd's Commitment to Open
Governance](https://linkerd.io/2019/10/03/linkerds-commitment-to-open-governance/)

## Contributors

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][coc].

All contributions to Linkerd code, documentation, or other components in the
Linkerd GitHub org must follow the guidelines in [CONTRIBUTING.md][contrib].
Whether these contributions are merged into the project is the prerogative of
the maintainers.

## Directors

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

Maintainers have the ability to merge code into the project. Anyone can
become a Linkerd maintainer (see "Becoming a maintainer" below.)

### Expectations

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.

### Becoming a maintainer

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.

## Project decision-making process

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.

[coc]: https://github.com/linkerd/linkerd/wiki/Linkerd-code-of-conduct
[contrib]: https://github.com/linkerd/linkerd2/blob/main/CONTRIBUTING.md
