CPAN adoption candidates

CPANadoption Wed 31 July 2013

Last week I described a process for adopting a CPAN module. In this post I describe a metric for identifying candidates for adoption. These are essentially modules that have outstanding bugs, haven't been released for a while, and are used by other modules. I've generated a list of the top 1000 adoption candidates according to my current scoring metric. This is very much a work in progress.

This is a follow-up to a blog post I wrote last year. This time I include more factors and in particular the number of dependent distributions.

Each distribution is scored according to the following rubric:

  1. Not released in the last year.
  2. Not released in the last 3 years.
  3. Has one or more outstanding bugs.
  4. Has ten or more outstanding bugs.
  5. At least one bug was reported in the last month.
  6. Has at least one dependent distribution.
  7. Has at least 10 dependent distributions.
  8. Author hasn't released anything in the last 3 years.
  9. At least one bug has been reported since the last release.
  10. One one user has PAUSE permissions for the distribution.
  11. The distribution only contains one module.

At the moment the score gets a +1 for each matching rule. Here's a plot which shows the distribution of scores across all CPAN distributions. Note that the y axis is logarithmic.

CPAN adoption scores

There are various types of factors in there, but I'm thinking it might be worth splitting them into two groups:

This is a first step. After a lot of good input, I'm working on the next iteration of this, which will include at least some of the following:

Sources of data:

Let me know if you've got other ideas for extending or refining this.

comments powered by Disqus