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

Re: Python 2, Python 3, Stretch & Buster



On Mon, Apr 20, 2015 at 12:04:14PM +0200, Enrico Zini wrote:
> Hi. I welcome, in principle, migrations to python3. I like python3.4 more
> than python2, both the language and the stdlib it comes with.

:+1:

> This is a census of the services I'm maintaining, more comments will
> come after the census:

You're the best, thanks Enrico! This is ultra helpful, I'll start to
track your dependency chains and see if we can't help prepare the
ecosystem!

[snip]

> HOWEVER. I am the only person currently looking after all that code, and
> my development time on it is mostly spent fixing bugs and implementing
> the features that make it useful. See for example [1] and [2] for the
> kind of things that are on top of my todo list.
>
> So, I would welcome help. However, I still have nightmares from the
> time of active 2.x development, where at every 2.x python upgrade some
> bits of my code started spitting deprecation warnings or stopped
> working, and I had to take a day off work to rush into a very unpleasant
> emergency forward port, tracking down arbitrary API breakages caused by
> someone with commit rights to the python stdlib who had a different
> concept of "obscure" than me[3].
>
> At the moment, I have a strong guarantee from the python core developers
> that my code WILL keep working until 2020, and I will NOT have that
> guarantee if I migrate to python 3. I would laugh at this, if it didn't
> make me cry first. See my comments at [4].
> 
> So, if I am left to my own devices, I will *not* consider any porting
> effort until late 2019, to make sure that between here and 2020 I will

So, round one of all of this is getting the critical path *under* each
of our services ready, so that when we need to migrate, we don't need
to scramble.

As a compromise to keep us both happy - if we were to focus on making
sure the code ran on both Python 2 *and* Python 3, would you be open to
those patches? You could continue the production deployment on Python 2,
and also let some porting work go on to ease that transition later. I
believe this would mostly take the form of a new python-six dependency,
as well as evaluating alteranatives to dead-end Python 2 only support
libraries.

> need to do porting only once from 2 to 3, instead of who knows how many
> times from 2.x to 3.4, then from 3.x to 3.x+n at every new Debian stable
> release.
> 
> With help (i.e. with people doing the porting work, who I'm happy to
> assist), I'm glad to migrate to python 3. But help MUST come also with
> someone taking responsibility for guaranteeing that they will ALSO do
> the porting work in the future, chasing whatever will break with new 3.x
> versions.

full-ack on that.

> That is a tricky guarantee to make from my point of view, because it has
> already happened that at first there was a committed group, and then at
> some point things broke, everyone was busy, my ass was the only one on
> the line, and I ended up having to take time (two /weeks/ in one
> occasion) off paid work for emergency remediation.
> 
> I have a massive amount of stable code deployed, and it *is* being used.
> In my experience this is a use case that the python core developers are
> not taking much into account[5], so I'm playing defensive until I see a
> strong sign that that attitude has changed.
> 
> 
> [1] https://lists.debian.org/debian-project/2015/04/msg00035.html
> [2] https://lists.debian.org/debian-project/2015/04/msg00036.html
> [3] Mine is something along the lines of: "it's not obscure of it is
>     documented". It sounds crazy, I know.
> [4] http://lwn.net/Articles/640179/
> [5] this would also be funny, it it didn't mean that it creates an
>     ecosystem that encourages experimentation but discourages success.
>     I suggest reading http://lesswrong.com/lw/9o/stuck_in_the_middle_with_bruce/
>     and the actual story it links, as I think it describes exactly that
>     kind of pattern.
> 
> 
> Enrico
> 
> -- 
> GPG key: 4096R/E7AD5568 2009-05-08 Enrico Zini <enrico@enricozini.org>



-- 
 .''`.  Paul Tagliamonte <paultag@debian.org>  |   Proud Debian Developer
: :'  : 4096R / 8F04 9AD8 2C92 066C 7352  D28A 7B58 5B30 807C 2A87
`. `'`  http://people.debian.org/~paultag
 `-     http://people.debian.org/~paultag/conduct-statement.txt

Attachment: signature.asc
Description: Digital signature


Reply to: