[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: MBF for deprecating Python2 usage



Barry Warsaw <barry@debian.org> writes:

> On Aug 7, 2017, at 18:28, Ben Finney <bignose@debian.org> wrote:
>
> > That day [when we know that the vast majority of scripts in the wild
> > no longer expect Python 2 when invoking the ‘python’ command] might
> > never come, in which case the ‘python’ command will forever mean
> > Python 2. That is, I'm saying, better than breaking that command in
> > the near or medium future.
>
> I wonder if you’ll say the same thing in 2030 when Python 2.7 is 10
> years dead, can literally cannot be built on any then-modern Debian,
> let alone Linux distro?

Why do you wonder that, in the context of this proposal? That proposal
is the context of my statement above.

In the context of the proposal now before us, to change the behaviour of
the ‘python’ command in the near-to-medium term, it seems irrelevant to
wonder what I'll say on the matter in 2030.

Of course, I'm open to Python 2 dwindling into the past; it is
inevitable as the years go by. But in 2020 that won't be the case, and
we should be very conservative about declaring it to be the case because
– as you point out – even in 2020 we cannot be confident that we'll know
what the vast majority of scripts out there expect.

> Sure, today. And tomorrow. And many tomorrows until at least 2020.
> Then I think we’ll be having very different conversations about it.
> Anybody who will still be running Python 2.7 code will have some
> difficult choices to make. 1) port to Python 3; 2) run old versions of
> distros that still have Python 2.7 around and live with the
> unsupported nature of it; 3) roll their own Python 2.7s; 4) pay some
> commercial vendors to keep their stuff alive and secure.

I see no good reason to make that job *more difficult* by wantonly
changing what interpreter is invoked with the ‘python’ command.
Especially because it isn't even something needed for Python 3 to
flourish.

What tearing need is there to change what the command ‘python’ does, in
a backward-incompatible way?

We already have a ‘python3’ command. Scripts written today must
explicitly choose ‘python3’ to get that version of the language.
Learners learning today must explicitly ask for Python version 3.

> IMHO, there will absolutely be a day when it makes no sense to point
> /usr/bin/python to Python 2.

We agree on that fact. There is some disagreement about how many people,
whose voices are not part of this conversation, can be dismissed before
that day arrives. And when they can reasonably be dismissed.

-- 
 \         “We demand rigidly defined areas of doubt and uncertainty!” |
  `\    —Vroomfondel, _The Hitch-Hiker's Guide To The Galaxy_, Douglas |
_o__)                                                            Adams |
Ben Finney


Reply to: