[Python-Dev] Re: Stability and change (original) (raw)
Guido van Rossum guido@python.org
Sat, 06 Apr 2002 10:48:19 -0500
- Previous message: [Python-Dev] Deprecating string exceptions
- Next message: [Python-Dev] Re: Stability and change
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On c.p.py, Alex Martelli wrote:
Linus Thorvalds seems to have done pretty well with picking TWO middle grounds -- two parallel tracks for Linux, "stable" and "experimental".
I'm moving the discussion to python-dev, since that's where I think it belongs.
Personally, I hate the way Linux releases are numbered (I can never tell which one is stable and which one isn't). But I could get used to it if we used the micro version number to indicate stability -- in particular, 2.2 would be experimental, and 2.2.1 and following would be stable; 2.3 would be experimental, and 2.3.1 stable.
This would require only a very slight change of policy: PEP 6 would have to be renamed from "Bug Fix Releases" to "Stable Releases". It wouldn't even have to loosen up its prohibitions; quoting:
"""
Prohibitions
Patch releases are required to adhere to the following restrictions:
1. There must be zero syntax changes. All .pyc and .pyo files
must work (no regeneration needed) with all patch releases
forked off from a feature release.
2. There must be zero pickle changes.
3. There must be no incompatible C API changes. All extensions
must continue to work without recompiling in all patch releases
in the same fork as a feature release.
Breaking any of these prohibitions requires a BDFL proclamation
(and a prominent warning in the release notes).
"""
This doesn't prevent us to evolve the standard library. It doesn't prohibit adding new built-in functions, although I'd be reluctant to do so.
It would, however, require a big change in how we present new releases to the world. Currently, Once 2.x is out, anything running 2.(x-1) is labeled obsolete, or at least oldfashioned. That needs to change! The website needs to present at least two options:
Bleeding edge (e.g. 2.3 alpha, or 2.3 once it's out)
Stable (e.g. 2.2.1)
There may be more options: Zope 2 currently requires 2.1.2 and will require 2.1.3 as soon as it's out; other people still swear by 1.5.2. (I don't think that the 1.6 and 2.0 lines are still popular.)
--Guido van Rossum (home page: http://www.python.org/~guido/)
- Previous message: [Python-Dev] Deprecating string exceptions
- Next message: [Python-Dev] Re: Stability and change
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]