Policy for nonresponsive package maintainers
Non-responsive Maintainer Policy
The purpose for this policy is to provide a mechanism within Fedora to handle situations when a package maintainer becomes unavailable to continue maintainership, often referred to as non-responsive. The end goal is to help prevent packages becoming stale through non-maintenance, reduce open bugs on non-maintained packages and assist in the overall quality of Fedora.
This policy covers existing Fedora packages; for non-responsive package submitters or reviewers, see the Policy for stalled package reviews. This mechanism is not limited to existing Fedora contributors. For non-contributors, see below for instructions.
The policy is targeted at maintainers that can still be reached through the mail they have registered in fedora. If the mail of the maintainer has changed in a way that seems permanent, and cannot be contacted (with reasonable effort), this policy also applies. If there is no known way of contacting the former maintainer, or they are not willing to make the required change in the packagedb, one can short-circuit the normal 3 week interval required in the Outline steps 1 to 3, and make the formal request to orphan mentioned in step 4.
When a Fedora member notices that a maintainer isn't answering their bugs, not answering rebuild requests, emails or the like, these steps should be followed:
- Check if the non-responsive maintainer is on vacation. To see if the maintainer has been recently active on Fedora, fedora-active-user can be employed.
- File a bug against the package in Bugzilla asking for the maintainer to respond. This bug should list the outstanding issues they need to address. This is a must.
- After every 7 days, the reporter adds a comment to the bug report asking again for a response. Others can add to the bug that they also were not successful in contacting the maintainer, or providing additional contact information for the maintainer (i.e., alternative email, IRC, etc).
- After 2 failed attempts (2 weeks of no response from the maintainer), the reporter posts to the Fedora devel list with a link to the bug report and asks if anyone knows how to contact the maintainer.
- After other 7 days (now 3 weeks total), the reporter posts a formal request to the Fedora devel list with the bug link, indicating all reasonable efforts to contact the maintainer have failed and that they wish to take over the package.
- If at least one FESCo member approves the takeover, and no one objects within 3 days, the reporter may take over the package.
- Once approval has been given, follow Package SCM admin requests to request ownership of the package. In addition to this, the new owner must also reassign all open bugs for this package to themselves.
If you are a not an existing Fedora contributor, you can still take over a package. All of the above must be followed. When you seek approval for the takeover, you, again, must provide a bugzilla report as if it were a new Fedora package review. This will allow the normal review process to happen -- that includes finding a sponsor that believes you understand the packaging rules. Information on sponsorship is at How_to_get_sponsored_into_the_packager_group and the full process for becoming a contributor to Fedora is at Join the package collection maintainers. You'll probably want to start from creating your review request. You can peruse the packaging guidelines.
Notes for Mass Orphaning
- It is common for a Fedora contributor to maintain multiple packages within Fedora, and the situation may arise where multiple packages with a single maintainer need to be orphaned. Given that, it would be quite impractical to create a bugzilla ticket for each package. In the case where a mass orphaning is likely, the above should still be followed choosing a single package owned by the potential non-responsive developer. However, the formal request to the Fedora development mailing list should include all other bug reports open on all neglected packages from the same maintainer, indicating that the maintainer is indeed non-responsive. The Steering Committee can then step in and orphan the other packages if necessary.
Notes for maintainers
It is understood that maintainers will go on vacation or will otherwise be unavailable for possibly significant lengths of time. There are a couple of things that maintainers should consider doing if they know in advance that they will be unavailable;
- Designate a co-maintainer. Currently there is no policy on the exact details of this, but, in general, another Fedora contributor can be asked to maintain the package in the maintainer's absense. To add a co-maintainer, have the co-maintainer request commit rights in the Package Database and approve the request.
- Edit the Vacation page to indicate when you will be away.
Notes for invalid email addresses
bugzilla.redhat.com uses the email address in the Fedora Account System to send messages to the package maintainer. If it becomes known that this email address no longer goes to the package maintainer the policy may be short circuited. Start with Step #4 in the Outline. If the maintainer hasn't become responsive at the end of that process FESCo will mass orphan all packages they own.
Situations where it becomes known that an email address is no longer going to go to the maintainer are:
- Email to the address bounces (to differentiate from temporary bounces like mailbox full, this should go on for a period of 7 days)
- Red Hat lets us know that an email address is no longer valid for the package maintainer (usually because the person has left Red Hat).
There are some cases where it may be needed to reassign a package even if this procedure has not yet finished. Examples include when many dependencies are broken, version updates are needed for security or stability reasons, or maintainer response prevents the nonresponsive process from proceeding without actually resuming maintenance. In such cases, this exception procedure can be used.
- Write email to email@example.com list with the non-responsive maintainer CC'ed on the post. Explain why you think the exception process is needed.
(Make sure and note any communication attempt done already)
- Open a ticket in the FESCo trac instance with the maintainers FAS account CC'ed. Add the 'meeting' keyword.
- The next FESCo meeting will discuss the case and reach a decision.
Unless there is reason not to (the maintainer's email is bouncing, the maintainer has told someone that they are not interested in continuing to maintain Fedora packages) we will make the maintainer a comaintainer on the package in all branches they were owner. Then we will orphan the packages.
If the maintainer's email is bouncing or we've been told that the maintainer is not interested in continuing to contribute to Fedora we'll remove all of the maintainer's acls from the pkgdb.