# Revised Maintainers - AKA Maintainers 2.0
AI from Community Meeting, March 1:
amye to work on revised maintainers draft with vbellur to get out for next maintainer's meeting. We'll approve it 'formally' there, see how it works for 3.11.
## Goals:
* Refine how we declare component owners in Gluster
* Create a deeper sense of ownership throughout the open source project
* Welcome more contibutors at a project impacting level
## Definition of Owners + Peers
* Commit access to the project is not dependent on being a maintainer. A maintainer is a leadership role within the project to help drive the project forward. Commit access is granted to people who’ve been contributing for a while. We will grant this more freely going forward. We definitely want more contributors!
### Owner / Maintainer -
* Subject matter expert.
* Designs and approves large feature changes and decide overall goal of the component.
* Works with other component owners for features and bugs.
* **Responsibilities:**
- **Reviews:** actively participate in reviews, approve changes. [Can request for component specific dashboard by creating a infra ticket]
- **Bugzilla:** manage and triage bugs. Makes sure component health is getting better from release to release (by reducing total bugs on component)
- **github issues:** manage and triage the labels and lanes for components.
- **Peers:** recruiting, assisting / mentoring.
- **Testing / Quality:** contribute and participate in building quality improvements, like glusto, .t tests, and other initiatives
- **Meetings:** Participate in maintainers, bug triage and community meetings.
- **Releases:** Adhere to release calendar, and make sure the features land in time for the release. Propose early to help release maintainers.
- **Documentation:** Keep documentation up-to-date. Write more blogs, and review documentation.
### Peers
* Assists the owner by reviewing and merging patches on a day-to-day basis.
* Helps the owners design features.
* Growing into subject matter expert, but not required to be engaged in the overall design of the component.
* Able to work largely without day-to-day supervision.
## Additional changes:
* We will be working on carving out new components for things that make logical sense.
* A component can have multiple owners and peers.
* The differences between the two roles are the technical leadership expected of them.
* We recommend that owners and peers both review and merge patches for their component.
* Project Lead and Community Lead should watch out for people owning lots of components with no peers. This may lead to burn out. Identify these owners and assist them in getting new peers.
* Owners can pick peers for their components with just an announcement.
## Transition
* Current maintainers get to choose between ownership/peer of components they're listed as owners.
* Have people focus on maximum of two components as an owner. If they have more, they should be strongly suggested to invite new people as peers to be trained as future owners.
* If current owners consider somebody as being ready to take over as owner of a component that they are managing, please announce new owners with appropriate justification on maintainers ML.
* It's okay to drop a component if they are not able to find time/energy. Owners are requested to minimize disruption to the project by helping with transitions and announcing their intentions.
* For all the components which fall out of active maintaience, any one from community can volunteer to become owner. This can be approved by council, depending on their overall contribution to the project.
* Project Lead and Community Lead are responsible for maintaining the health of the community. This includes balancing work for component owners or choosing which components aren't included in the cycle in a way that minimizes disruption to the project.
### Other Questions:
* How do I become maintainer / peer ?
-- For active component which is already having a maintainer(s)
As long as an active component in the project is well represented, we would not be changing the existing maintainers.
-- For components which are not actively maintained.
Any one can 'volunteer' to become maintainer for components which are not actively maintained. Upon getting the request, based on the contribution to the component in next 6 weeks, the maintainer status would be granted for the component. Note that, immediate inactivity (inactivity within next 6 weeks) on component by the new maintainer would lead to revoking the title.
* How can there be 'non'-maintained components at all?
There are multiple reasons why a component would have no-maintainers at a given time.
1. Voluntary retirement:
Current maintainer would send a notification (due to personal reasons, like job change, can't spend enough time due to changes in family status etc etc), that he is not going to actively maintain the component.
2. Inactivity:
If the maintainer is in-active for more than 6 months, the tech board (or call it tech council) would call out for action of removing the maintainer status for someone.
3. Giving up position for someone more eligible
This can happen when the current maintainer thinks there is another peer, who is putting in lot of effort and deserves the maintainer status for the good of the component. This would be optional, and technical council can 'recommend' the action here, but would not force.
References:
Mozilla: https://www.mozilla.org/en-US/about/governance/policies/module-ownership/
Drupal: https://www.drupal.org/dcoc
Kernel Graphics Community: https://www.youtube.com/watch?v=KJ9Y0midtW4