Project:Retirement/For Project Members
Communicating
The most important part of the Retirement project work is proper communication. Every action must be communicated to the developer appropriately.
Whenever sending mail on behalf of the project, please remember to:
- CC the alternative e-mail addresses of the developer (found in LDAP)
- CC
retirement@gentoo.org
- set Reply-To to
retirement@gentoo.org
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.
Helper scripts
The following scripts are currently available in app-admin/gentoo-retirement-scripts (gentoo-retirement-scripts) repository to help automating the work of the project members:
- 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 the project.
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.
Inactivity retirement
Helpful links for monitoring activity
- 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/gentoo-retirement-scripts/blob/master/check-commit-activity.py
- monthly "slacker" report mails from Infra team to
retirement@gentoo.org
- Bugzilla activity:
- Forums:
- Find the developer on member list, then use 'Find all posts by ...'
- See also #650120 as request for better activity indication
Also remember to check for devaway
Finding devs without commit access
On LDAP-enabled host (e.g. woodpecker):
user $
ldapsearch -Z -LLL -b 'ou=devs,dc=gentoo,dc=org' '(&(!(gentooAccess=git.gentoo.org/repo/gentoo.git))(gentooStatus=active))' gentooJoin gentooRetire gentooStatus gentooDevBug gentooRoles
Timeline
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
Detailed process
Retirement 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 gentoo-dev@lists.gentoo.org mailing list and re-assigned to maintainer-needed@gentoo.org 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.
- Change
Summary
to:- 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
retirement@gentoo.org
(Retirement Admin). - Change
Status Whiteboard
to 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:
- Change
Summary
to Retire: Full Name (nickname). - Change
Status Whiteboard
to second-mail-sent: yyyy-mm-dd.
- Change
- Send the second mail.
- Reopen the Packages reassignment bug:
- After three months from second mail, send third mail.
- Change
Status Whiteboard
to third-mail-sent: yyyy-mm-dd.
- Change
- 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:
- Change
Status Whiteboard
to fourth-mail-sent: yyyy-mm-dd.
- Change
- 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
Retirement procedure
Retirement procedure looks like this:
- Change the
Status Whiteboard
toinfra-retire: yyyy-mm-dd
. - CC
infra-bugs@gentoo.org
,planet@gentoo.org
(when you find DEV in Planet contributors list),forum-mods@gentoo.org
. - Clean up any
metadata.xml
the 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: No
on 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 Libera.Chat 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 - Projects (Wiki) - Infra (LDAP, bugs, wiki, d.g.o) - Gitolite - GitHub - Forums - Planet - IRC cloak
Pending retirements
Click here to see all the pending retirements.