Python 3 moratorium now official
The Python 3 language syntax has been frozen until June 2011 under a moratorium imposed by Guido Van Rossum, Python's creator and BDFL (Benevolent Dictator For Life). The moratorium, proposed at the end of October, is now defined in PEP3003 and sets out what is not to change in future Python 3 versions.
The idea behind the moratorium is to make Python 3.x a more stable branch of the Python language which, it is believed, will allow more Python developers to switch from Python 2 to the new version of the language. Adoption of Python 3 has been slow with many major packages such as PyGTK, mYSQLdb and Numeric Python not having been ported to Python 3, keeping developers who use those libraries on Python 2.x.
It will also allow the various alternative implementations of Python's C based CPython, such as Jython, IronPython and PyPy , to catch up to a stable version of Python 3, rather than tracking an evolving language specification. It is also hoped that the moratorium will free up core developers to focus on improving on the CPython interpreter and the standard library.
Under the moratorium there will be no new built-in objects or changes to the language syntax, except for fixing ambiguities or general language semantics. New "__future__" imports, used for activating new language features, are also forbidden as these "effectively change the language syntax and/or semantics". It does allow for case-by-case exemptions on new methods added to an existing built-in, fixes to errors in the language semantics and, because the other implementations of Python are catching up, changes in semantics where those other implementations find them difficult to replicate.
The moratorium lasts for two years and is retroactive. It applies to any changes made since the release of Python 3.1 in June, and would cover Python 3.2.