-
Notifications
You must be signed in to change notification settings - Fork 105
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
community, wg, template: create wg templates #301
Merged
Merged
Changes from all commits
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
44a6d50
community, wg, README: add documentation around SIGs and WGs
dhiller c2e48ae
community, wg, template: create wg templates
dhiller e14feb7
community, wg, template: update GOVERNANCE.md
dhiller 41c7ffc
Apply suggestions from code review
dhiller 713e53d
wg, template: remove leads section
dhiller File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,14 @@ | ||
# Project Governance | ||
|
||
- [Maintainers](#maintainers) | ||
- [Becoming a Maintainer](#becoming-a-maintainer) | ||
- [Meetings](#meetings) | ||
- [CNCF Resources](#cncf-resources) | ||
- [Code of Conduct Enforcement](#code-of-conduct) | ||
- [Voting](#voting) | ||
- [Becoming a Maintainer](#becoming-a-maintainer) | ||
- [Meetings](#meetings) | ||
- [CNCF Resources](#cncf-resources) | ||
- [Code of Conduct Enforcement](#code-of-conduct) | ||
- [Voting](#voting) | ||
- [SIGs (Special Interest Groups)](#sigs) | ||
- [SIG Subprojects](#subprojects) | ||
- [WGs (Working Groups)](#working-groups) | ||
|
||
## Maintainers | ||
|
||
|
@@ -27,7 +30,7 @@ follow through to fix issues. | |
A maintainer is a contributor to the project's success and a citizen helping | ||
the project succeed. | ||
|
||
## Selecting Maintainers | ||
### Selecting Maintainers | ||
|
||
The current project maintainers will periodically review contributor activities | ||
to see if additional project members may be promoted to maintainers. | ||
|
@@ -50,7 +53,7 @@ A candidate must be proposed by an existing maintainer by filing an PR in the | |
A simple majority vote of +1s from existing Maintainers approves the application. | ||
Approved maintainers will be added to the [private maintainer mailing list](mailto:[email protected]). | ||
|
||
## Meetings | ||
### Meetings | ||
|
||
Time zones permitting, Maintainers are expected to participate in the weekly public | ||
community meeting. More details can be found [here](commnuity_meeting.md). | ||
|
@@ -61,7 +64,7 @@ Maintainer on receipt of a security issue or CoC report. All current Maintainer | |
must be invited to such closed meetings, except for any Maintainer who is | ||
accused of a CoC violation. | ||
|
||
## CNCF Resources | ||
### CNCF Resources | ||
|
||
Any Maintainer may suggest a request for CNCF resources, in the | ||
[developer mailing list](https://groups.google.com/forum/#!forum/kubevirt-dev), | ||
|
@@ -70,15 +73,15 @@ or during a community meeting. A simple majority of Maintainers approves the | |
request. The Maintainers may also choose to delegate working with the CNCF to | ||
non-Maintainer community members. | ||
|
||
## Code of Conduct | ||
### Code of Conduct | ||
|
||
[Code of Conduct](./code-of-conduct.md) | ||
violations by community members will be discussed and resolved | ||
on the [private Maintainer mailing list](mailto:[email protected]). If the reported CoC violator | ||
is a Maintainer, the Maintainers will instead designate two Maintainers to work | ||
with CNCF staff in resolving the report. | ||
|
||
## Removing Maintainers | ||
### Removing Maintainers | ||
|
||
Maintainers may voluntarily retire at any time. Should a maintainer retire, | ||
it requires a majority vote of the current maintainers to reinstate them. | ||
|
@@ -93,7 +96,7 @@ Maintainers may also be demoted at any time for one of the following reasons: | |
|
||
Removing a maintainer requires a 2/3 majority vote of the other maintainers. | ||
|
||
## Voting | ||
### Voting | ||
|
||
While most business in KubeVirt is conducted by "lazy consensus", periodically | ||
the Maintainers may need to vote on specific actions or changes. | ||
|
@@ -105,3 +108,60 @@ request a vote be taken. | |
Most votes require a simple majority of all Maintainers to succeed. Maintainers | ||
can be removed by a 2/3 majority vote of all Maintainers, and changes to this | ||
Governance require a 2/3 vote of all Maintainers. | ||
|
||
## SIGs | ||
|
||
The KubeVirt project is organized primarily into Special Interest Groups, or SIGs. | ||
Each SIG is comprised of members from multiple companies and organizations, with a | ||
common purpose of advancing the project with respect to a specific topic, such as | ||
Networking or Storage. Our goal is to enable a distributed decision structure | ||
and code ownership, as well as providing focused forums for getting work done, | ||
making decisions, and onboarding new contributors. Every identifiable subpart of | ||
the project (e.g., github org, repository, subdirectory, API, test, issue, PR) | ||
is intended to be owned by some SIG. | ||
|
||
Our SIGs define mission and scope via their charters, ownership of code via | ||
[OWNERS](https://www.kubernetes.dev/docs/guide/owners/), and members and roles in | ||
[sigs.yaml]. | ||
|
||
For more details see also the [Kubernetes SIGs] model. | ||
|
||
Examples: | ||
* [sig-network - charter](./sig-network/charter.md) | ||
* [sig-network - kubevirt/kubevirt OWNERS_ALIASES](https://github.com/kubevirt/kubevirt/blob/a7e0311d8704663351abd4bc9bbc8511753d2838/OWNERS_ALIASES#L60) | ||
* [sig-ci - sigs.yaml](https://github.com/kubevirt/community/blob/4f63a79c0ed810aa332cd6716d4986001d28bcd7/sigs.yaml#L119) | ||
|
||
### Subprojects | ||
|
||
Specific work efforts within SIGs are divided into subprojects. Every part of the | ||
KubeVirt code and documentation must be owned by some subproject. Some [SIGs](#sigs) | ||
may have a single subproject, but many SIGs have multiple significant subprojects | ||
with distinct (though sometimes overlapping) sets of contributors and owners, who | ||
act as subproject’s technical leaders: responsible for vision and direction and | ||
overall design, choose/approve design proposals approvers, field technical | ||
escalations, etc. | ||
|
||
For more details see also the [Kubernetes Subprojects] model. | ||
|
||
## Working Groups | ||
|
||
We need community rallying points to facilitate discussions/work regarding topics | ||
that are short-lived or that span multiple SIGs. | ||
|
||
Working groups are primarily used to facilitate topics of discussion that are in | ||
scope for KubeVirt but that cross SIG lines. | ||
|
||
Our WGs define mission and scope via their charter, and members and roles in | ||
[sigs.yaml]. | ||
|
||
For more details see also the [Kubernetes WGs] model. | ||
|
||
## Roles and Organization Management | ||
|
||
All our SIGs and WGs follow the Roles and Organization Management outlined in our [membership policy]. | ||
|
||
[Kubernetes SIGs]: https://github.com/kubernetes/community/blob/master/governance.md#sigs | ||
[Kubernetes Subprojects]: https://github.com/kubernetes/community/blob/master/governance.md#subprojects | ||
[Kubernetes WGs]: https://github.com/kubernetes/community/blob/master/governance.md#working-groups | ||
[membership policy]: ./membership_policy.md | ||
[sigs.yaml]: ./sigs.yaml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
# Working Group Responsibilities | ||
|
||
All KubeVirt Working Groups (WGs) must define a charter. | ||
|
||
- The scope must define: | ||
- what problem the WG is solving | ||
- what deliverable(s) will be produced, and to whom | ||
- when the problem is expected to be resolved | ||
- The governance must outline: | ||
- the responsibilities within the WG | ||
- the roles owning those responsibilities | ||
- which SIGs are stakeholders | ||
|
||
## Steps to create a WG charter | ||
|
||
1. Copy [the template][WG Template] into a new file under community/wg-*YOURWG*/charter.md | ||
2. Fill out the template for your WG | ||
3. Update [sigs.yaml] with the individuals holding the roles as defined in the template. | ||
4. Create a pull request with a draft of your `charter.md` and `sigs.yaml` changes. Communicate it within your WG and the stakeholder SIGs and get feedback as needed. | ||
5. Send the WG Charter out for review to [email protected]. Include the subject "WG Charter Proposal: YOURWG" | ||
and a link to the PR in the body. | ||
6. Typically expect feedback within a week of sending your draft. Expect longer time if it falls over an | ||
event such as KubeCon/CloudNativeCon or holidays. Make any necessary changes. | ||
7. Once accepted, the maintainers will ratify the PR by merging it. | ||
|
||
## How to use the templates | ||
|
||
WGs should use [the template][WG Template] as a starting point. | ||
|
||
|
||
## Goals | ||
|
||
The primary goal of the charters is to define the scope of the WG within KubeVirt and how the WG can determine whether it has achieved their solution. A majority of the effort should be spent on these concerns. | ||
|
||
[WG Template]: wg-charter-template.md | ||
[sigs.yaml]: ../sigs.yaml | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
# WG YOURWG Charter | ||
|
||
## Scope | ||
|
||
Include a 2-3 sentence summary of the problem this group is trying to solve. | ||
Imagine trying to explain your work to a colleague who is familiar with KubeVirt | ||
but not necessarily all of the internals. | ||
|
||
## Governance | ||
|
||
### Stakeholder SIGs | ||
|
||
A list of SIGs that are relevant to the WG. | ||
The template may also mention: | ||
* which SIGs are more relevant than others, and | ||
* which subprojects are related to the WG | ||
|
||
### Roles and responsibilities | ||
|
||
#### Chairs | ||
- @your-github-handle-1 | ||
- @your-github-handle-2 |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.