Module authors, especially authors of widely used modules, should start thinking about this soon. Perl 5.14 should be out in early 2011, making it the second major version on the new release schedule. Once 5.16 comes out in 2012, I think we'll officially be in a new era of Perl 5. I hope that Moose and other major Perl modules will have a clearly defined policy for Perl version support before 5.16 comes out.
via blog.urth.org
Interesing post from Dave Rolsky on which version of perl should the CPAN module authors support.
I've been doing "5.8.1 as maximum *and* minimum" for almost all of my CPAN modules for 7 years or so, and probably will continue doing it for another 3 years, until when perl 5.18 is supposed to be shipped.
If that becomes more painful, i.e. the new core features in perl 5.14 or later becomes too attempting to not use, I'd probably change my mind and categorize my modules for three levels, based on its popularity (i.e. audience of the module).
First, modules that are extremely popular, widely used or have many downtstream dependents should have a better compatiblity support than other modules. Candidates are cpanminus and Plack. Their current perl minimum dependency is 5.8.1, and I see no problems at this point, doing so for another 3 years or so.
Second, new modules I create could be less conservative. Because they are new and don't have existing users, I could worry less about the breakage by depending on new versions of perl. Their current code won't be screwed - they just get upset when installing modules to see their version of perl is not supported :p So, if I make a new module that heavily uses smartmatch, or relies on the improved Unicode regular expression semantics in perl 5.14, I'm happy to do so.
Lastly, upgrading existing modules will be something in-between. I won't stick 5.8 to those things forever, but will definitely think twice about ditching 5.8. Honestly, most of my modules are write-only per se, except the one that has been actively developed such as cpanm or Plack. So the only chance they drop 5.8 support to prefer later version of perl would be when we want to rewrite everything, or when the module in question has a bug because of core perl's known problems.
Recent Comments