Skip to content
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

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

gabrielmocanu
Copy link
Member

Signed-off-by: Gabriel Mocanu [email protected]

@gabrielmocanu gabrielmocanu marked this pull request as draft December 23, 2022 03:21
Copy link
Contributor

@razvand razvand left a 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.

content/en/community/governance.md Outdated Show resolved Hide resolved
content/en/community/governance.md Outdated Show resolved Hide resolved
content/en/community/governance.md Outdated Show resolved Hide resolved
content/en/community/governance.md Show resolved Hide resolved
content/en/community/governance.md Outdated Show resolved Hide resolved
content/en/community/governance.md Outdated Show resolved Hide resolved

This document describes the rules and governance of the project.
It is meant to be followed by all the developers that are contributing.

Copy link
Contributor

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.

Copy link
Contributor

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.

content/en/community/governance.md Outdated Show resolved Hide resolved
content/en/community/governance.md Outdated Show resolved Hide resolved
content/en/community/governance.md Outdated Show resolved Hide resolved
- 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]>
@gabrielmocanu gabrielmocanu marked this pull request as ready for review January 14, 2023 15:19
@gabrielmocanu
Copy link
Member Author

@razvand I added the section you mentioned above.
I didn't mark the conversations as solved since I don't know if you want to add something else.
I think for some sections I can add more text, but right now I don't know what to add.(e.g. Roadmap, Releases, Tasks / Projects)

Copy link
Contributor

@razvand razvand left a 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.

content/en/community/governance.md Outdated Show resolved Hide resolved
content/en/community/governance.md Outdated Show resolved Hide resolved
content/en/community/governance.md Outdated Show resolved Hide resolved
content/en/community/governance.md Outdated Show resolved Hide resolved
content/en/community/governance.md Outdated Show resolved Hide resolved
content/en/community/governance.md Outdated Show resolved Hide resolved
content/en/community/governance.md Outdated Show resolved Hide resolved
content/en/community/governance.md Outdated Show resolved Hide resolved
content/en/community/governance.md Outdated Show resolved Hide resolved
content/en/community/governance.md Outdated Show resolved Hide resolved
Apply suggestions from code review

Co-authored-by: Razvan Deaconescu <[email protected]>
Signed-off-by: Mocanu Viorel Gabriel <[email protected]>
@gabrielmocanu
Copy link
Member Author

@razvand
I applied your suggestions.

@andraprs andraprs mentioned this pull request Jan 31, 2023
@StefanJum StefanJum linked an issue Jan 31, 2023 that may be closed by this pull request
@gabrielmocanu
Copy link
Member Author

@StefanJum @razvand Bump on this.

Copy link
Member

@StefanJum StefanJum left a 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.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- 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.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change

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

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change

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

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change


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

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change

This means that when you look at at all the Unikraft teams on GitHub, it will create something like this:

```
unikraft
Copy link
Member

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`;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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`;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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.:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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.:

Comment on lines +98 to +99
The current list of community leaders is:
- [Răzvan Deaconescu](https://github.com/razvand) - Community Management
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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

@razvand razvand added the enhancement New feature or request label Aug 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: In Progress
Development

Successfully merging this pull request may close these issues.

Add Governance page
3 participants