While working on my adoption metric I've been looking at the number of distributions dependent on each distribution. Today I built the full dependency graph, so I could count the total number of dependencies. Or as ETHER put it: "how many other distributions will you break if you break yours?" It turns out 70% of CPAN distributions aren't used by any other distribution.

My Module::Path has 8 directly dependent dists but I was surprised to discover that there are 3766 distributions ultimately dependent on Module-Path! This is because Dist::Zilla is 2 hops upstream.

Here's a plot showing how many distributions have how many dependencies:

And here's the raw data behind that:

I've submitted an issue to MetaCPAN suggesting that this information could be displayed with dists: it might make people a little more careful about not breaking their dists.

I'll also note that there are some gaps in my data: whenever you look at all dists you trip over various problems like strange dist names, odd things in metadata etc.

comments powered by Disqus