-
Notifications
You must be signed in to change notification settings - Fork 82
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: Add governance page #175
base: main
Are you sure you want to change the base?
community: Add governance page #175
Conversation
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.
Thanks, @gabrielmocanu . I think this document will be very useful in the community. See my comments, we still have content to add to make it useful.
Aim to move the content from the README.md
file in the governance
repository to this page.
|
||
This document describes the rules and governance of the project. | ||
It is meant to be followed by all the developers that are contributing. | ||
|
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.
I would add a summary on the scope of governance and the resources we use.
Scope is organizing the community, establishing and following guidelines, ensuring an effective development environment.
As development takes place primarily using Git and GitHub, governance is focused on it. Discord is used for community interactions (text, meetings). HackMD and Google Drive are used for collaborative text items. Google calendar stores meeting information.
Governance is thus concerned with:
- accounting for community members and their adherence to specialized teams (named special interest groups - SIGs)
- providing responsibilities as roles (reviewers, maintainers. community leaders) for experienced members of the community
- assigning task ownership
- accounting for task progress (as GitHub issues, PRs, GitHub projects)
- ensuring a consistent release schedule
- defining responsibilities for community leadership roles
- defining and following project roadmaps
I would then structure the rest of the content in connection to these items.
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.
I would first have a section "## Governance Scope and Terms" and define:
- community members (implemented as GitHub IDs and Discord IDs)
- teams / SIGs (implemented as GitHub teams, Discord roles)
- roles (implemented as GitHub teams, Discord roles)
- reviewers & maintainers (implemented as GitHub PR reviewers and assignees)
- community leadership (currently implemented as meetings with community leaders with given roles)
- tasks / projects / features (implemented as GitHub issues and / or GitHub projects)
- contributions (implemented as GitHub PRs, aggregated in GitHub projects)
- task / project ownership (implemented as GitHub issue assignee)
- roadmap, a collection of features requests (small issues not included) (implemented as GitHub issues, tagged, listed on HackMD)
- releases (implemented as GitHub issues milestones, available on GitHub releases, release notes developed on HackMD)
Then you would detail sections with each of those.
- Add governance scope and terms descriptions - Add SIG section - Add Community Leadership section - Add Meetings section - Add Roles section - Add Tasks / Projects section - Add Contributions section - Add Roadmap section - Add Releases section - Add values section Co-authored-by: Razvan Deaconescu <[email protected]> Signed-off-by: Mocanu Viorel Gabriel <[email protected]>
575de8d
to
bf76cbb
Compare
@razvand I added the section you mentioned above. |
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.
@gabrielmocanu, see my comments.
Apply suggestions from code review Co-authored-by: Razvan Deaconescu <[email protected]> Signed-off-by: Mocanu Viorel Gabriel <[email protected]>
@razvand |
@StefanJum @razvand Bump on this. |
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.
Thanks @gabrielmocanu, see the comments.
* SIGs (_Special Interest Groups_) are persistent open groups that focus on a part of the project. | ||
The purpose of a SIG is to own and develop a set of Unikraft components. | ||
|
||
- Community Leadership - The community leaders are responsible for the overall project and for driving the project roadmap. |
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.
- Community Leadership - The community leaders are responsible for the overall project and for driving the project roadmap. | |
* Community Leadership: The community leaders are responsible for the overall project and for driving the project roadmap. |
|
||
* SIGs (_Special Interest Groups_) are persistent open groups that focus on a part of the project. | ||
The purpose of a SIG is to own and develop a set of Unikraft components. | ||
|
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.
Remove the empty lines between list items.
Anyone is welcome to join these meetings. | ||
The meetings are used to discuss topics and report progress. | ||
* Roles: Roles and responsibilities of the various members of the community are defined in the [governance repository](https://github.com/unikraft/governance). | ||
|
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.
* Roles: Roles and responsibilities of the various members of the community are defined in the [governance repository](https://github.com/unikraft/governance). | ||
|
||
* Tasks / Projects: The project uses GitHub issues and projects to track tasks and projects. | ||
|
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.
|
||
* Contributions: A contribution is any direct or indirect work that is produced by a contributor and accepted by the project. | ||
Examples of contributions include code, pull requests, issues, documentation and community participation in events. | ||
|
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.
This means that when you look at at all the Unikraft teams on GitHub, it will create something like this: | ||
|
||
``` | ||
unikraft |
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.
Use tree --charset=ascii
when doing this.
The purpose of organising the teams in this way is to: | ||
|
||
1. Allow maintainers and reviewers to have their own internal groups for discussion, and to use the available teams feature of GitHub for their desired purposes for these particular role types; | ||
2. Allow for quick reference of the groups of people by their role in any `CODEOWNERS` file and in the CI/CD with the syntax `@sig-$NAME`, or `@maintainers-$NAME` or `@reviewers-$NAME`; |
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.
2. Allow for quick reference of the groups of people by their role in any `CODEOWNERS` file and in the CI/CD with the syntax `@sig-$NAME`, or `@maintainers-$NAME` or `@reviewers-$NAME`; | |
1. Allow for quick reference of the groups of people by their role in any `CODEOWNERS` file and in the CI/CD with the syntax `@sig-$NAME`, or `@maintainers-$NAME` or `@reviewers-$NAME`; |
|
||
1. Allow maintainers and reviewers to have their own internal groups for discussion, and to use the available teams feature of GitHub for their desired purposes for these particular role types; | ||
2. Allow for quick reference of the groups of people by their role in any `CODEOWNERS` file and in the CI/CD with the syntax `@sig-$NAME`, or `@maintainers-$NAME` or `@reviewers-$NAME`; | ||
3. We can reference all members of the Special Interest Groups, whether maintainer, reviewer or simply as a member with the handle `@sig-$NAME`; |
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.
3. We can reference all members of the Special Interest Groups, whether maintainer, reviewer or simply as a member with the handle `@sig-$NAME`; | |
1. Reference all members of the Special Interest Groups, whether maintainer, reviewer or simply as a member with the handle `@sig-$NAME`; |
2. Allow for quick reference of the groups of people by their role in any `CODEOWNERS` file and in the CI/CD with the syntax `@sig-$NAME`, or `@maintainers-$NAME` or `@reviewers-$NAME`; | ||
3. We can reference all members of the Special Interest Groups, whether maintainer, reviewer or simply as a member with the handle `@sig-$NAME`; | ||
|
||
To join a Special Interest Group, create a pull request on [Governance repository](https://github.com/unikraft/governance) and add new line to the `members:` directive within the relevant team's YAML file, e.g.: |
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.
To join a Special Interest Group, create a pull request on [Governance repository](https://github.com/unikraft/governance) and add new line to the `members:` directive within the relevant team's YAML file, e.g.: | |
To join a Special Interest Group, create a pull request on the [Governance repository](https://github.com/unikraft/governance) and add new line to the `members:` directive within the relevant team's YAML file, e.g.: |
The current list of community leaders is: | ||
- [Răzvan Deaconescu](https://github.com/razvand) - Community Management |
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.
The current list of community leaders is: | |
- [Răzvan Deaconescu](https://github.com/razvand) - Community Management | |
The current list of community leaders is: | |
- [Răzvan Deaconescu](https://github.com/razvand) - Community Management |
Signed-off-by: Gabriel Mocanu [email protected]