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