On Tue, Jul 19, 2005 at 05:32:30PM +0100, Paul Marquess wrote:
> This raises the question (which I think you yourself brought up a couple of
> weeks ago) about support for ancient-perl. Should module authors continue to
> support 5.004* at all? 

There's supporting the 5.4.x tree and then there's supporting old versions 
of that tree.  There's only so far I'd expect module authors to bend over
for old versions.  Supporting the latest version of an old 5.x tree should be
far enough.  If nothing else, some of the older versions won't even compile
with modern build tools.  I had to do some fiddling to even get 5.4.5 
compiled on OS X.

Dealing with old versions is bad enough.  Dealing with old releases of old
versions is going well beyond the call of duty.


> I guess another way to look at this is to ask why has nobody else noticed
> the problem with these modules? Scalar-Util/Cwd/File-Spec are all fairly
> common modules. Could the lack of problem reports imply that nobody actually
> uses 5.004* anymore?

That's been my conclusion, unless there's some vast Silent Majority of
5.4 users out there and in that case its their fault for keeping quiet.
I think one machine at the job I just started here still runs 5.4 and its
an old Dynix box that's being phased out.  I few other people have mentioned
machines they know of that are still running 5.4.  There's really no good 
reason anyone should still be actively developing with 5.4, though they 
might be keeping it around to run old code, and I'm really not that interested
in doing extra work to support sloppy sysadmins that can't be bothered to 
install two versions of Perl: one for active development and one for old,
unsupported code.

I haven't even heard from a 5.5.x user in a while.

That said, here's how far back the CPAN versions of the critical modules can 
go which effectively sets a backwards compatibility limit for any module
author not wanting to completely reinvent the wheel.

Module                  Ships With      Latest Version Installs On
ExtUtils::MakeMaker     5.0             5.5.3 (with Pod::Man)  
Test::More              5.8.0           5.4.5 (maybe further) 

Test::Harness           5.0             5.5.3 (5.4.5 with a pending patch)
File::Spec              5.5.0/5.4.5     5.4.5 (I think) 
Cwd                     5.0             5.4.5 (I think)
Module::Build                           5.5.3 (I think)
Test                    5.5.0/5.4.5     5.4.5 (I think)

NOTE:  5.4.4 is probably equivalent to 5.4.5 in the above list but I don't
have a copy to check and Module::CoreList doesn't list 5.4.4.

So I'd say for most modules supporting 5.6.2 == good.  Supporting 
5.5.4 == excellent.  Supporting 5.4.5 == if you really want to.  Don't bother
with intermediate versions (ie. 5.4.0, 5.5.3, etc...).

If somebody really wants a module to work on an old Perl they can pay the 
author to backport it.  Why should they do work they don't want to do, is of 
no benefit to them, and deals with a self-inflicted pathological mess, for 
Free?


-- 
Michael G Schwern     [EMAIL PROTECTED]     http://www.pobox.com/~schwern
'All anyone gets in a mirror is themselves,' she said. 'But what you
gets in a good gumbo is everything.'
        -- "Witches Abroad" by Terry Prachett

Reply via email to