CPAN Top 100 now brings you the brutal FAIL 100 list!

Alias on 2009-05-04T12:58:18

http://ali.as/top100/

I've managed to find a timeslice over the weekend to complete the next iteration of the CPAN Top 100 website.

I've temporarily hard-coded out the bugs in the CPANTS data that was confusing the ranking code, and removed the "Debian Most Wanted" list for now, because the data it was based on was simply too inaccurate.

In it's place, I've managed to work in an all new kind of evil :)

The FAIL 100 list integrates CPAN Testers results into the Top 100 database for the first time, and is based on the principle that the most-depended-on modules should fail the least often.

So while 1 FAIL report for a leaf node module that nothing depends on is 1 failure, 1 FAIL report for an important module like Moose represents an installation failure not just for it, but a potential installation failure for everything that depends on it.

So the "FAIL'ure" score for a distribution is calculated by taking the number of CPAN Testers FAIL reports for the most recent production release of a distribution, and then multiplying it by the number of things that depend on that distribution (and would themselves FAIL if you tried to install them but are otherwise prevented from even being tested by the failing dependency).

The goal of the list is to highlight the areas of the CPAN most in need of bug fixing work, and where new releases that fix failing tests will have the most impact on the reliability of the CPAN as a whole.

As you can see, the number one source of FAIL'ure by a factor of three is currently Scalar-List-Utils. The score is so high because it simultaneously is the most depended on module on the entire CPAN, and it fails to install on Windows (which had been masked somewhat by Strawberry force-installing it by default).

Hopefully this list will be the first that provides more than just novelty value, it will help maintain a vigil over the CPAN and spot places where we need to provide some help to the authors. Some modules, of course, such as Task::Weaken and ExtUtils::CBuilder, you would expect to see near the top of the list.

But others on this list look surprisingly out of place...

Update 1

The FAILure score now links to the CPAN Testers page for the distribution, with all the appropriate settings twiddled to show the failures that are causing the problem.

Update 2

The calculation now filters out devel and patch versions of Perl. Authors should never be blamed for non-production failure.