Jim wrote:
> Notwithstanding Samuel's offer to take over maintenance of Time-Piece, I would like to ask: Is there a compelling reason why this is distributed with core?
Are there documented criteria for what justifies being a core module? I couldn't find anything, other than a discussion in 2001, which was more about the state of a proposed core module[1].
Skimming perlmodlib here's a first attempt at a list, roughly ordered by strength of claim:
1. Needed to install perl. Eg various Test::*
2. Modules (especially pragmata) that are considered to be part of the language. strict/warnings/Carp
3. Toolchain modules needed to bootstrap your environment. Eg CPAN
4. Modules for talking to your environment / glue. Eg Cwd, Fcntl, File::Spec*
5. Codifies best practice in a way that's seen as a good thing ("everyone will/should want to use it"). autodie?
6. "Batteries included" - stuff that "everyone" does, so makes sense to come in the box. Eg Getopt::Std, HTTP::Tiny
Some modules tick multiple boxes, which in some sense gives them a stronger claim. Though if you're in the first group, it doesn't matter whether you tick any other boxes.
Groups 5 and particularly 6 are where things ebb and flow over time. RIP CGI.
Neil
[1] http://www.nntp.perl.org/group/perl.qa/2001/04/msg431.html