guix-devel
[Top][All Lists]
Advanced

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

Re: Python 2 retirement — what should Guix do?


From: Nils Gillmann
Subject: Re: Python 2 retirement — what should Guix do?
Date: Sat, 16 Jun 2018 18:30:55 +0000

Leo Famulari transcribed 1.9K bytes:
> In 2020, Python 2 will no longer be supported by the Python team. [0]
> 
> To quote Guido van Rossum, "The way I see the situation for 2.7 is that
> EOL is January 1st, 2020, and there will be no updates, not even
> source-only security patches, after that date. Support (from the core
> devs, the PSF, and python.org) stops completely on that date." [1]
> 
> In Guix we aim to offer software that is safe to use, which typically
> means "maintained".
> 
> Presumably, Python 2 will be maintained by some third parties for quite
> a while after 2020.
> 
> I wonder, what should Guix do?
> 
> Personally, I think our set of Python packages is relatively hard to
> maintain. There is a lot of brittle code in there. I'd be happy to drop
> our policy that Python libraries have both Python 2 and 3 packages by
> default.
> 
> [0]
> https://legacy.python.org/dev/peps/pep-0373/
> 
> [1]
> https://mail.python.org/pipermail/python-dev/2018-March/152348.html


While I agree with the security aspect, I don't think the goal to drop
python-2 by 2020 on OS site is realistic at all.
We can do it, but we will have lots of people out there relying on python-2.
When a language implementation reached EOL, we don't have to follow that.
Personal misery:
I seem (at the moment) to be the only GNUnet dev trying to move whatever
python2 code we have in all projects around and in GNUnet to python2+3
dual support, and that's not even fulltime. 2020 might be doable, but who
knows what life throws at you.
It could be reasonable to do the following:

- Jan 2020. Python drops 2 support.
- Also Jan 2020: we document an emphasis on prefering python3 packages,
  or even the recommendation to help upstream to make the software build
  with python3. If there's nothing special going on, it is rather trivial
  but nevertheless can take some time.
  We keep python-2 around. We announce a feature freeze, starting Jan 2021,
  on the python2 part of python packages which exist in both versions if
  they are build from the same source.
- Jan 2021: We no longer accept python-2 packages unless it is for a specific
  reason, case-by-case decision.
- 2022: Drop python-2?

I'm really in favor of keeping it around but leaving it as a conscious
decision for people who need it. That's what I do for the kernel for
example. I bump versions, I try to maintain the official supported
versions but leave versions and package recipes of older versions
around.
Whoever needs older versions will be aware of the implications that
come with these older versions.

Of course it is really tempting to get to a system which only supports one
implementation of the python language, and thus get rid of some code.
If we were the size of Debian, we could even shape the process and adoption
by option to no longer support the dual scheme. Of course because we are
not the size of Debian, it is also easier to decide what we do. I think
full-time python devs such as Hartmut will have more to say about this.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]