On Tue, 02 Feb 2016 15:33:58 +0200, Ezio Melotti email@example.com wrote:
On Sat, Jan 30, 2016 at 5:36 AM, Guido van Rossum firstname.lastname@example.org wrote:
Following the lead of 2.7.10 and 2.7.11 we could continue with 3.10, 3.11, etc.
I think we should continue with 3.10, 3.11, etc. Changing the major version should be done for incompatible changes, and just doing it after 3.9 will probably just create confusion for both users that will wonder if it's incompatible with Python 3 and for things like the executable name. Hopefully we won't need to jump to Python 4 for a long time.
I also want the 3->4 transition to feel like a non-event for most users. How we'll do that I don't know yet, but I want it to be a lot smoother than 2->3.
I think Guido's point is that we shouldn't *make* incompatible changes, and that the 4.0 transition should be smooth so that people learn we are committed to that. This is potentially analogous to the linux transition from 2.x to 3.x, despite the fact that it goes against the rules of semantic versioning.
That said, I don't view removing deprecated things as a incompatible change, since code that has dealt with the deprecations will run on both the version before (usually versions plural) and the version after the removal. Whether we should do a mass removal in 4.0 (or the first post 2.7 release) is a question, and so far the sense I get of the community is that there is not even close to a consensus on that. But it would give a semantic versioning meaning to the change from 3.x to 4.x, without actually being all that disruptive. On the other hand, a mass removal would be more disruption than removals spaced over several releases, so FUD might well arise as an issue, as you say.
Regardless though, the name is an issue :)
So, I guess I see the arguments between going 3.9->4.0 vs 3.9->3.10 as fairly balanced and don't have a strong preference.