From 2f895dd7bbef78e8dd80c2754de7949a25df5031 Mon Sep 17 00:00:00 2001 From: Samuel Ortiz Date: Wed, 6 Apr 2022 10:44:14 +0200 Subject: [PATCH] governance: Initial definition * Roles defintion * Steering Committee initial composition * SC scope and Responsibilities Fixes #9 Signed-off-by: Samuel Ortiz --- governance.md | 108 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 governance.md diff --git a/governance.md b/governance.md new file mode 100644 index 0000000..ab43560 --- /dev/null +++ b/governance.md @@ -0,0 +1,108 @@ +# Principles + +The Confidential Containers is an open source organization and community that adheres to the following principles: + +* Open - Confidential Containers is an open source project licensed under the [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0). + We welcome all [contributions](https://github.com/confidential-containers/community/blob/main/CONTRIBUTING.md) +* Respectful and welcoming - See our [Code of Conduct](https://github.com/confidential-containers/community/blob/main/CODE_OF_CONDUCT.md) +* Transparent - All discussions leading to contributions to the project should be open to all and done in public. + There maybe exceptions for preliminary effort (e.g. security related work) but the point of disclosure will still lead to a transparent discussion in public, either through our GitHub repositories or public meetings. + +# Projects + +The Confidential Containers organization is composed of multiple projects. + +A project is the primary unit of collaboration, therefore each project has its own repository and maintainers team. +All projects follow the [Code of Conduct](https://github.com/confidential-containers/community/blob/main/CODE_OF_CONDUCT.md). + +# Community Members and Roles + +Everyone is welcome to participate to the Confidential Containers projects, and there are 3 community member roles: + +## Contributor + +Anyone that contributed to one of the Confidential Containers projects within the last 12 months is a *Contributor*. +Any merged Pull Request is considered a valid contribution. + +Contributions are not limited to code alone. +Adding or enhancing documentation, tests, tools, project artifacts are all valuable ways to contribute to a Confidential Containers project. + +Project contributions will be reviewed by the project maintainers and should pass all applicable tests. + +## Maintainer + +Each project has one or more *Maintainer*. +Project maintainers are first and foremost active *Contributors* to the project and are responsible for: + +* Setting technical directions for the project. +* Facilitating, reviewing and merging contributions. + They have write access to the project repository. +* Creating and assigning project issues. +* Enforcing the [Code of Conduct](https://github.com/confidential-containers/community/blob/main/CODE_OF_CONDUCT.md). + +The list of maintainers for a project is defined by the project `CODEOWNERS` file placed at the top-level of each project's repository. + +### Becoming a project maintainer + +Existing maintainers may decide to elevate a *Contributor* to the *Maintainer* role based on the contributor established trust and contributions relevance. +This decision process is not formally defined and is based on lazy consensus from the existing maintainers. + +Any contributor may request for becoming a project maintainer by opening a pull request (PR) against the `CODEOWNERS` file, and adding *all* current maintainers as reviewer of the PR. +Maintainers may also pro-actively promote contributors based on their contributions and leadership track record. + +## Steering Committee Member + +The Steering Committee (SC) is the overall Confidential Containers organization governing body. + +The SC provides decision-making and strategic oversight for the project. +It also defines and enforces the project values and structure. + +### Scope and Responsibilities + +The scope and responsibilites of the SC is subject to changes, and SC members must adapt it to meet the project needs. +Moreover, any technical responsibilities should be delegated to project Maintainers, although the SC can be consulted to help the with making technical decisions. + +Based on that, the SC is responsible for: + +* Defining the project high-level strategy and roadmap +* Managing and administrating the project, like e.g. preparing the weekly community meeting +* Building and growing a transparent and inclusive Confidential Containers community +* Onboarding and guiding Confidential Containers end-users + +Further, as leaders in the community, the SC members will make themselves familiar with the material in the Linux Foundation's [Open Source Community Orientation](https://training.linuxfoundation.org/training/inclusive-open-source-community-orientation-lfc102/) in order to help grow a healthy community. + +### Members + +The initial composition of the SC is self-defined and is made of 10 members: + +* Larry Dewey (@larrydewey) - AMD +* Jiang Liu (@jiangliu) and Jia Zhang (@jiazhang0) - Alibaba +* James Magowan (@magowan) and Tobin Feldman-Fitzthum (@fitzthum) - IBM +* Peter Zhu (@peterzcst) and Dan Middleton (@dcmiddle) - Intel +* Pradipta Banerjee (@bpradipt) and Ariel Adam (@ariel-adam) - Red Hat +* Samuel Ortiz (@sameo) + +#### Selection + +The initial SC members will be responsible for defining how and when the SC membership can be expanded or renewed. + +### Decision-making + +The SC routinely makes decisions, technical or not, sometimes as a consulting request from project Maintainers or Contributors. + +The SC decision-making process is [driven by consensus](https://en.wikipedia.org/wiki/Consensus_decision-making), i.e. the SC will try to reach consensus through discussions and potentially many revisions iterations for any given proposal. +The main goal is not to get full agreement from all SC members on a final decision, but rather for most people to only be left with minor objections. + +Voting on a decision proposal should be used as a last resort solution, as it can potentially leave several SC members major concerns unaddressed. + +### Meeting + +The SC meets every other week. Meeting time may change depending on the composition of the SC, in order to adapt to SC members local time zones. +The meeting is public and recorded, and follows a [publicly available agenda](https://docs.google.com/document/d/15epr-ZDmlIp-8jR0HQAaK0aXNddYp-gdwZnvUFQysLw/edit?usp=sharing). + +The SC meeting scope is different from the weekly [Confidential Containers community meeting](https://docs.google.com/document/d/1E3GLCzNgrcigUlgWAZYlgqNTdVwiMwCRTJ0QnJhLZGA/edit?usp=sharing), the latter being mostly focused on specific and technical details of one or more Confidential Containers project. + +Each SC member is expected to attend the SC meetings, and the following guidelines are used to determine if quorum is reached: + +* Quorum to meet is 1/2 (5/10) +* Quorum to vote is 2/3 (7/10)