Skip to content

Latest commit

 

History

History
108 lines (68 loc) · 6.19 KB

governance.md

File metadata and controls

108 lines (68 loc) · 6.19 KB

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. We welcome all contributions
  • Respectful and welcoming - See our Code of Conduct
  • 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.

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.

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

The SC meeting scope is different from the weekly Confidential Containers community meeting, 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)