Skip to content

Commit

Permalink
refactor: remove admin role and clarify maintainer (#93)
Browse files Browse the repository at this point in the history
Removes the Admin Roles as Maintainers are essentially Admins.
A maintainer is only expected to make substancial contributions, but not
necessarily in a full-time position.
Add missing special maintainer from table.

Signed-off-by: Tiago Castro <tiagolobocastro@gmail.com>
  • Loading branch information
tiagolobocastro authored Oct 1, 2024
1 parent e91547c commit d76549f
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 34 deletions.
53 changes: 25 additions & 28 deletions GOVERNANCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,48 +4,47 @@
<BR>
## Key references:
Please familiarize yourself with our [Project Vision](./VISION.md) and [Contributing Guidelines](./CONTRIBUTING.md). Together with this Governance document, these provide useful info on what and who we are, and how we operate.
Please familiarize yourself with our [Project Vision](./VISION.md) and [Contributing Guidelines](./CONTRIBUTING.md). Together with this Governance document, these provide useful info on what and who we are, and how we operate.

---
<BR>

The **OpenEBS project** is managed on a daily basis by a senior governance & leadership team, that consists of the following OpenEBS ```Admins``` and ```Maintainers.``` Currently the team is...
> | | | | |
The **OpenEBS project** is managed on a daily basis by a senior governance & leadership team, that currently consists of the following OpenEBS ```Maintainers``` and ```Special Maintainers```:
> | Name | Handle | Flags | Roles |
> | :--- | :--- | :--- | :--- |
> | [Vishnu Attur](https://www.linkedin.com/in/vishnu-attur-5309a333/ "Bengaluru, Karnataka, India (GMT+5:30) Timezone")| :octocat: <kbd>**[@avishnu](https://github.com/avishnu "Vishnu Govind Attur")**</kbd> | ![](/images/flags/de_je/in.png) | <kbd>**Admin**</kbd>, ```Maintainer``` |
> | [Vishnu Attur](https://www.linkedin.com/in/vishnu-attur-5309a333/ "Bengaluru, Karnataka, India (GMT+5:30) Timezone")| :octocat: <kbd>**[@avishnu](https://github.com/avishnu "Vishnu Govind Attur")**</kbd> | ![](/images/flags/de_je/in.png) | ```Maintainer``` |
> | [Abhinandan Purkait](https://www.linkedin.com/in/abhinandan-purkait/ "Bengaluru, Karnataka, India (GMT+5:30) Timezone") | :sunglasses: <kbd>**[@Abhinandan-Purkait](https://github.com/Abhinandan-Purkait "Abhinandan Purkait")**</kbd> | ![](/images/flags/de_je/in.png) | ```Maintainer``` |
> | [Niladri Halder](https://www.linkedin.com/in/niladrih/ "Bengaluru, Karnataka, India (GMT+5:30) Timezone") | :rocket: <kbd>**[@niladrih](https://github.com/niladrih "Niladrih Halder")**</kbd> | ![](/images/flags/de_je/in.png) | ```Maintainer``` |
> | [Ed Robinson](https://www.linkedin.com/in/edrob/ "San Francisco, USA (GMT-7) Timezone") | :dog: <kbd>**[@edrob999](https://github.com/edrob999 "Ed Robinson")**</kbd> | ![](/images/flags/ni_tn/nz.png) | <kbd>**CNCF Primary Liaison**</kbd>,```Special Maintainer``` |
> | [Tiago Castro](https://www.linkedin.com/in/tiago-castro-3311453a/ "London, UK (GMT+1) Timezone") | :zap: <kbd>**[@tiagolobocastro](https://github.com/tiagolobocastro "Tiago Castro")**</kbd> | ![](/images/flags/ni_tn/pt.png) &nbsp; ![](/images/flags/de_je/gb.png) | <kbd>**Admin**</kbd>, ```Maintainer``` |
> | [David Brace](https://www.linkedin.com/in/dbrace/ "San Francisco, USA (GMT-7) Timezone") | :star: <kbd>**[@orville-wright](https://github.com/orville-wright "Dave Brace")**</kbd> | ![](/images/flags/ni_tn/nz.png) &nbsp; ![](/images/flags/de_je/hu.png) &nbsp; ![](/images/flags/to_zw/us.png) | <kbd>**Admin**</kbd>, ```Maintainer``` |
> | [Tiago Castro](https://www.linkedin.com/in/tiago-castro-3311453a/ "London, UK (GMT+1) Timezone") | :zap: <kbd>**[@tiagolobocastro](https://github.com/tiagolobocastro "Tiago Castro")**</kbd> | ![](/images/flags/ni_tn/pt.png) &nbsp; ![](/images/flags/de_je/gb.png) | ```Maintainer``` |
> | [David Brace](https://www.linkedin.com/in/dbrace/ "San Francisco, USA (GMT-7) Timezone") | :star: <kbd>**[@orville-wright](https://github.com/orville-wright "Dave Brace")**</kbd> | ![](/images/flags/ni_tn/nz.png) &nbsp; ![](/images/flags/de_je/hu.png) &nbsp; ![](/images/flags/to_zw/us.png) | ```Maintainer``` |
> | [Mehran Kholdi]() | :star: <kbd>**[@semekh](https://github.com/semekh "Mehran Kholdi")**</kbd> | ![](/images/flags/ad_cz/ca.png) &nbsp; ![](/images/flags/de_je/ir.png) | ```Special Maintainer``` |
<BR>

## Admins, Maintainers, Contributors and Adopters
The list of Maintainers can also be found in the MAINTAINERS file.

## Maintainers, Contributors and Adopters

The OpenEBS project has five roles. All project members operate in one (or more) of these roles:
<BR>

| Level | Role | Responsibilities |
| :--- | :--- | :--- |
| 1 | **Admin** | Administer organization in GitHub. Add/subtract admins, invite members, manage org and repo integrations. |
| 2 | **Maintainer** | Vote, Develop roadmap, contribution guidelines; Review, Approve/Reject, Merge, Manage repos. Maintainers are elected or removed by the current maintainers. A maintainer has authority over the OpenEBS umbrella project: the organization and every project, sub-project and repo within the organization.|
| 3 | **Special**<BR>**Maintainer**| Have special expertise in a particular domain. The domain may be a project, sub-project, repo or other responsibility as defined by the Maintainers. The maintainers grant a special maintainer a set of authorities and responsibilities for the domain. A special maintainer is expected to join maintainer and community meetings when required. A special maintainer has no responsibilities for the umbrella project, or projects outside their domain.|
| 4 | **Contributor** | Contribute code, test, document the project. A contributor’s authority applies to one or more sub projects. |
| 5 | **Adopter** | Use the OpenEBS product, with or without contributing to the project. An adopter has authority to raise issues, participate in discussions on sub projects within a public forum. |
| 1 | **Maintainer** | Vote, Develop roadmap, contribution guidelines; Review, Approve/Reject, Merge, Manage repos. Maintainers are elected or removed by the current maintainers. A Maintainer has authority over the OpenEBS umbrella project: the organization and every project, sub-project and repo within the organization.|
| 2 | **Special**<BR>**Maintainer**| Have special expertise in a particular domain within the OpenEBS umbrella project. The domain may be a sub-project, repo or other responsibility as defined by the Maintainers. The maintainers grant a special maintainer a set of authorities and responsibilities for the domain. A special maintainer is expected to join maintainer and community meetings when required. A special maintainer has no responsibilities for the umbrella project, or projects outside their domain.|
| 3 | **Contributor** | Contribute code, test, document the project. A contributor’s authority applies to one or more sub projects. |
| 4 | **Adopter** | Use the OpenEBS product, with or without contributing to the project. An adopter has authority to raise issues, participate in discussions on sub projects within a public forum. |
<BR>

These roles are described in more detail below:

### Admin
Admins perform the non-code-related Github tasks such as updating permissions, configuring integrations and other administrative tasks. Admins are informally appointed and removed by the maintainers, CNCF or other Admins.
<BR>

### Maintainer
Maintainers are an elected group that share responsibility in the OpenEBS project success. They make a long-term, dedicated commitment to improve and govern the project. Maintainers are responsive, available and deliver results to schedule. Because of this commitment, many maintainers are full-time (or majority-of-time) on the OpenEBS project, although this is not a requirement.
Maintainers are an elected group that share responsibility in the OpenEBS project success. They make a long-term, dedicated commitment to improve and govern the project. Maintainers are expected to be responsive, available, and to make regular and substantial contributions.
Maintainers also perform the admin non-code-related Github tasks such as updating permissions, configuring integrations and other administrative tasks.
<BR>

Maintainers get stuff done. Maintainers work for the OpenEBS community. A maintainer is someone the community can depend on and trust to make decisions in the best interest of the project. **Anyone can become a maintainer.**
Maintainers work for the OpenEBS community. A maintainer is someone the community can depend on and trust to make decisions in the best interest of the project. **Anyone can become a maintainer.**
<BR>

Maintainers have authority over all projects, sub projects and repos within the OpenEBS organization, with responsibility for:
Expand All @@ -54,26 +53,24 @@ Maintainers have authority over all projects, sub projects and repos within the
* Maintaining coding, testing and documentation standards
* Providing support and community engagement
* Project management and governance
* Adding/removing maintainers, admins and special maintainers
* Adding/removing maintainers, and special maintainers
* Activities that move the project towards graduation status

#### Contributor Ladder: How to become a maintainer
#### Contributor Ladder: How to become a maintainer
The process for becoming a maintainer:
1. You need to get involved with the OpenEBS project on GitHub, and demonstrate four qualities:
* Participation. For three months or more. For example: participation in discussions, contributions, code or documentation reviews.
* Collaboration. Demonstrate the ability to work with others, to take on new ideas and help others succeed
* Availability. Be available on Slack, GitHub, email so you’re helping move the project forward in a timely way. Many of the maintainers work full-time (or majority-of-time) in the project. Every new maintainer is expected to have similar availability
* Collaboration. Demonstrate the ability to work with others, to take on new ideas and help others succeed.
* Availability. Be available on Slack, GitHub, email so you’re helping move the project forward in a timely way.
* Alignment with CNCF code of conduct and guiding principles
2. Email the OpenEBS maintainers (openebs-team@googlegroups.com) and let them know you’re interested in becoming a maintainer
3. The maintainers set up time to meet you, and after discussion will agree a process (typically this means a special maintainer assignment for a set period)
4. At the end of the process, the maintainers review your contribution. A maintainer will nominate you for voting-in.

#### Remaining a Maintainer
Maintainers are expected to operate with a full-time (or majority-of-time) commitment, be available and participate in the project.
If a maintainer can no longer meet these commitments, they are expected to consult with the other maintainers and either take a sabbatical from maintainership, or resign as a maintainer. It is the responsibility of all maintainers to ensure the maintainer group operates with the same level of commitment. If a maintainer is not meeting their commitments, they may be voted-out by the maintainers.

If a maintainer can no longer meet their commitments, they are expected to consult with the other maintainers and either take a sabbatical from maintainership, or resign as a maintainer. It is the responsibility of all maintainers to ensure the maintainer group operates with the same level of commitment. If a maintainer is not meeting their commitments, they may be voted-out by the maintainers.
#### Voting-in and voting-out maintainers:
1. Maintainers make an announcement in their weekly meeting, and this is minuted
1. Maintainers make an announcement in their weekly meeting, and this is minuted
2. During this meeting, a maintainer nominates to add a new maintainer or remove an existing maintainer,
3. The nominator opens a PR in the OpenEBS Community Repo,
4. Maintainers vote via GitHub PR comments, with a 2 week deadline. Anyone in the community is welcome to comment. Community comments will be considered, but not counted towards the vote,
Expand All @@ -85,7 +82,7 @@ Changes to the maintainer list (from voting-in, voting-out or resignations) are


### Special Maintainer
A Special Maintainer is appointed by the maintainers to recognize a contributor with expertise and authority in a specific domain. Special Maintainers are appointed to have elevated privilege, authority and specific responsibilities. The special maintainer role is part of the OpenEBS contributor ladder, and is the primary path from contributor to maintainer. Special maintainers are assigned or removed by the maintainers, by vote with 66% approval, and their role
A Special Maintainer is appointed by the maintainers to recognize a contributor with expertise and authority in a specific domain. Special Maintainers are appointed to have elevated privilege, authority and specific responsibilities. The special maintainer role is part of the OpenEBS contributor ladder, and is the primary path from contributor to maintainer. Special maintainers are assigned or removed by the maintainers, by vote with 66% approval, and their role
and responsibilities are scoped. A person can have one or more Special Maintainer responsibilities

OpenEBS has appointed or may appoint special maintainers for following roles:
Expand All @@ -94,7 +91,7 @@ OpenEBS has appointed or may appoint special maintainers for following roles:
* Sub-project maintainer. To own specific project (typically an engine), and to ensure coding standards, issue resolution, documentation, roadmap is in compliance for the sub-project
* Documentation manager. To oversee and help produce the techdocs and community documentation
* Test manager. To oversee and coordinate test coverage
* Community Manager.
* Community Manager.
* Special projects. Other projects that come up from time-to-time

Special maintainers are enabled to act independently. They do not have responsibilities within the umbrella project. They do not have voting rights over the umbrella project. They are expected to participate with the community, They are not expected to participate in maintainer meetings, unless requested.
Expand Down
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,17 @@ This repository contains all the project files for the organization, and the fol
<BR>

## Project Leadership team
This Community is managed by the OpenEBS <kbd>Admins</kbd>, ```Maintainers``` and <kbd>**Senior leaders**</kbd> within the OpenEBS project team. We liaise with the Linux Foundation and CNCF on project, governance
This Community is managed by the OpenEBS ```Maintainers``` and <kbd>**Senior leaders**</kbd> within the OpenEBS project team. We liaise with the Linux Foundation and CNCF on project, governance
and operational matters. We curate the daily operations of the project, product, roadmaps, initiatives, all engineering/code activities and all events (including conferences). Currently our leadership team is...

> | | | | |
> | Name | Handle | Flags | Roles |
> | :--- | :--- | :--- | :--- |
> | [Vishnu Attur](https://www.linkedin.com/in/vishnu-attur-5309a333/ "Senior Engineering, QA and Dev Manager")| :octocat: <kbd>**[@avishnu](https://github.com/avishnu "Vishnu Govind Attur")**</kbd> | ![](/images/flags/de_je/in.png "I am based in Bengaluru, Karnataka, India (GMT+5:30) Timezone") | <kbd>**Admin**</kbd>, ```Maintainer``` |
> | [Vishnu Attur](https://www.linkedin.com/in/vishnu-attur-5309a333/ "Senior Engineering, QA and Dev Manager")| :octocat: <kbd>**[@avishnu](https://github.com/avishnu "Vishnu Govind Attur")**</kbd> | ![](/images/flags/de_je/in.png "I am based in Bengaluru, Karnataka, India (GMT+5:30) Timezone") | ```Maintainer``` |
> | [Abhinandan Purkait](https://www.linkedin.com/in/abhinandan-purkait/ "Senior Engineer") | :sunglasses: <kbd>**[@Abhinandan-Purkait](https://github.com/Abhinandan-Purkait "Abhinandan Purkait")**</kbd> | ![](/images/flags/de_je/in.png "I am based in Bengaluru, Karnataka, India (GMT+5:30) Timezone") | ```Maintainer``` |
> | [Niladri Halder](https://www.linkedin.com/in/niladrih/ "Senior Engineer") | :rocket: <kbd>**[@niladrih](https://github.com/niladrih "Niladrih Halder")**</kbd> | ![](/images/flags/de_je/in.png "I am based in Bengaluru, Karnataka, India (GMT+5:30) Timezone") | ```Maintainer``` |
> | [Ed Robinson](https://www.linkedin.com/in/edrob/ "CNCF Head Liason") | :dog: <kbd>**[@edrob999](https://github.com/edrob999 "Ed Robinson")**</kbd> | ![](/images/flags/ni_tn/nz.png "I'm a Kiwi from New Zealand. I am based in San Francisco, USA (GMT-7) Timezone") &nbsp; ![](/images/flags/to_zw/us.png "I am based in San Francisco, USA (GMT-7) Timezone") | <kbd>**CNCF Primary Liason**</kbd> |
> | [Tiago Castro](https://www.linkedin.com/in/tiago-castro-3311453a/ "Chief Architect") | :zap: <kbd>**[@tiagolobocastro](https://github.com/tiagolobocastro "Tiago Castro")**</kbd> | ![](/images/flags/ni_tn/pt.png "I'm Portugueses. I'm based in London, UK (GMT+1) Timezone") &nbsp; ![](/images/flags/de_je/gb.png "I am based in London, UK (GMT+1) Timezone") | <kbd>**Admin**</kbd>, ```Maintainer``` |
> | [David Brace](https://www.linkedin.com/in/dbrace/ "Head of Product Mgmt & Strategy") | :star: <kbd>**[@orville-wright](https://github.com/orville-wright "Dave Brace")**</kbd> | ![](/images/flags/ni_tn/nz.png "I'm a Kiwi from New Zealand. I am based in San Francisco, USA (GMT-7) Timezone") &nbsp; ![](/images/flags/de_je/hu.png "I'm also Hungarian. I'm based in San Francisco, USA (GMT-7) Timezone") &nbsp; ![](/images/flags/to_zw/us.png "Yes, I'm also an American. I'm based in San Francisco, USA (GMT-7) Timezone") | <kbd>**Admin**</kbd>, ```Maintainer``` |
> | [Ed Robinson](https://www.linkedin.com/in/edrob/ "CNCF Head Liason") | :dog: <kbd>**[@edrob999](https://github.com/edrob999 "Ed Robinson")**</kbd> | ![](/images/flags/ni_tn/nz.png "I'm a Kiwi from New Zealand. I am based in San Francisco, USA (GMT-7) Timezone") &nbsp; ![](/images/flags/to_zw/us.png "I am based in San Francisco, USA (GMT-7) Timezone") | <kbd>**CNCF Primary Liaison**</kbd>,```Special Maintainer``` |
> | [Tiago Castro](https://www.linkedin.com/in/tiago-castro-3311453a/ "Chief Architect") | :zap: <kbd>**[@tiagolobocastro](https://github.com/tiagolobocastro "Tiago Castro")**</kbd> | ![](/images/flags/ni_tn/pt.png "I'm Portuguese. I'm based in London, UK (GMT+1) Timezone") &nbsp; ![](/images/flags/de_je/gb.png "I am based in London, UK (GMT+1) Timezone") | ```Maintainer``` |
> | [David Brace](https://www.linkedin.com/in/dbrace/ "Head of Product Mgmt & Strategy") | :star: <kbd>**[@orville-wright](https://github.com/orville-wright "Dave Brace")**</kbd> | ![](/images/flags/ni_tn/nz.png "I'm a Kiwi from New Zealand. I am based in San Francisco, USA (GMT-7) Timezone") &nbsp; ![](/images/flags/de_je/hu.png "I'm also Hungarian. I'm based in San Francisco, USA (GMT-7) Timezone") &nbsp; ![](/images/flags/to_zw/us.png "Yes, I'm also an American. I'm based in San Francisco, USA (GMT-7) Timezone") | ```Maintainer``` |
<BR>

Expand Down

0 comments on commit d76549f

Please sign in to comment.