-
Notifications
You must be signed in to change notification settings - Fork 2
Description
What
Maintainers are a key part of the Ansible community. They are the people that can merge code (either directly or via ansibullbot)
Definition of a maintainer
- Is listed as having
triage(or higher) permissions for a specific repo in GitHub - We should ignore Ansible staff
- We should include Red Hat staff that aren't part of Ansible
Active maintainer
As a 2nd phase, we may wish to track how many of these maintainers are "active".
Someone interacting with the repository in any way should count as being an active maintainer, ie:
- Creating an Issue or PR
- Commenting (text or emoji response) on an Issue or PR
- Reviewing a PR
- Changing metadata: Adding/removing labels, assigning someone to review
- Closing/merging an issue or PR
We would want to define some time limit, though given some repositories don't have much activity, maybe this limit should be fairly high, ie 6 months+?
Which repos
There are many collections on Galaxy.
Some of those are under gh/ansible-collections
The ansible package contains some collections from gh/ansible-collections, as well as some collections hosted elsewhere.
If we need to extract a list of maintainers, then I believe that will limit us to collections under gh/ansible-collections.
We may wish to filter this, to only collections that we include in the ansible package.
Special case repos with .github/BOTMETA.yml
As well as maintainers being defined by having direct permissions via GitHub, we use ansibullbot to delegate permissions to certain people for a specific directory example.
Given the vast number of BOTMETA maintainers, we may wish to track this separately to Collection owners.
"Active" status is harder, as it possible a repository may go many years before Ansibullbot needs to ping a specific maintainer, ie when a PR is raised against a specific module
What would cause an increase
When we add a new collection into the ansible package, it's likely that will have some new maintainers, ie
ibm.ds8000 requests a new collection repo with 8 maintainers, which are all new to the ansible-collections GitHub Org
What would cause a decrease
- Someone stepping down
- Removal of a repository (unlikely)
- Moving a repository from gh/ansible-collections to a different GH Org where we don't have permissions to see who is a maintainer
Presentations/questions we will ask the data
- Are we increasing the number of maintainers over time?
- Are the maintainers we have active, ie along with time-to-merge metrics, does a repo need help?
- Overall maintainers (as defined in GitHub)
- How this changes over time
- Ability to mark specific events on the graph (recruitment drive, new repository with large number of maintainers)
- maintainers (as defined in GitHub) over time for a specific repository
- Overall BOTMETA maintainers
- How this changes over time
- Ability to mark specific events on the graph (recruitment drive, new repository with large number of maintainers)
- BOTMETA maintainers for a specific repository
- How this changes over time
- Ability to mark specific events on the graph (recruitment drive, )