Recording DarkPAN dependencies on CPAN

CPANDarkPANdependencies Sat 18 April 2015

This blog post outlines an idea for a service where people can register that they're using (i.e. dependent / reliant on) a CPAN distribution. This would provide additional information about which distributions underpin the Perl world, and if the registrants were contactable, it would help authors minimise breakages when making changes.

One central piece of the CPAN data model is recording of dependencies, and as an author an important piece is reverse dependencies: knowing which other dists on CPAN are using your dist (these are also known as downstream dependencies, as opposed to upstream dependencies, which are the dists you're using).

As a careful author, when making changes it is good to consider your reverse dependencies, to the point of running their tests against new versions of your dists before doing a non-developer release to CPAN (see DROLSKY's Test::DependentModules to help with this).

It's very easy to forget DarkPAN though: all the Perl code out there which isn't on CPAN, but which uses CPAN modules. Right now you've got no reliable way of knowing whether your module is even used, or by how many different people / companies.

So how about a service where people can say "I/we use this dist"?

There are three immediate benefits I can think of:

After quick discussion at the QAH, there seems to be agreement that this would be best done as a stand-alone service, which MetaCPAN etc can hook into.


comments powered by Disqus