Deleting distributions from CPAN

CPANdeletioncuration Sat 21 December 2013

I think there are times when a distribution should be removed from CPAN entirely. If a distribution doesn't appear to be used, and there are other dists providing the same functionality which are being used, then I think we can consider removing it from CPAN. In this post I'll describe why it's good for CPAN if appropriate distributions are removed, how to decide what distributions should be removed, and suggest a process for distribution removal.

There are many different user groups for CPAN, but here I'm thinking about Perl programmers who don't consider themselves part of "the Perl community", who don't read perl blogs, Perl monks or hang out on IRC. They just want to get a job done, and go to CPAN thinking "I wonder if there's a module for doing X". If X is at all common, then often there will be multiple modules for it.

Sometimes there are modules / distributions for which there is no situation in which you could recommend their use, and where other distributions provide the same functionality and more. Where such distributions are probably not being used, then I think their removal should be scheduled, following the process outlined below.

But first, how might we decide what distributions are candidates for removal from CPAN?

Deletion criteria

There are lots of distributions on CPAN with version 0.01. I'm going to start looking at distributions from this group that were released more than 5 years ago and that don't have any other distributions dependent on them.

The deletion process

The majority of this process is actually giving notice that you plan to remove the distribution from CPAN and scheduling it far enough in the future to minimise the probability of pulling the CPAN rug from under anybody.

Pick a deletion date in the future, for example a year from now.

Release a new version of the distribution with updated documentation:

Wait for time to pass ... and when you reach the scheduled deletion date:


There are a number of reasons often given when arguing against deleting dists from CPAN, including:

I think this is a trade-off between (a) the chance that someone might be using it or might use it in the future, and (b) the negative impact of the distribution distracting people looking for the right module to use.

I think if there are enough alternative distributions that are being used, and the distribution meets the criteria outlined above, then CPAN is better off without it. If it turns out that the dist is being used, then you can always put it back anyway.

comments powered by Disqus