The Aeraki Mesh and its leadership embrace the following values:
-
Openness: Communication and decision-making happens in the open and is discoverable for future reference. As much as possible, all discussions and work take place in public forums and open repositories.
-
Fairness: All stakeholders have the opportunity to provide feedback and submit contributions, which will be considered on their merits.
-
Community over Product or Company: Sustaining and growing our community takes priority over shipping code or sponsors' organizational goals. Each contributor participates in the project as an individual.
-
Inclusivity: We innovate through different perspectives and skill sets, which can only be accomplished in a welcoming and respectful environment.
-
Participation: Responsibilities within the project are earned through participation, and there is a clear path up the contributor ladder into leadership positions.
Aeraki Mesh Maintainers have write access to the corresponding project GitHub repository. They can merge their own patches or patches from others. The current maintainers can be found in MAINTAINERS. Maintainers collectively manage the project's resources and contributors.
This privilege is granted with some expectation of responsibility: maintainers are people who care about the Aeraki Mesh project and want to help it grow and improve. A maintainer is not just someone who can make changes, but someone who has demonstrated their ability to collaborate with the team, get the most knowledgeable people to review code and docs, contribute high-quality code, and follow through to fix issues (in code or tests).
A maintainer is a contributor to the project's success and a citizen helping the project succeed.
To become a Maintainer you need to demonstrate the following:
- commitment to the project
- participate in discussions, contributions, code reviews for 3 months or more,
- contribute 5 non-trivial pull requests and have them merged into the
master
branch,
- ability to write good code,
- ability to collaborate with the team,
- understanding of how the team works (policies, processes for testing and code review, etc),
- understanding of the projects' code base and coding style.
A new Maintainer must be proposed by an existing maintainer by sending a message to the [developer mailing list](TODO: List Link). A simple majority vote of existing Maintainers approves the application.
Maintainers who are selected will be granted the necessary GitHub rights, and invited to the private maintainer mailing list.
Maintainers are required to participate in the project, by joining discussions, submitting and reviewing pull requests, answering user questions, among others.
Maintainers are also encouraged to speak about Aeraki Mesh at conferences, especially KubeCon+CloudNativeCon+IstioCon.
We do not expect anyone to make a permanent commitment to be a Aeraki Mesh maintainer forever. After all, circumstances change, people get new jobs, new interests, and may not be able to continue contributing to the project. At the same time, we need to keep the list of maintainers current in order to have effective governance. People may be removed from the current list of maintainers via one of the following ways:
- They can resign
- If they stop contributing to the project for a period of 6 months or more
- By a 2/3 majority vote by maintainers
Former maintainers can be reinstated to full maintainer status through the same process of Becoming a Maintainer as first-time nominees.
Former maintainers are recognized with an honorary Emeritus Maintainer status, and have their names permanently listed in the README as a form of gratitude for their contributions.
All changes in Governance require a 2/3 majority vote by maintainers.
Unless specified above, all other changes to the project require a 2/3 majority vote by maintainers. Additionally, any maintainer may request that any change require a 2/3 majority vote by maintainers.