develooper Front page | perl.perl5.porters | Postings from August 2020

Re: Q: what the hell is going on? // A: ...

Thread Previous | Thread Next
From:
Craig A. Berry
Date:
August 6, 2020 16:39
Subject:
Re: Q: what the hell is going on? // A: ...
Message ID:
CA+vYcVwAv+S1=Wrn6iL9oj8vJUYmM1a3oiRpuRszhcxwawNrtQ@mail.gmail.com
On Thu, Aug 6, 2020 at 1:50 AM Tomasz Konojacki <me@xenu.pl> wrote:

> It's a false dichotomy that all users want either legacy
> maintenance-mode Perl that never changes or total breakage without any
> warning. As I said in my previous post, there's an obvious third way.

+1.  I believe you have raised this point before.  Branislav mentioned
"feature lifecycles" more than once.  I and others have raised similar
points. It is a very common and, as you say, obvious way of doing
things that almost every open source project of any size practices in
some form.  Yet the most obvious way to balance backward compatibility
and forward movement seems not to have been considered, is not in the
list of "perceived positions" collated by the steering committee,[1]
and was perhaps allowed but not explicitly mentioned in Ricardo's post
that opened this thread.

Changing what features are enabled by default in no way requires one
big bet-the-farm incompatible change on short notice.  Consider an
alternate universe in which v5.32 was released along with an
announcement that in v5.36, "use v5.12" or equivalent would be on by
default and in v5.40 would become mandatory. Paul Evans has recently
reminded us of just how much that does.[2] People would have five
years to get ready for the end of support of 5.38.x, including getting
CPAN and the toolchain into a form where a module version can specify
the minimum and maximum Perl versions it supports. Meanwhile, v5.34
could announce a new feature bundle to be enabled in v5.38 and
mandatory in v5.42.  Lather, rinse, repeat. And possibly rename 5.40.0
to 7.0.0 and use a new major version whenever a new feature bundle
becomes mandatory.

Maybe five years is too little (though in the example I gave, it
starts with a feature bundle that has already been available for 10
years).  The principles of least surprise and fair warning are more
important than any particular feature lifetime.  Six months is
definitely too little and forever is plausibly too long.  Why those
were considered the only alternatives continues to mystify me.

[1] https://github.com/Perl/perl5/wiki/Perceived-Positions-on-Perl-7
[2] https://groups.google.com/forum/message/raw?msg=perl.perl5.porters/fpx9yNkKgak/7HFpSBk5AgAJ

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About