Skip to content

New Stat: Maintainers #23

@gundalow

Description

@gundalow

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

  1. Are we increasing the number of maintainers over time?
  2. Are the maintainers we have active, ie along with time-to-merge metrics, does a repo need help?
  3. 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)
  1. maintainers (as defined in GitHub) over time for a specific repository
  2. 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)
  1. BOTMETA maintainers for a specific repository
  • How this changes over time
  • Ability to mark specific events on the graph (recruitment drive, )

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions