mirror of
https://github.com/outbackdingo/cozystack.git
synced 2026-01-27 10:18:39 +00:00
This is a first draft of Cozystack project governance <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## 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. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Signed-off-by: Nick Volynkin <nick.volynkin@gmail.com> Co-authored-by: Nick Volynkin <nick.volynkin@gmail.com>
92 lines
4.6 KiB
Markdown
92 lines
4.6 KiB
Markdown
# 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.
|