Last updated by jim kirkpatrick on Sat, 2013-09-07 18:00
What's your idea?
To put a block/pane on every project page on D.org that provides an at-a-glance summary of how 'healthy' the project is. This would replace/extend the 'Statistics' block presently implemented and provide a clear, colourful overview of how 'healthy' -- in terms of bugs, issue activity, maintainers and installs -- the project is.
Ideally, to have the 'at-a-glance' properties, these would be clearly rendered to be 'good', 'ok' or 'bad' somehow, and compared to a standard/good practice set of metrics.
Further extensions could include engagement features so that when a metric is low, a 'Get involved' section appears, with buttons linking to pages on how to help the project... E.g. When 'Installs per open issue' is low, the following is shown:
This project could use YOUR help!
Please consider helping out with the Issues
EXAMPLE: this block would provide such metrics as:
- Commits per day/week/month/year
- Issue comments per day/week/month/year
- Installs per open issue
- Installs per active maintainer
- Open issues per active maintainer
- Installs per active maintainer
- etc
- OVERALL SCORE
What are the benefits?
Current/potential users/developers of the project can look at the block and see quickly if it's worth them installing the project, OR getting involved if the project use help.
Once implemented, this allows a report for all projects to be built that helps show people the best place to get involved. It also allows (later) a chance for financial support/bounty/sponsorship to be focused where it's needed.
Additionally:
- Maintainers might get more help
- Project users and maintainers will (hopefully) want to maximise their score, so they'd aim to clean up their projects, or be compelled to clearly ASK for help with things. (sometimes it's lonely being a maintainer!)
- Drupal's projects start to either get better, or be left to die (as all projects do eventually).
What are the risks?
- We'd need split up health checks for each supported major version of Drupal -- or for each branch of the project -- to avoid skewed data thanks for forgotten D5 versions or buggy & cutting edge D8/9 branches. The user should be able to pick
- Obviously the metrics would need to be chosen and calculated so their score makes sense, false positives/negatives will erode trust.
- A 'overall score' risks marking down an otherwise excellent project with a single shortcoming -- but then this is the point: to gain support or help bring quality up.
How can we measure the impact of this idea? (metrics)
- Tracking clicks on the 'help this project' buttons
- Comparing modules health over time
- Occasional maintainers questionnaires
- other Analytics & feedback
Who directly benefits from / will use this improvement? (target audiences)
Project users, potential project users, maintainers, Drupal as a whole.
Are additional resources available for discovery/implementation? (volunteer effort, financial backing, etc.)
TBC, but I'd help out...
Comments
Cross-linking
Cross-linking https://groups.drupal.org/node/312828 which has a discussion that may overlap with this proposal.
Love this idea!
Love this idea!
But we should be careful about exposing unhelpful information to users. Just because a module has 1 commit per month doesn't make it an unhealthy module. It could be perfectly stable but have reached a point where there aren't logically new features to add and the module has no known issues. Showing that as unhealthy wouldn't be accurate.
Perhaps commits in relation to open bugs?
@MJOC: Exactly, the metrics
@MJOC: Exactly, the metrics are what makes sense. Some might even include 3 'variables' relating bugs, users and commits.
As you say, a project with 10,000 users and 3 bugs with 1 commit/month is in fine shape -- it's down to choosing some mathematics that mirror what D.org wants to improve.
I'd argue it's the projects that are popular that have been left for a while that need most help -- the ones where the maintainer(s) are busy doing something else or MIA -- or the D6 branch is festering but still has >5,000 installs. In these cases we WANT the community to step in and offer help, or pester the maintainers to allow more co-maintainers to get things moving again.
I worry that Drupal will die a slow, bloated death if it continues having so many great projects fade away, getting to beta 4 but never a 1.0, or lots of RTBC issues hanging around... And what message does it send to new or existing legacy users if (for example) as soon as D8 is out the million+ D6 sites are just left to it? We need a way to get projects and people together.
Great Dialog
I love this idea too. We would need an opt-in for each project so as not to embarrass folks whose modules may not make the grade. It's encouraging to see us talking about standards, issue queue maintenance and more. Here's a graph that may be interesting: http://topshelfmodules.com/2-graph-of-drupalorg-module-health.
And yes, the algorithm can be tricky. We could beta test it on Drupal 8 releases. There are only a couple hundred of those...
Susan | Better modules through revenue-share: Crafted, Curated, Contributed
This is a great idea!
This is a great idea!
Related discussion
I've posted some related issues here:
https://drupal.org/node/2186377
Also here https://drupal.org/project/issues/search?issue_tags=metrics
--
OpenConcept | Twitter @mgifford | Drupal Security Guide