Watching the health of upstream projects hosted in Fedora Infra

As a Fedora we are hosting plenty of projects and using plenty of tools. It would be great to have some kind of option to watch how healthy the projects are and if they need help. We would want to start with the projects that are critical for Fedora.
@msuchy was the first who started talking about this last year. Thanks to him for starting this discussion.

Right now we don’t know what tool we will use to actually watch the projects. There was mention of the CHAOSS project. But this could be discussed here as well.

Following are some starting metrics we want to gather to analyze project health:

  • Last commit - when the last commit happened. If there wasn’t any commit for several years the project is probably dead
  • Number of tickets opened/closed - plenty of opened tickets means that the project is still used even if there isn’t any work done on it
  • Number of open PRs - if the people want to contribute it’s always showing that the project is healthy
  • Last release - when the latest version of the project was released
  • How much users are actively contributing - that would be harder information to obtain, but really crucial. Projects with multiple contributors are healthy ones
  • Number of commits in last year - how active the project is from code point of view (we would need to filter out bot accounts like renovate or dependabot)

Feel free to add another or discuss the ones that are already here. Any feedback is welcome :slight_smile:

It’s of course always going to be a bit subjective. I mean, there could
be a simple project thats pretty inactive, but works just fine for what
we need it to do, but at least knowing this is very good I think.

A few more things that come to mind:

  • What the project is ‘targeting’. I am not sure how easy this would be
    to get, but basically requirements.txt/pyproject or the like… is the
    project trying to work against reasonably recent things? Or is it
    targeting python2 or the like.

  • Is the project packaged in fedora/epel? This wouldn’t tell the same
    things as the upstream project, but might still be interesting to
    know. Many of the same metrics would apply there (number of bugs,
    commits, etc).

I’ll note for things on github there’s a activity thing that gives you
sort of a overview of activity. Might be something could be gathered
from that.