in reply to RFC: Why Perl v5.20.2 is available for download and v5.18.2 is available on the LinuxOS repositories

There are many repositories, and even more reasons.

Consider CPAN, for example. That repository maintains a copy of just about every version of Perl, partially for historical value, but also so that authors of modules can access older Perl versions to verify compatibility of new code with old Perls.

perlbrew can install latest releases of all major versions from 5.20.2 back to 5.003_007. Again, this is useful to people trying to establish compatibility with older Perls, or trying to develop code that targets a production environment that still uses an older version.

Vendor repositories (CentOS, Redhat, Debian, etc.) may prefer stability over latest, at least for their production branches. And that being the case, they may prefer the devil they know over the devil they don't. Just as people are discouraged from upgrading system Perl because they may break system code that targets a given version, vendors are also reluctant to go through the process of regression testing all their established system code against a newer Perl version, and reluctant to force changes on their end users when those changes could have unforeseen consequences.

OS vendors have to balance the benefits of keeping their version of Perl up-to-date (bug fixes, security patches, etc), with the time costs and stability costs; the time it takes to build new rpm's, deb's, or whatever, the time it takes to test all system code that uses Perl, and the time it takes to support users who uncover code compatibility problems that the vendor could hardly anticipate. Time is a scarce resource.

And businesses that build their systems on Perl are also going to be fairly slow to upgrade their production-environment Perl for many of the same reasons. The possibility of something breaking with an upgrade is a strong deterrent. Especially if the production code base's regression test suite isn't comprehensive (as is often the case).

All this only scratches the surface. Everyone has their own reasons, even if the reason is only "don't fix what's currently working." Most Perl developers I know enjoy installing and using newer Perls in their own sandboxes; tinkering with new features, fantasizing over how their code would look saner if they could just use some new feature, and so on. But at the same time, they understand the reality that it's a lot easier to install a new Perl in a tinkering environment than in a dev/production environment. The Perl version being used in production is really a form of technical debt, after all.


Dave

  • Comment on Re: RFC: Why Perl v5.20.2 is available for download and v5.18.2 is available on the LinuxOS repositories

Replies are listed 'Best First'.
Re^2: RFC: Why Perl v5.20.2 is available for download and v5.18.2 is available on the LinuxOS repositories
by thanos1983 (Parson) on May 25, 2015 at 09:06 UTC

    Hello davido,

    You are right, compatibility is way more important factor than having the latest version. Plus so many new bugs that can be introduced and produce so many problems due to this reason.

    As you said it makes more sense to upgrade locally if needed instead of the repositories to have the latest version.

    Thank you for your time and effort reading and replying to my question, it helped to understand a few things.

    Seeking for Perl wisdom...on the process of learning...not there...yet!