Skip to content
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

Merged
merged 17 commits into from
Aug 27, 2024
Merged

Create GOVERNANCE.md #1

merged 17 commits into from
Aug 27, 2024

Conversation

GenPage
Copy link
Member

@GenPage GenPage commented May 12, 2024

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
    • Org-tier: Atlantis Steering Committee
    • Repo-tier: Contributor membership tiers
  • Added membership tier's roles and responsibilities
    • Replaced Users with Members
    • Removed Contributors
    • Clarified Core-Contributors and Maintainers
  • Updated Conflict resolution and Voting process
  • Removed Proposal process (will end up in a new doc)

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
@GenPage GenPage added documentation Improvements or additions to documentation governance labels May 12, 2024
@GenPage GenPage requested review from chenrui333 and jamengual May 12, 2024 00:35
@GenPage GenPage self-assigned this May 12, 2024
GOVERNANCE.md Outdated

## 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).
Copy link
Member

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?

Copy link
Contributor

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?

GOVERNANCE.md Outdated Show resolved Hide resolved
GOVERNANCE.md Outdated Show resolved Hide resolved
- 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.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe just owners file?

Suggested change
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.

Copy link
Contributor

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?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OWNER.md is a separate file from CODEOWNERS. It is used to identify individual repo roles rather than the entire organization roles.

- 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.
Copy link
Member

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

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OWNER.md is a separate file from CODEOWNERS. It is used to identify individual repo roles rather than the entire organization roles.


#### 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.
Copy link
Member

@chenrui333 chenrui333 May 13, 2024

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.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there any change that needs to be made here? Volunteer to emerius is the same as opting out or stepping down. Do we need to improve the language?

## 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.

Copy link
Member

@chenrui333 chenrui333 May 13, 2024

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.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we just remove our copy and link directly to the CNCF CoC.

Copy link
Contributor

@jippi jippi left a 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)

GOVERNANCE.md Outdated

## 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).
Copy link
Contributor

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?

GOVERNANCE.md Outdated Show resolved Hide resolved
GOVERNANCE.md Outdated Show resolved Hide resolved
GOVERNANCE.md Outdated Show resolved Hide resolved
GOVERNANCE.md Outdated Show resolved Hide resolved
GOVERNANCE.md Outdated Show resolved Hide resolved

Responsibilities include:

- Strong commitment to the project
Copy link
Contributor

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
Copy link
Contributor

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

GOVERNANCE.md Outdated Show resolved Hide resolved

### 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:
Copy link
Contributor

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?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's no guidance on this. See: https://github.com/cncf/project-template/blob/main/GOVERNANCE-maintainer.md#voting

The voting entities should prioritize membership count with odd numbers to avoid this, and most likely will be to prioritize nominating/voting new members to the role before proceeding with a vote.

Co-authored-by: Rui Chen <rui@chenrui.dev>
@chenrui333
Copy link
Member

GenPage and others added 10 commits August 16, 2024 17:00
Co-authored-by: Christian Winther <jippignu@gmail.com>
Co-authored-by: Christian Winther <jippignu@gmail.com>
Co-authored-by: Christian Winther <jippignu@gmail.com>
Co-authored-by: Christian Winther <jippignu@gmail.com>
Co-authored-by: Christian Winther <jippignu@gmail.com>
Co-authored-by: Christian Winther <jippignu@gmail.com>
Co-authored-by: Christian Winther <jippignu@gmail.com>
Co-authored-by: Christian Winther <jippignu@gmail.com>
Co-authored-by: Christian Winther <jippignu@gmail.com>
Co-authored-by: Christian Winther <jippignu@gmail.com>
GenPage and others added 2 commits August 16, 2024 17:35
Co-authored-by: Christian Winther <jippignu@gmail.com>
Co-authored-by: Christian Winther <jippignu@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation governance
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants