[Python-checkins] devguide: Doc on how to propose a change to the language.

brett.cannon python-checkins at python.org
Sun Jan 16 22:47:53 CET 2011


brett.cannon pushed a504b047c0bc to devguide:

http://hg.python.org/devguide/rev/a504b047c0bc
changeset:   99:a504b047c0bc
tag:         tip
user:        Brett Cannon <brett at python.org>
date:        Sun Jan 16 13:47:46 2011 -0800
summary:
  Doc on how to propose a change to the language.

files:
  index.rst
  langchanges.rst

diff --git a/index.rst b/index.rst
--- a/index.rst
+++ b/index.rst
@@ -19,6 +19,7 @@
    committing
 
    stdlibchanges
+   langchanges
 
 
 .. todolist::
@@ -58,7 +59,7 @@
 ----------------------------------
 
 * :ref:`stdlibchanges`
-* `Changing the language <XXX>`_
+* :ref:`langchanges`
 
 
 .. _resources:
diff --git a/langchanges.rst b/langchanges.rst
new file mode 100644
--- /dev/null
+++ b/langchanges.rst
@@ -0,0 +1,60 @@
+.. _langchanges:
+
+Changing the Python Language
+============================
+On occasion people come up with an idea on how to change or improve Python as a
+programming language. This document is meant to explain exactly what changes
+have a reasonable chance of being considered and what the process is to propose
+changes to the language.
+
+
+What Qualifies
+--------------
+First and foremost, it must be understood that changes to the Python
+programming language are difficult to make. When the language changes,
+**every** Python programmer already in existence and all Python programmers to
+come will end up eventually learning about the change you want to propose.
+Books will need updating, code will be changed, and a new way to do things will
+need to be learned. Change to the Python programing language are never taken
+lightly.
+
+Because of the seriousness that language changes carry, any change must be
+beneficial to a large proportion of Python users. If the change only benefits a
+small percentage of Python developers then the change will not be made. A good
+way to see if your idea would work for a large portion of the Python community
+is to ask on :ref:`python-list or python-ideas <communication>`. You can also
+go through Python's stdlib and find examples of code which would benefit from
+your proposed change (which helps communicate the usefulness of your change to
+others).
+
+Your proposed change also needs to be *Pythonic*. While Guido is the only
+person who can truly classify something as Pythonic, you can read the `Zen of
+Python`_ for guidance.
+
+.. _Zen of Python: http://www.python.org/dev/peps/pep-0020/
+
+
+Process
+-------
+Once you are certain you have a language change proposal which will appeal to
+the general Python community, you can being the process of officially proposing
+the change.
+
+You will first need a PEP that you will present to python-ideas. You may be a
+little hazy on the technical details as various core developers can help with
+that, but do realize that if you do not present your idea to python-ideas or
+python-list ahead of time you may find out it is technically not possible
+(e.g., Python's parser will not support the grammar change as it is an LL(1)
+parser). Expect extensive comments on the PEP, some of which will be negative.
+
+Once your PEP has been modified to be of proper quality and to take into
+account comments made on python-ideas, it may proceed to python-dev. There it
+will be assigned a PEP dictator and another general discussion will occur. Once
+again, you will need to modify your PEP to incorporate the large amount of
+comments you will receive.
+
+The PEP dictator decides if your PEP is accepted (typically based on whether
+most core developers support the PEP). If that occurs then your proposed
+language change will be introduced in the next release of Python. Otherwise
+your PEP will be recorded as rejected along with an explanation as to why so
+that others do not propose the same language change in the future.

--
Repository URL: http://hg.python.org/devguide


More information about the Python-checkins mailing list