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"?

We'd probably have to support companies as a registrant as well as individuals, so we don't over-report dependencies.

There should be an option to provide a contact email address. If you provide an email address, there'd also be an opt-out for "I don't want to be contacted by the author".

Registrants could specify their privacy level: whether they want other people to know they're using these modules, for example.

There are three immediate benefits I can think of:

It starts to give a more complete (though still inaccurate) measure of usage for distributions. This would be particularly useful for things in the App:: namespace and similar.

namespace and similar. It could provide a mechanism for authors to contact their user base for feedback on proposed changes, or to ask them to test a dev release.

It the various situations where an author is no longer available to maintain a distribution, it might provide additional people in the pool of potential adopters.

People could opt in to notifications: "tell me when there are new (major) releases of this dist please".

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.

Thoughts?

Please enable JavaScript to view the comments powered by Disqus.

Disqus