develooper Front page | perl.module-authors | Postings from November 2011

Re: The CPAN Covenant

Neil Bowers
November 30, 2011 03:10
Re: The CPAN Covenant
Message ID:
Hi Dana,

> I've mostly ignored all this but I will step in briefly.
> I am the author of a few modules on CPAN. None of them are major.
> [...]
> I most vehemently resent anyone
> deciding that my contributions are not worth keeping around.
> [...] What if one day the CGI::Untaint::Test module gets fixed and my various contributions
> to CGI::Untaint pass their tests again?

As I said in my previous message, this is one of the main reasons why I think we should never rush to remove something from CPAN.

> I have various sysadmin tools for DNS which I haven't finished the
> documentation for but hope to get a chance to finish and contribute -- but
> if my earlier efforts are deemed worthless, there is no way I would
> contribute anything to CPAN ever again. Maybe you think that's an
> insignificant loss -- but where is the harm to the community to leaving my
> contributions where they are? [...]

I though I was clear in saying that in general things should stay on CPAN, because someone might pick it up and carry it forward. But there are times when I think retirement is appropriate, if done respectfully.

Perhaps an example will make clearer what I mean.

I reviewed seven modules you can use to parse the User-Agent string that web browsers, crawlers etc pass to web servers to identify themselves. One of them, HTTP::Headers::UserAgent, hadn't been updated since 2004. Other modules are actively maintained, which is important for this sort of module.

I contacted the original module of the author, and the guy who had taken over. That took a little while. I offered to take over the module, and made clear that it was to make sure that people didn't use it, but to do that gradually. The current maintainer at the time commented:

I wouldn't say it is worth covering in a contemporary review of similar modules other than to point out  you shouldn't use it.  :)

I'm now the maintainer, and put out a release, which makes it very clear that the module is now deprecated. I added a test-suite, fixed some bugs and added a section to the documentation describing the other modules you should really use. I also stated that if anyone is using the module and really doesn't want to switch, they just need to let me know and I'll try and make sure the module stays around. Otherwise the module will be withdrawn from CPAN at some point, but I'm not going to rush it. I think the module should still be available, just not on "regular CPAN".

I've tried to do this in a way that respects the original authors, and doesn't pull the rug from under anyone who's using the module. And I'm only doing this where there are multiple other modules which provide a superset of functionality, better coverage, and are actively maintained.

Neil Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About