[Python-checkins] r43672 - peps/trunk/pep-3000.txt

guido.van.rossum python-checkins at python.org
Wed Apr 5 22:06:03 CEST 2006


Author: guido.van.rossum
Date: Wed Apr  5 22:06:03 2006
New Revision: 43672

Added:
   peps/trunk/pep-3000.txt   (contents, props changed)
Log:
The new PEP 3000, describing some meta-meta-issues.


Added: peps/trunk/pep-3000.txt
==============================================================================
--- (empty file)
+++ peps/trunk/pep-3000.txt	Wed Apr  5 22:06:03 2006
@@ -0,0 +1,105 @@
+PEP: 3000
+Title: Python 3000
+Version: $Revision$
+Last-Modified: $Date$
+Author: Guido van Rossum <guido at python.org>
+Status: Active
+Type: Process
+Content-Type: text/x-rst
+Created: 05-Apr-2006
+Post-History: 
+
+
+Abstract
+========
+
+This PEP sets guidelines for Python 3000 development.  Ideally, we
+first agree on the process, and start discussing features only after
+the process has been decided and specified.  In practice, we'll be
+discussing features and process simultaneously; often the debate about
+a particular feature will prompt a process discussion.
+
+
+Naming
+======
+
+Python 3000, Python 3.0 and Py3K are all names for the same thing.
+The project is called Python 3000, or abbreviated to Py3K.  The actual
+Python binary, once it is released, will be named Python 3.0.
+
+
+PEP Numbering
+=============
+
+Python 3000 PEPs are numbered starting at PEP 3000.  PEPs 3000-3099
+are meta-PEPs -- these can be either process or informational PEPs.
+PPEs 3100-3999 are feature PEPs.  PEP 3000 itself (this PEP) is
+special; it is the meta-PEP for Python 3000 meta-PEPs (IOW it describe
+the process to define processes).  PEP 3100 is also special; it's a
+laundry list of features that were selected for (hopeful) inclusion in
+Python 3000 before we started the Python 3000 process for real.  PEP
+3099, finally, is a list of features that will *not* change.
+
+
+Timeline
+========
+
+We need a meta-PEP for the Python 3000 timeline.  At this moment, I
+hope to have a first alpha release out sometime in 2007; it may take
+another year after that (or more) before the first proper release,
+named Python 3.0.
+
+I expect that there will be parallel Python 2.x and 3.x releases for
+some time; the Python 2.x releases will continue for a longer time
+than the traditional 2.x.y bugfix releases.  Typically, we stop
+releasing bugfix versions for 2.x once version 2.(x+1) has been
+released.  But I expect there to be at least one or two new 2.x
+releases even after 3.0 (final) has been released, probably well into
+3.1 or 3.2.  This will to some extend depend on community demand for
+continued 2.x support, acceptance and stability of 3.0, and volunteer
+stamina.
+
+It's quite possible that Python 3.1 and 3.2 will be released much
+sooner after 3.0 than has been customary for the 2.x series.  The 3.x
+release pattern will stabilize once the community is happy with 3.x.
+
+
+Compatibility and Transition
+============================
+
+We need a meta-PEP to describe the compatibility requirements.  Python
+3000 will break backwards compatibility.  There is no requirement that
+Python 2.9 code will run unmodified on Python 3.0.  I'm not sure
+whether it is reasonable to require that Python 2.x code can be
+mechanically translated to equivalent Python 3.0 code; Python's
+dynamic typing combined with the plans to change the semantics of
+certain methods of dictionaries, for example, would make this task
+really hard.  However, it would be great if there was some tool that
+did at least an 80% job of translation, pointing out areas where it
+wasn't sure using comments or warnings.  Perhaps such a tool could be
+based on something like Pychecker.
+
+
+Meta-Contributions
+==================
+
+Suggestions for additional text for this PEP are gracefully accepted
+by the author.  Draft meta-PEPs for the topics above and additional
+topics are even more welcome!
+
+
+Copyright
+=========
+
+This document has been placed in the public domain.
+
+
+
+..
+   Local Variables:
+   mode: indented-text
+   indent-tabs-mode: nil
+   sentence-end-double-space: t
+   fill-column: 70
+   coding: utf-8
+   End:


More information about the Python-checkins mailing list