Project:Proxy Maintainers/Maintainer Bugs and Maintainership Requests
Previously the process for claiming maintainership of a package was haphazard with no real guidelines on how to request a package and nothing, aside from parsing the tree, to list Package Contributors and the packages they maintained. This caused problems from time to time, such as two Contributors claiming a package at the same time, unaware of each other, or packages getting neglected when a Contributor became absent. To address this, the Proxy Maintainers project has implemented a standard process for claiming a package, and have introduced Maintainer Bugs - the equivalent of a Gentoo Developer bug.
For the purpose of clarity, this policy uses the following definitions:
- Gentoo Developer or Developer
- A Gentoo Linux Developer with push access to the gentoo.git repostory
- A person or project listed in a packages metadata.xml as a maintainer. This may or may not be through the Proxy Maintainers project and may be either a Contributor or Developer
- Maintainer Bug
- A tracker bug that identifies you as a maintainer through the Proxy Maintainers project, and to which any Maintainership Request bugs will be linked
- Maintainership Request
- A tracker bug filed in the Gentoo Bugzilla requesting to be assigned as maintainer for a given package, which will be linked to the Maintainer Bug of the relevant Contributor(s)
- Package Contributor or Contributor
- The individual acting as maintainer for one or more packages and whom does not have push access to the gentoo.git repository
- Project Member
- A Gentoo Linux Developer who is a member of the Proxy Maintainers project
Claiming a package
If you wish to claim maintainership of a package, begin by searching Bugzilla for bugs with the summary Maintainership request: <cat>/<pkg> (where <atom> is the name of the package you wish to maintain). If any bugs are open with a status of UNCONFIRMED or CONFIRMED, add a comment stating that you wish to maintain the package. If there are no bugs in either of those states, create a new one.
Bugs with a status of IN_PROGRESS are currently being maintained by one or more Package Contributors. You can either file a bug requesting maintainership from them or contact the maintainer(s) or a Developer of the Proxy Maintainers project to investigate further options.
Once a Maintainership Request is filed, a Developer will CC themselves to the Request and guide you through the rest of the process to claiming maintainership. This may include resolving any open bugs for the package (which will be linked in the Depends on field) or, if none exist, beginning a timeout procedure before assigning the package to you. The Developer will take the opportunity to get to know you a little and will make an assessment of whether the package is suitable to be proxy maintained. Any questions or concerns you have about the maintainership should be directed to the Developer managing your request (the one that is CC'd to the bug).
If the Developer is unable to continue managing the request (for example, if they are going to be away for a time) they will remove themselves from the bug and set it back to an UNCONFIRMED status to indicate that it needs another Gentoo Developer to manage it.
If the Maintainership Request is granted, a Maintainer Bug (described below) will be created for you and the Request will be set to IN_PROGRESS and linked to your Maintainer Bug. Additional packages you wish to maintain should follow this same process, resulting in all packages you actively maintain having an open request bug linked to your Maintainer Bug, as well as packages you previously maintained but have since dropped being linked but in a RESOLVED state.
If you wish to cease maintainership of a package, either due to someone else requesting maintainership, or because you don't use the package any more, or even if you simply don't have time, add a comment on your Maintainership Request bug for the package noting that you want to drop it. You will then be removed from metadata.xml for the package and the bug will be FIXED showing that you are no longer responsible for it.
It is important to properly handle dropping packages you no longer want to maintain. Failure to do so may result in the bug being closed with a WONTFIX status indicating that you were removed from metadata.xml due to the package being neglected.
It is not often that Maintainership Requests are rejected, however if this does happen the Gentoo Developer managing the request will explain why the Request was rejected. Requests that have been refused will be closed with a state of INVALID.
When you begin maintainership of your first package, you will have a Maintainer Bug created. This can be considered your lifeline to the Proxy Maintainers project and will have the Maintainership Request of each package you maintain, past and present, linked in the Depends on field. Your Maintainer Bug will also be a general record of your overall maintainerhship, and can also be beneficial if you choose to continue on to recruitment in order to become a Gentoo Developer.
You can use this bug to note if you are going to be away for a period of time (similar to the devaway system), or if you wish to cease maintainership altogether. Gentoo Developers may also use this bug to contact you (a ping) if they are unsure that you are still active.
It is important, if a Developer tries to contact you through your Maintainer Bug, that you respond in a timely manner. Failure to do so may result in packages you maintain being dropped to maintainer-needed and your Maintainer Bug being closed due to inactivity.
When you cease maintainership, either by leaving the Proxy Maintainers project or continuing on to recruitment, each Maintainership Request will be closed with a brief note describing the reason (if appropriate). Once all Maintainership Requests are closed, your Maintainer Bug will also have a brief note added and be closed.
The process that Gentoo Developers use when managing Maintainer Bugs and Maintainership Requests can be found here.