From f4fba7924b0d377633e187ca33ed55e94c1728af Mon Sep 17 00:00:00 2001 From: Timur Tukaev <90071493+tym83@users.noreply.github.com> Date: Tue, 1 Apr 2025 21:48:14 +0500 Subject: [PATCH] Create GOVERNANCE.md (#733) This is a first draft of Cozystack project governance ## Summary by CodeRabbit - **Documentation** - Introduced a new governance document outlining the project's community roles and responsibilities. - Clarified roles for various community members including users, contributors, and leadership. - Detailed the decision-making process and guidelines to promote transparent engagement and active participation. Signed-off-by: Nick Volynkin Co-authored-by: Nick Volynkin --- GOVERNANCE.md | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 GOVERNANCE.md diff --git a/GOVERNANCE.md b/GOVERNANCE.md new file mode 100644 index 00000000..3fa81317 --- /dev/null +++ b/GOVERNANCE.md @@ -0,0 +1,91 @@ +# Cozystack Governance + +This document defines the governance structure of the Cozystack community, outlining how members collaborate to achieve shared goals. + +## Overview + +**Cozystack**, a Cloud Native Computing Foundation (CNCF) project, is committed +to building an open, inclusive, productive, and self-governing open source +community focused on building a high-quality open source PaaS and framework for building clouds. + +## Code Repositories + +The following code repositories are governed by the Cozystack community and +maintained under the `cozystack` namespace: + +* **[Cozystack](https://github.com/cozystack/cozystack):** Main Cozystack codebase +* **[website](https://github.com/cozystack/website):** Cozystack website and documentation sources +* **[Talm](https://github.com/cozystack/talm):** Tool for managing Talos Linux the GitOps way +* **[cozy-proxy](https://github.com/cozystack/cozy-proxy):** A simple kube-proxy addon for 1:1 NAT services in Kubernetes with NFT backend +* **[cozystack-telemetry-server](https://github.com/cozystack/cozystack-telemetry-server):** Cozystack telemetry +* **[talos-bootstrap](https://github.com/cozystack/talos-bootstrap):** An interactive Talos Linux installer +* **[talos-meta-tool](https://github.com/cozystack/talos-meta-tool):** Tool for writing network metadata into META partition + +## Community Roles + +* **Users:** Members that engage with the Cozystack community via any medium, including Slack, Telegram, GitHub, and mailing lists. +* **Contributors:** Members contributing to the projects by contributing and reviewing code, writing documentation, + responding to issues, participating in proposal discussions, and so on. +* **Directors:** Non-technical project leaders. +* **Maintainers**: Technical project leaders. + +## Contributors + +Cozystack is for everyone. Anyone can become a Cozystack contributor simply by +contributing to the project, whether through code, documentation, blog posts, +community management, or other means. +As with all Cozystack community members, contributors are expected to follow the +[Cozystack Code of Conduct](https://github.com/cozystack/cozystack/blob/main/CODE_OF_CONDUCT.md). + +All contributions to Cozystack code, documentation, or other components in the +Cozystack GitHub organisation must follow the +[contributing guidelines](https://github.com/cozystack/cozystack/blob/main/CONTRIBUTING.md). +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 Cozystack and its maintainers to the community, to the press, +and to the outside world; interfacing with CNCF and other governance entities; +and participating in project decision-making processes when appropriate. + +Directors are elected by a majority vote of the maintainers. + +## Maintainers + +Maintainers have the right to merge code into the project. +Anyone can become a Cozystack maintainer (see "Becoming a maintainer" below). + +### Expectations + +Cozystack 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-cozystack-* emails, the Cozystack Slack channels in Kubernetes + and CNCF Slack workspaces, Telegram groups, and help out when possible. +* Rapidly respond to any time-sensitive security release processes. +* Attend Cozystack community meetings. + +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 Cozystack maintainer. Maintainers should be extremely +proficient in cloud native technologies and/or Go; have relevant domain expertise; +have the time and ability to meet the maintainer's 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.