The most important part of Undertakers work is proper communication. Every action must be communicated to the developer appropriately.
Whenever sending mail on behalf of Undertakers, please remember to:
- CC the alternative e-mail addresses of the developer (found in LDAP)
- set Reply-To to
If you forget to do that or the developer skips the alias in his reply, please forward the mail to the alias for archiving purposes.
The following scripts are currently available in undertaker-scripts repository to help automating the work of Undertakers:
- check-commit-activity.py to find developers who haven't committed in N days (and don't have retirement bug open); 4 months, by default;
- scan-open-bugs.py to scan open retirement bugs and report those for which action is overdue,
- send-email.py along with mail templates to help sending e-mails on behalf of Undertakers.
Retirement on request
If the developer explicitly requests retirement, explicitly leave a comment saying that we're giving customary 14 days for reconsideration. If the developer doesn't cancel retirement, proceed with retirement.
- gentoo.git commits:
- git log: https://gitweb.gentoo.org/repo/gentoo.git/log/
- graphical commit timeline: https://qa-reports.gentoo.org/output/active-devs.html (updated daily)
- check-commit-activity script: https://github.com/mgorny/undertaker-scripts/blob/master/check-commit-activity.py
- monthly "slacker" report mails from Infra team to
- Bugzilla activity:
Also remember to check for devaway
Finding devs without commit access
On LDAP-enabled host (e.g. woodpecker):
ldapsearch -Z -LLL -b 'ou=devs,dc=gentoo,dc=org' '(&(!(gentooAccess=git.gentoo.org/repo/gentoo.git))(gentooStatus=active))' gentooJoin gentooRetire gentooStatus gentooDevBug gentooRoles
The timeline for inactivity retirement roughly is:
- after at least 2 months of inactivity, send first mail
- 2 weeks after first mail, disable commit access
- 4 weeks after first mail, reassign packages
- 6 months after first mail, send second mail
- 3 months after second mail, send third mail
- 2 months after third mail, send fourth mail
- 1 month after fourth mail, retire
Undertaker scripts take care of all those actions for you.
- If the developer is inactive for more than two months:
- Send the first mail asking the developer to consider removing themselves from packages they are uninterested in maintaining and/or update their project roles. Packages no longer in the developer's care should be announced as unmaintained to the firstname.lastname@example.org mailing list and re-assigned to email@example.com until another developer or proxy-maintainer steps up and take care of them.
- Find the developer's bug:
- If the developer predates recruitment bugs (there was no recruitment bug), open a new bug.
- Developers with gentoo.git commit access: Packages reassignment: Full Name (nickname).
- Developers without gentoo.git commit access: Status update: Full Name (nickname).
- Reassign the bug to
Status Whiteboardto first-mail-sent: yyyy-mm-dd.
- Make sure the developer and relevant teams are CC'ed on the bug.
- Set Alias bug field to nickname.
- Once situation is clarified, close the bug as FIXED/WONTFIX.
- After two weeks with no response, suspend commit access to gentoo.git.
- Send informational mail to the developer (TODO: provide a template).
- After four weeks of no response consider reassignment of the packages.
- Remember to reassign bugs to new maintainer after changing metadata.xml maintainer field.
- After six months from the first e-mail, if you still believe the developer is inactive:
- Reopen the Packages reassignment bug:
Summaryto Retire: Full Name (nickname).
Status Whiteboardto second-mail-sent: yyyy-mm-dd.
- Send the second mail.
- Reopen the Packages reassignment bug:
- After three months from second mail, send third mail.
Status Whiteboardto third-mail-sent: yyyy-mm-dd.
- After two months from third mail, send fourth mail.
- After one month from the second e-mail, if you still believe the developer is inactive:
Status Whiteboardto fourth-mail-sent: yyyy-mm-dd.
- Close the bug if the developer is still considered active
- If the developer doesn't respond within twelve months since the first mail or is otherwise still considered inactive:
- State that on the bug and ask Infra to start retirement process.
Retirement procedure looks like this:
- Change the
firstname.lastname@example.org(when you find DEV in Contributors list, left column at https://planet.gentoo.org/),
- Clean up any
metadata.xmlthe developer in question might be mentioned in. Using simple python script.
- Remove the developer from all the teams of which they are still a member of on the Project:Gentoo page, and set developer status to
Is active: Noon the developer's wiki user page.
- Search for all NEW and REOPEN bugs assigned to the retired developer on Gentoo Bugzilla and reassign them to the remaining package maintainers (or maintainer-needed). Information to whom reassign can be obtained from metadata.xml file of that package.
- Wait for Infrastructure, Planet and Forums admins to retire developer in question before proceeding further.
- Remove access to
#gentoo-dev(access is either removed completely or changed to voice depending on whether they ask for it or they're still considered active and helpful in the channel). Ask a freenode staffer (#gentoo-groupcontacts channel) to reset the cloak to a non-gentoo one.
Close the bug once all of the above steps are finished!
Status tracking for retirement bugs
Pending: - Package reassignment - Bugs - IRC cloak - Infra - Wiki - Forum - Planet
Click here to see all the pending retirements.