<br><br><div class="gmail_quote">On Wed, Oct 21, 2009 at 09:42, Guido van Rossum <span dir="ltr"><<a href="mailto:guido@python.org">guido@python.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

I propose a moratorium on language changes. This would be a period of<br>
several years during which no changes to Python's grammar or language<br>
semantics will be accepted. The reason is that frequent changes to the<br>
language cause pain for implementors of alternate implementations<br>
(Jython, IronPython, PyPy, and others probably already in the wings)<br>
at little or no benefit to the average user (who won't see the changes<br>
for years to come and might not be in a position to upgrade to the<br>
latest version for years after).<br>
<br></blockquote><div><br></div><div>+1 from me. In this rather long thread someone proposed allowing changes that make implementation of the language easier, which I am also fine with, but that could almost be classified a bug fix and taken on a case-by-case basis. But completely new exposed syntax or semantics for the language and built-ins should be off limits.</div>

<div><br></div><div>And for the "several years", I say make through 3.4, letting in new features for Python 3.5 which should be open for development in mid 2013.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">


The main goal of the Python development community at this point should<br>
be to get widespread acceptance of Python 3000. There is tons of work<br>
to be done before we can be comfortable about Python 3.x, mostly in<br>
creating solid ports of those 3rd party libraries that must be ported<br>
to Py3k before other libraries and applications can be ported. (Other<br>
work related to Py3k acceptance might be tools to help porting, tools<br>
to help maintaining multiple versions of a codebase, documentation<br>
about porting to Python 3, and so on. Also, work like that going on in<br>
the distutils-sig is very relevant.)<br>
<br></blockquote><div><br></div><div>The moratorium should also give us time and space to focus on bug fixes for the language which is good.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">


Note, the moratorium would only cover the language itself plus<br>
built-in functions, not the standard library. Development in the<br>
standard library is valuable and much less likely to be a stumbling<br>
block for alternate language implementations. I also want to exclude<br>
details of the CPython implementation, including the C API from being<br>
completely frozen -- for example, if someone came up with (otherwise<br>
acceptable) changes to get rid of the GIL I wouldn't object.<br>
<br></blockquote><div><br></div><div>Sounds reasonable to me.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
But the moratorium would clearly apply to proposals for anonymous<br>
blocks, "yield from" (PEP 380), changes to decorator syntax, and the<br>
like. (I'm sure it won't stop *discussion* of those proposals, and<br>
that's not the purpose of the moratorium; but at least it will stop<br>
worries elsewhere that such proposals might actually be *accepted* any<br>
time soon.)</blockquote><div><br></div><div>Sounds good to me. While I heard some people on Twitter want PEP 380, if we are going to freeze it should be across the board. I can see someone arguing that at least PEP 380 is in a PEP format, but even then that doesn't mean its fully thought out (and I am not explicitly talking about PEP 380 as I have not read it in ages).</div>

<div><br></div><div>A side benefit to this is it will give us time to come up with a PEP that clearly defines exactly what is required to propose and get accepted changes to the language (I also want to do this for the standard library, but I view that as a different PEP). Hopefully that will cut down on the wild proposal on python-ideas and give people a much clearer idea of what is required of them. As I view this as a developer doc thing I am willing to write these PEPs (eventually =).</div>

<div><br></div><div>One thing I would like to see happen for this moratorium is us following a more rigid release schedule in terms of feature freeze. So I would propose that starting with 3.2 we feature freeze 18 months after 3.2's feature freeze. Now I am not suggesting we lock down the final release date to 18 months as who knows how long it would take to shake out the bugs, but we can easily say that every 18 months we feature freeze for the next minor release (major releases don't apply to this schedule and I am not worrying about micro releases as that is not under discussion here).</div>

<div><br></div><div>This would give us and the community a much clearer indication of when the moratorium will be lifted. So we could say that 3.2 is feature frozen on June 15, 2010, Python 3.3 on January 15, 2012, and Python 3.4 on June 15, 2013. We can obviously choose some other set of dates (went with this to avoid releasing on New Years, although it might be fun to shift to Oct 5 as that's the date Flying Circus was first broadcast), but it would be nice to be able to say that "after Python 3.4, which is feature frozen on XXX, we will start looking at new features again for Python 3.5".</div>

<div><br></div><div>-Brett</div></div>