Gerrit/Inactive projects

Background
This page is about marking code repositories with no recent activity. For previous discussion see T102920.

Definitions
(Possibly) Inactive code repositories are defined by:
 * Premise: no patches have been merged to the repository in at least 180 days (localization updates don't count).
 * POSSIBLY INACTIVE: If there are open changesets submitted without any review or stuck with 0/+1 after 90 days, the repository is labelled POSSIBLY INACTIVE. Ideally, a notification would be sent to the identified maintainers and other contributors to the project.
 * INACTIVE: If there are open changesets submitted without any review or stuck with 0/+1 after 180 days, the repository is labelled INACTIVE.

Actions to mark a repository as (possibly) inactive
Note: Some of these steps might require special permissions. Please file a task in Phabricator if you cannot perform all actions.


 * For POSSIBLY INACTIVE code repositories, try to contact the authors / maintainers (e.g. check the latest changes or a project homepage if existing) and ask about the status of the project (and whether potentially proposed patches in Gerrit will receive a review). Assuming that you receive no answer:
 * For POSSIBLY INACTIVE code repositories, either write a patch to update the CI/Zuul configuration to automatically add an explanatory comment in Gerrit about the repository's status. Or create a Phabricator task in the project #Continuous-Integration-Config to let someone else do it. (We do not remove it from CI/Zuul as then patches can still be uploaded but would get no response or indication the inactive status.)
 * For POSSIBLY INACTIVE code repositories, go to Gerrit and update the project description: Prefix it with "[INACTIVE]" and add the sentence "See https://www.mediawiki.org/wiki/Gerrit/Project_ownership#Requesting_repository_ownership if you are interested in taking over maintainership". Or create a Phabricator task in the project #Gerrit to let someone else do it. (We do not set the State to Read Only as that would block translation updates.)
 * For INACTIVE code repositories, check their open patches in Gerrit and add a comment "Thanks for your contribution! This code repository appears to be inactive (see https://www.mediawiki.org/wiki/Gerrit/Inactive_projects ). If you are interested in taking over maintainership, see https://www.mediawiki.org/wiki/Gerrit/Project_ownership#Requesting_repository_ownership . Also feel encouraged to contact the previous maintainer(s) if possible". Or create a Phabricator task in the project #Gerrit to let someone else do it. (We do not set the State to Read Only as that would block translation updates.)
 * Update the extension/project wiki page of INACTIVE projects to reflect the inactive status of the codebase by applying the mw:Template:Unmaintained extension and adding mw:Category:Unmaintained extensions.
 * Edit the Phabricator description of INACTIVE projects by adding a prefix to the project description: "This project has been marked as inactive. See https://www.mediawiki.org/wiki/Gerrit/Inactive_projects for more information. If you are interested in taking over maintainership, please see https://www.mediawiki.org/wiki/Gerrit/Project_ownership#Requesting_repository_ownership and click "Join Project" in this Phabricator project."
 * To filter out INACTIVE projects from Wikimedia code review metrics on http://korma.wmflabs.org/, either provide a pull request in GitHub to update the files gerrit_trackers_blacklist.conf and git_trackers_blacklist.conf. Or create a Phabricator task in the project #Analytics-Tech-Community-Metrics to let someone else do it.
 * For INACTIVE projects, edit mw:Developers/Maintainers by removing inactive maintainers.

Actions to mark a repository as active again
Once a request for ownership has been received, the steps above need to be reverted.