2018-09-25 16:30 GMT-03:00 Yury Selivanov <yselivanov.ml@gmail.com>:
deprecating APIs or behavior. Right now I'm saying "Python 4.0" implying that 4.0 will be released right after 3.9.
I've heard multiple opinions on this subject. One of them is that we should release 4.0 when we have a major new change, like removal of the GIL or introduction of a JIT compiler. On the other hand, we have no estimate when we have such a change. We also don't want Python 4.0 to be backwards incompatible with Python 3.0 (at least not at the scale of 2 vs 3). So to me, it seems logical that we simply release Python 4.0 after Python 3.9. After all, after 3.9 Python will be drastically different from 3.0 and from 2.7. It sounds better. :)
On the other hand... the best chance we have to let the world know that "we will never ever again break everything as we did with the 2 to 3 transition" is to just release 4.0 after 3.9 as a simple follow up release with just the minor and usual glitches we have from minor to minor release.
IOW, we're breaking the major/minor revision evolution, but we're firmly signaling that a transition that could take a decade will not happen anymore in the future, that we learned the lesson and all evolution steps will be smooth.
See it as more a political/social decision, than a technical one.
Note 1: I remember Guido saying something like this, but to be fair I couldn't find any mail with a statement like that in a 10' exploration I just did.
Note 2: I know we planned 2.7.10 after 2.7.9, but that just reinforces my point: the idea is to communicate that we'll never have again a dead end like 2.7.
Regards,
-- . Facundo
Blog: http://www.taniquetil.com.ar/plog/ PyAr: http://www.python.org.ar/ Twitter: @facundobatista