Hi! Please consider following me on twitter: @hanekomu.
2009年08月25日
Perl modules past their sell-by date
Audrey wrote about _why's disappearance and although I have honestly never heard about _why up until the recent excitement (must not have been popular in my cave). But there was a quote from _why in her blog post that made me think:
programming is rather thankless. u see your works become replaced by superior ones in a year. unable to run at all in a few more.
That is very true. I have written and uploaded to CPAN quite a number of Perl module distributions. I obviously found them useful at the time I wrote them, but the Perl world moves on (rather fast as of late), and most of my distributions have fallen out of favor.
So I ask myself why I leave my deprecated distributions on CPAN. I don't need them anymore, and I certainly don't want to maintain them. I also don't care about having a three-digit number of CPAN distributions for the sake of some useless ranking. The modules will turn up as search results, and someone else might find them useful, but if other people asked me about the module in question I would probably refer them to some more modern code.
Just deleting them is proabably not a good idea either because someone might have the modules in use, though I don't flatter myself — I'm probably the only user of most of my code.
Is there some drop-off account where you can leave unloved modules?
posted at: 11:23 | path: /misc | permalink | 10 comments | 0 trackbacks
fireartist wrote at 2009-08-25 12:32:
> Is there some drop-off account where you can leave unloved modules?
"adamk" ;)
foo wrote at 2009-08-25 12:38:
There really should be some kind of Pause option to mark modules as deprecated.
hanekomu wrote at 2009-08-25 13:13:
Ali M: The "her" in that sentence referred to Audrey, not _why. :)
Steffen Mueller wrote at 2009-08-25 14:13:
There isn't currently a PAUSE flag that can be set for "orphaned" modules. There should be, but nobody implemented it. (There should also be a similar way to set/unset the flag for a full account.)
This would make my work as a PAUSE admin much easier: I mostly deal with the requests for taking over modules. They require a great deal of care unless you know in advance that the module's up for grabs.
The PAUSE source code is open (on github I think), so everyone could in principle implement this. I can't for lack of time, but I'd really appreciate if someone did!
Shlomi Fish wrote at 2009-08-25 16:12:
Well, some months ago I deleted my versions of File-FTS, which I adopted from the late Ariel Brosh, because it was largely replaced by File-Find-Object and related modules, originaly by Nanardon, which I also now maintain. One should still be able to find File-FTS on backpan, but I don't expect anyone still uses it, and I didn't hear any complaints since then.
In the "Definitive tags" list formulated as part of the "rethinking CPAN" effort, you can find such tags as "deprecated":
http://perl.net.au/wiki/Finding_a_Module_on_CPAN/Definitive_Tags
There is a mechanism to put some tags in the META.yml, and CPANHQ (see http://perlbuzz.com/2009/07/introducing-cpanhq.html ) supports it, but search.cpan.org and kobesearch.cpan.org don't as of yet. So what one can do for modules that should no longer be used is to add the "deprecated" tag.
Audrery Tang wrote at 2009-08-25 18:00:
Usually I just write a Very Prominent Notice in the module's SYNOPSIS section, telling the user that another module is preferred to this one.
For example, see http://search.cpan.org/dist/YAML-Syck/lib/JSON/Syck.pm#NAME -- The NAME section of JSON::Syck recommends using JSON::XS instead, and then the suggestion is repeated again at the DESCRIPTION section.
Matt S Trout wrote at 2009-08-26 01:02:
What Audrey said. We've been using that to great success for Catalyst and DBIx::Class stuff for a while now.
The fun part is chasing down things that are both orphaned+deprecated and getting permissions to do that one final release.
Adam Kennedy wrote at 2009-08-26 05:20:
What Audrey and Matt said, with the addition that I also like to do
=head1 NAME
Module::Foo - A module to do foo (DEPRECATED)
... so that it appears as deprecated in the search.cpan results and new people either 1) Don't use it 2) Look in it's docs for the recommended alternative.
Adam Kennedy wrote at 2009-08-26 05:22:
@fireartist
Only for deprecated modules that still appear in the Top 100 lists because hundreds of things use it :)
Comments are closed for this story.
Trackbacks are closed for this story.
Ali M wrote at 2009-08-25 12:22: