In a series of previous posts ( 1, 2, 3 ) I had a look at some metrics for measuring the river quality of distributions. This post presents those metrics for the distributions at the head of the river: those distributions which have 10,000 downstream dependents or greater.
Firstly, here's summary data for the 45 distributions, in decreasing order of number of downstream dependents. I didn't include that number to keep the width of the table down. Most of these are core dists (another indicator I might include in future versions of the table).
Distribution | Released by | min perl | Bugs | CPAN Testers | Kwalitee | META | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Pod-Simple | MARCGREEN | N/A | 4 | 5 | 0 | 0 | 0 | 1 | 2 | Y | J | |
Data-Dumper | SMUELLER | N/A | 18 | - | 3909 | 25 | 15 | 0.6% | 5 | 4 | Y | - |
Test-Simple | EXODIST | 5.006 | 28 | 27 | 0 | 0 | 0 | 1 | 1 | Y | J | |
Scalar-List-Utils | PEVANS | N/A | 28 | 0 | 5579 | 98 | 8 | 1.7% | 1 | 2 | Y | J |
Test-Harness | LEONT | N/A | 32 | 12 | 0 | 0 | 0 | 0 | 2 | Y | J | |
podlators | RRA | 5.006 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | Y | J | |
Test | JESSE | N/A | 6 | - | 2833 | 0 | 1 | 0.0% | 0 | 0 | Y | J |
ExtUtils-MakeMaker | BINGOS | 5.006 | 29 | 24 | 0 | 0 | 0 | 0 | 2 | Y | J | |
Carp | RJBS | N/A | 6 | - | 0 | 0 | 0 | 1 | 2 | Y | J | |
PathTools | RJBS | N/A | 62 | - | 0 | 0 | 0 | 0 | 3 | Y | J | |
parent | CORION | N/A | 3 | 0 | 1721 | 0 | 0 | 0.0% | 1 | 2 | Y | J |
Exporter | TODDR | N/A | 0 | - | 1102 | 0 | 0 | 0.0% | 4 | 2 | Y | J |
Encode | DANKOGAI | N/A | 45 | 3 | 0 | 0 | 0 | 1 | 2 | Y | J | |
IO | TODDR | N/A | 34 | - | 332 | 8 | 1 | 2.3% | 1 | 3 | Y | - |
constant | RJBS | N/A | 0 | - | 729 | 0 | 0 | 0.0% | 0 | 2 | Y | J |
File-Path | RICHE | N/A | 1 | 1 | 0 | 0 | 0 | 0 | 2 | Y | J | |
File-Temp | DAGOLDEN | 5.006 | 10 | 1 | 0 | 0 | 0 | 2 | 3 | Y | J | |
lib | SMUELLER | N/A | 2 | - | 2177 | 4 | 4 | 0.2% | 2 | 3 | Y | - |
version | JPEACOCK | 5.006002 | 0 | - | 0 | 0 | 0 | 0 | 0 | Y | J | |
Module-Load | BINGOS | N/A | 4 | 1 | 1649 | 2 | 0 | 0.1% | 0 | 1 | Y | J |
Module-Metadata | ETHER | 5.006 | 11 | 6 | 0 | 0 | 0 | 1 | 2 | Y | - | |
Locale-Maketext-Simple | JESSE | N/A | 8 | - | 1823 | 60 | 0 | 3.2% | 1 | 1 | Y | - |
Module-CoreList | BINGOS | N/A | 6 | - | 0 | 0 | 0 | 0 | 2 | Y | J | |
Params-Check | BINGOS | N/A | 3 | 1 | 1891 | 2 | 1 | 0.1% | 0 | 2 | Y | J |
Module-Load-Conditional | BINGOS | N/A | 0 | 0 | 1114 | 0 | 0 | 0.0% | 0 | 2 | Y | J |
IPC-Cmd | BINGOS | N/A | 26 | 1 | 1476 | 121 | 0 | 7.6% | 0 | 2 | Y | - |
base | RJBS | N/A | 4 | - | 0 | 0 | 0 | 3 | 4 | Y | J | |
Text-ParseWords | CHORNY | 5.006 | 5 | 0 | 1021 | 0 | 0 | 0.0% | 0 | 1 | Y | J |
Perl-OSType | DAGOLDEN | 5.006 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | Y | J | |
ExtUtils-CBuilder | AMBS | N/A | 0 | 0 | 0 | 0 | 0 | 1 | 2 | Y | J | |
Getopt-Long | JV | N/A | 11 | - | 0 | 0 | 0 | 0 | 0 | - | - | |
XSLoader | SAPER | N/A | 0 | - | 2366 | 249 | 0 | 9.5% | 1 | 2 | Y | J |
JSON-PP | MAKAMAKA | N/A | 13 | 3 | 1929 | 2 | 0 | 0.1% | 0 | 3 | Y | J |
ExtUtils-ParseXS | SMUELLER | N/A | 4 | - | 0 | 0 | 0 | 0 | 2 | Y | J | |
CPAN-Meta-YAML | DAGOLDEN | 5.008001 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Y | J | |
CPAN-Meta-Requirements | DAGOLDEN | 5.006 | 0 | 5 | 0 | 0 | 0 | 0 | 0 | Y | J | |
Parse-CPAN-Meta | DAGOLDEN | 5.008001 | 3 | 1 | 3647 | 0 | 0 | 0.0% | 1 | 2 | Y | J |
CPAN-Meta | DAGOLDEN | 5.008 | 5 | 23 | 3675 | 2 | 0 | 0.1% | 0 | 0 | Y | J |
ExtUtils-Install | BINGOS | N/A | 21 | 2 | 1234 | 7 | 0 | 0.6% | 2 | 3 | Y | J |
ExtUtils-Manifest | ETHER | 5.006 | 2 | 12 | 1302 | 0 | 0 | 0.0% | 0 | 0 | Y | J |
Text-Abbrev | FLORA | 5.005 | 0 | 0 | 0 | 0 | 0 | 2 | 2 | Y | J | |
Module-Build | LEONT | 5.006001 | 24 | 12 | 0 | 0 | 0 | 0 | 0 | Y | J | |
if | ETHER | N/A | 1 | - | 0 | 0 | 0 | 3 | 2 | Y | J | |
MIME-Base64 | GAAS | 5.004 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | Y | J | |
Try-Tiny | ETHER | 5.006 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Y | J |
Some explanation:
META.yml
,
and a J if the dist has a META.json
.One obvious follow-on question, which at least Helmut asked: what are the kwalitee metrics involved. So I wrote another script to build a summary table of the metrics:
The most commonly failed metrics are:
use warnings
Now I've got this data, I'm going to start working through the distributions, seeing which ones can be fixed, and raising bugs or submitting pull requests, as appropriate.
comments powered by Disqus