In the Terraform Controller project, we aim for consensus in all our decisions. Our communication channels (GitHub, public meetings, RFCs, etc) facilitate agreement before setting up a vote.
If a decision can't be reached or the situation is unclear, this typically indicates that we need more information. In such cases, we seek additional input from users, related projects, or teams in Weaveworks Product and/or Engineering.
- Repository Maintainers: Decisions that affect the Terraform Controller repository.
- Weaveworks Tech Leads, Product Managers, Principal Engineers: Decisions that are outside the scope of the Terraform Controller repository but are related to project direction, product strategy, and higher-level technical decisions.
- Decisions needing wider input are made public by following these guidelines and the Proposal Process.
- Regardless of whether wider input is required, we believe that the best decisions are reached through Consensus.
- Most decisions begin by seeking Lazy Consensus.
- If an objection is raised during the Lazy Consensus process, Deciders work together to seek a mutually agreeable solution.
- If Consensus cannot be reached, but a decision needs to be made, the next step is to agree on calling a vote. This step is important as it allows dissenting views a chance to request more information or present additional points.
- If a vote is agreed upon, the default is a Simple Majority.
- However, there may be situations that necessitate a stronger form of voting – Supermajority – specified below:
If a vote is called, the default is a Simple Majority Vote – more than half of all Deciders.
If a vote is called, the following decisions require a Supermajority Vote – two-thirds or more of all Deciders:
- Enforcing a Code of Conduct violation by a community member.
- Licensing and intellectual property changes.
- Material changes to the Governance document.
- Note: Editorial changes to governance can be made by lazy consensus unless challenged. These changes might fix spelling or grammar, update work affiliations, or reflect an external and evident reality. They do not change the intention or meaning of anything in this document.
Please note that since Terraform Controller is a single repository project, all the maintainers, Weaveworks Tech Leads, Product Managers, and Principal Engineers are considered Deciders for the purposes of this decision-making process.