-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create GOVERNANCE.md #1
base: main
Are you sure you want to change the base?
Conversation
This is an updated GOVERNANCE document that builds upon the one currently in runatlantis/atlantis. Changes include but are not limited to: - Introducing language around a new two-tier governance model - new Atlantis Steering Committee - new Membership tiers per-repository - Added membership tier's roles and responsibilities - Updated Voting process
|
||
## Atlantis Steering Committee | ||
|
||
The Atlantis project has a project steering committee consisting of 5 members, with a maximum of 1 member from any single organization. The steering committee in Atlantis has a final say in any decision concerning the Atlantis project, with the exceptions of deciding steering committee membership, and changes to project governance. See [Updating Governance](#Updating-Governance). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
does it have to be 5 members off the start, or we can grow into it once we start our cncf journey?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
quorum style with 3 initial members and then jumping to 5?
- Periodically attend the recurring community meetings | ||
- In general, continue to be willing to spend at least 5% of their time working on Atlantis (~0.25 business days per week) | ||
|
||
Each repository's current list of core-contributors is published and updated in each repo’s OWNERS.md file. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe just owners file?
Each repository's current list of core-contributors is published and updated in each repo’s OWNERS.md file. | |
Each repository's current list of core-contributors is published and updated in each repo’s OWNERS file. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are CODEOWNERS
and OWNERS
interchangeable here?
- Periodically attend the recurring steering committee meetings to provide input | ||
- In general, continue to be willing to spend at least 25% of their time working on Atlantis (~1.25 business days per week) | ||
|
||
Each repository's current list of maintainers is published and updated in each repo’s OWNERS.md file. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same question about the file for owners
|
||
#### Removing a core-contributor or maintainer | ||
|
||
If a core-contributor or maintainer is no longer interested or cannot perform the the duties listed above, they should volunteer to be moved to emeritus status. In extreme cases this can also occur by a vote of the maintainers per the voting process below. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On paper, contributor/maintainer should opt out, but it is a bit tricky process.
## Updating Governance | ||
|
||
This governance will likely be a living document, and its policies will, therefore, need to be updated over time as the community grows. The steering committee has full ownership of this governance and only the committee may make updates to it. Changes can be made at any time, but a super-majority (at least 2/3 of votes) is required to approve any updates. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
wonder if it would be good to also include CoC
## Code of Conduct
--
The [Atlantis Code of Conduct](CODE_OF_CONDUCT.md) is aligned with the CNCF Code of Conduct.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What a fantastic document! Good job 🎉 Really excited to see this happening for the Atlantis org!
Feel free to ignore any and all of my suggested edits or questions if they are not applicable (I'm not native english, so might have gotten some of suggestions wrong)
|
||
## Atlantis Steering Committee | ||
|
||
The Atlantis project has a project steering committee consisting of 5 members, with a maximum of 1 member from any single organization. The steering committee in Atlantis has a final say in any decision concerning the Atlantis project, with the exceptions of deciding steering committee membership, and changes to project governance. See [Updating Governance](#Updating-Governance). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
quorum style with 3 initial members and then jumping to 5?
@@ -0,0 +1,192 @@ | |||
# Atlantis Governance | |||
|
|||
**Atlantis** is committed to building an open, inclusive, productive, and self-governing community focused on building a high-quality infrastructure orchestration system. This document governs the community and defines how it should work together to achieve this goal. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"building" is used quite a lot in different contexts (systems, groups (of people)), so this makes it more natural to read
**Atlantis** is committed to building an open, inclusive, productive, and self-governing community focused on building a high-quality infrastructure orchestration system. This document governs the community and defines how it should work together to achieve this goal. | |
**Atlantis** is committed to building an open, inclusive, productive, and self-governing community focused on creating a high-quality infrastructure orchestration system. This document governs the community and defines how it should work together to achieve this goal. |
|
||
**Atlantis** is committed to building an open, inclusive, productive, and self-governing community focused on building a high-quality infrastructure orchestration system. This document governs the community and defines how it should work together to achieve this goal. | ||
|
||
Atlantis follows a two-tier governance model. The higher tier comprises the Atlantis Steering Committee, responsible for the project's overall health. [Maintainers](#Maintainer), [Core-Contributors](#Core-Contributor), and [Members](#Member) make up the lower tier. They are the main contributors to one or more repositories within the overall project. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Atlantis follows a two-tier governance model. The higher tier comprises the Atlantis Steering Committee, responsible for the project's overall health. [Maintainers](#Maintainer), [Core-Contributors](#Core-Contributor), and [Members](#Member) make up the lower tier. They are the main contributors to one or more repositories within the overall project. | |
Atlantis follows a two-tier governance model. The higher tier comprises the Atlantis Steering Committee, which is responsible for the project's overall health. [Maintainers](#Maintainer), [Core-Contributors](#Core-Contributor), and [Members](#Member) make up the lower tier. They are the main contributors to one or more repositories within the overall project. |
|
||
Atlantis follows a two-tier governance model. The higher tier comprises the Atlantis Steering Committee, responsible for the project's overall health. [Maintainers](#Maintainer), [Core-Contributors](#Core-Contributor), and [Members](#Member) make up the lower tier. They are the main contributors to one or more repositories within the overall project. | ||
|
||
The governance policies defined here apply to all repositories in the runatlantis GitHub organization. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The governance policies defined here apply to all repositories in the runatlantis GitHub organization. | |
The governance policies defined here apply to all repositories in the [`runatlantis`](https://github.com/runatlantis) GitHub organization. |
|
||
## Atlantis Steering Committee | ||
|
||
The Atlantis project has a project steering committee consisting of 5 members, with a maximum of 1 member from any single organization. The steering committee in Atlantis has a final say in any decision concerning the Atlantis project, with the exceptions of deciding steering committee membership, and changes to project governance. See [Updating Governance](#Updating-Governance). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Atlantis project has a project steering committee consisting of 5 members, with a maximum of 1 member from any single organization. The steering committee in Atlantis has a final say in any decision concerning the Atlantis project, with the exceptions of deciding steering committee membership, and changes to project governance. See [Updating Governance](#Updating-Governance). | |
The Atlantis project has a steering committee of 5 members, with a maximum of 1 member from any organization. The steering committee has the final say in any decision concerning the Atlantis project, with the exceptions of deciding steering committee membership and changes to project governance. See [Updating Governance](#Updating-Governance). |
- Seek review and obtain approval from the steering committee when making a change to central architecture that will have broad impact across multiple repositories | ||
- Contribute non-trivial pull requests | ||
- Perform code reviews on other's pull requests | ||
- Ensure that proposed changes to your repository adhere to the established standards, best practices, and guidelines, and that the overall quality and integrity of the code base is upheld. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Ensure that proposed changes to your repository adhere to the established standards, best practices, and guidelines, and that the overall quality and integrity of the code base is upheld. | |
- Ensure that proposed changes to your repository adhere to the established standards, best practices, and guidelines, and that the overall quality and integrity of the code base is upheld |
|
||
Responsibilities include: | ||
|
||
- Strong commitment to the project |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like this, but how is that measured; its a bit more subjective than the other responsibilities listed.
- Participate in design and technical discussions | ||
- Participate in the conflict resolution and voting process at the repository scope when necessary | ||
- Seek review and obtain approval from the steering committee when making a change to central architecture that will have broad impact across multiple repositories | ||
- Contribute non-trivial pull requests |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think I understand the intent of this, but 20 "trivial" quality of life changes can easily outshine a single "non-trivial" change in terms of project health, quality, and improved velocity in the long term; so feels a bit weird calling out out "output" here rather than "outcomes" of the contributions
Issues can be resolved or voted on at different scopes: | ||
|
||
* **Repository**: When an issue or conflict only affects a single repository, then the maintainer team for that repository should resolve or vote on the issue. This includes technical decisions as well as team membership. | ||
* **Organization**: If an issue or conflict affects multiple repositories or the Atlantis organizations and community at large, the steering committee should resolve or vote on the issue. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should
or must
? it feels like a must
since they are the highest authority
* **Organization**: If an issue or conflict affects multiple repositories or the Atlantis organizations and community at large, the steering committee should resolve or vote on the issue. | |
* **Organization**: If an issue or conflict affects multiple repositories or the Atlantis organizations and community at large, the steering committee must resolve or vote on the issue. |
|
||
### Issue Voting Process | ||
|
||
The issue voting process is usually a simple majority in which each entity within the voting scope gets a single vote. The following decisions require a super majority (at least 2/3 of votes). All other decisions and changes require only a simple majority: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what happens if voting is 50/50 (even number of legible voters) - who acts as tie breaker?
Co-authored-by: Rui Chen <[email protected]>
This is an updated GOVERNANCE document that builds upon the one currently in runatlantis/atlantis.
Changes include but are not limited to: