python-peps/pep-0401/index.html

223 lines
14 KiB
HTML
Raw Permalink Normal View History

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="color-scheme" content="light dark">
<title>PEP 401 BDFL Retirement | peps.python.org</title>
<link rel="shortcut icon" href="../_static/py.png">
<link rel="canonical" href="https://peps.python.org/pep-0401/">
<link rel="stylesheet" href="../_static/style.css" type="text/css">
<link rel="stylesheet" href="../_static/mq.css" type="text/css">
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" media="(prefers-color-scheme: light)" id="pyg-light">
<link rel="stylesheet" href="../_static/pygments_dark.css" type="text/css" media="(prefers-color-scheme: dark)" id="pyg-dark">
<link rel="alternate" type="application/rss+xml" title="Latest PEPs" href="https://peps.python.org/peps.rss">
<meta property="og:title" content='PEP 401 BDFL Retirement | peps.python.org'>
<meta property="og:description" content="The BDFL, having shepherded Python development for 20 years, officially announces his retirement, effective immediately. Following a unanimous vote, his replacement is named.">
<meta property="og:type" content="website">
<meta property="og:url" content="https://peps.python.org/pep-0401/">
<meta property="og:site_name" content="Python Enhancement Proposals (PEPs)">
<meta property="og:image" content="https://peps.python.org/_static/og-image.png">
<meta property="og:image:alt" content="Python PEPs">
<meta property="og:image:width" content="200">
<meta property="og:image:height" content="200">
<meta name="description" content="The BDFL, having shepherded Python development for 20 years, officially announces his retirement, effective immediately. Following a unanimous vote, his replacement is named.">
<meta name="theme-color" content="#3776ab">
</head>
<body>
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-sun-half" viewBox="0 0 24 24" pointer-events="all">
<title>Following system colour scheme</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"
stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<circle cx="12" cy="12" r="9"></circle>
<path d="M12 3v18m0-12l4.65-4.65M12 14.3l7.37-7.37M12 19.6l8.85-8.85"></path>
</svg>
</symbol>
<symbol id="svg-moon" viewBox="0 0 24 24" pointer-events="all">
<title>Selected dark colour scheme</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"
stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z"></path>
</svg>
</symbol>
<symbol id="svg-sun" viewBox="0 0 24 24" pointer-events="all">
<title>Selected light colour scheme</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"
stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line>
<line x1="12" y1="21" x2="12" y2="23"></line>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
<line x1="1" y1="12" x2="3" y2="12"></line>
<line x1="21" y1="12" x2="23" y2="12"></line>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
</svg>
</symbol>
</svg>
<script>
document.documentElement.dataset.colour_scheme = localStorage.getItem("colour_scheme") || "auto"
</script>
<section id="pep-page-section">
<header>
<h1>Python Enhancement Proposals</h1>
<ul class="breadcrumbs">
<li><a href="https://www.python.org/" title="The Python Programming Language">Python</a> &raquo; </li>
<li><a href="../pep-0000/">PEP Index</a> &raquo; </li>
<li>PEP 401</li>
</ul>
<button id="colour-scheme-cycler" onClick="setColourScheme(nextColourScheme())">
<svg aria-hidden="true" class="colour-scheme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg aria-hidden="true" class="colour-scheme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg aria-hidden="true" class="colour-scheme-icon-when-light"><use href="#svg-sun"></use></svg>
<span class="visually-hidden">Toggle light / dark / auto colour theme</span>
</button>
</header>
<article>
<section id="pep-content">
<h1 class="page-title">PEP 401 BDFL Retirement</h1>
<dl class="rfc2822 field-list simple">
<dt class="field-odd">Author<span class="colon">:</span></dt>
<dd class="field-odd">Barry Warsaw, Brett Cannon</dd>
<dt class="field-even">Status<span class="colon">:</span></dt>
<dd class="field-even"><abbr title="Formally declined and will not be accepted">April Fool!</abbr></dd>
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><abbr title="Normative PEP describing or proposing a change to a Python community process, workflow or governance">Process</abbr></dd>
<dt class="field-even">Created<span class="colon">:</span></dt>
<dd class="field-even">01-Apr-2009</dd>
<dt class="field-odd">Post-History<span class="colon">:</span></dt>
<dd class="field-odd">01-Apr-2009</dd>
</dl>
<hr class="docutils" />
<section id="contents">
<details><summary>Table of Contents</summary><ul class="simple">
<li><a class="reference internal" href="#abstract">Abstract</a></li>
<li><a class="reference internal" href="#rationale">Rationale</a></li>
<li><a class="reference internal" href="#official-acts-of-the-flufl">Official Acts of the FLUFL</a></li>
<li><a class="reference internal" href="#references">References</a></li>
<li><a class="reference internal" href="#copyright">Copyright</a></li>
</ul>
</details></section>
<section id="abstract">
<h2><a class="toc-backref" href="#abstract" role="doc-backlink">Abstract</a></h2>
<p>The BDFL, having shepherded Python development for 20 years,
officially announces his retirement, effective immediately. Following
a unanimous vote, his replacement is named.</p>
</section>
<section id="rationale">
<h2><a class="toc-backref" href="#rationale" role="doc-backlink">Rationale</a></h2>
<p>Guido wrote the original implementation of Python in 1989, and after
nearly 20 years of leading the community, has decided to step aside as
its Benevolent Dictator For Life. His official title is now
Benevolent Dictator Emeritus Vacationing Indefinitely from the
Language (BDEVIL). Guido leaves Python in the good hands of its new
leader and its vibrant community, in order to train for his lifelong
dream of climbing Mount Everest.</p>
<p>After unanimous vote of the Python Steering Union (not to be confused
with the Python Secret Underground, which emphatically does not exist)
at the 2009 Python Conference (<a class="reference external" href="http://us.pycon.org/">PyCon</a> 2009), Guidos successor has been
chosen: Barry Warsaw, or as he is affectionately known, Uncle Barry.
Uncle Barrys official title is Friendly Language Uncle For Life (FLUFL).</p>
</section>
<section id="official-acts-of-the-flufl">
<h2><a class="toc-backref" href="#official-acts-of-the-flufl" role="doc-backlink">Official Acts of the FLUFL</a></h2>
<p>FLUFL Uncle Barry enacts the following decisions, in order to
demonstrate his intention to lead the community in the same
responsible and open manner as his predecessor, whose name escapes
him:</p>
<ul class="simple">
<li>Recognized that the selection of <code class="docutils literal notranslate"><span class="pre">Hg</span></code> as the DVCS of choice was
clear proof of the onset of the BDEVILs insanity, and reverting
this decision to switch to <code class="docutils literal notranslate"><span class="pre">Bzr</span></code> instead, the only true choice.</li>
<li>Recognized that the <code class="docutils literal notranslate"><span class="pre">!=</span></code> inequality operator in Python 3.0 was a
horrible, finger pain inducing mistake, the FLUFL reinstates the
<code class="docutils literal notranslate"><span class="pre">&lt;&gt;</span></code> diamond operator as the sole spelling. This change is
important enough to be implemented for, and released in Python
3.1. To help transition to this feature, a new future statement,
<code class="docutils literal notranslate"><span class="pre">from</span> <span class="pre">__future__</span> <span class="pre">import</span> <span class="pre">barry_as_FLUFL</span></code> has been added.</li>
<li>Recognized that the <code class="docutils literal notranslate"><span class="pre">print</span></code> function in Python 3.0 was a horrible,
pain-inducing mistake, the FLUFL reinstates the <code class="docutils literal notranslate"><span class="pre">print</span></code>
statement. This change is important enough to be implemented for,
and released in Python 3.0.2.</li>
<li>Recognized that the disappointing adoption curve of Python 3.0
signals its abject failure, all work on Python 3.1 and subsequent
Python 3.x versions is hereby terminated. All features in Python
3.0 shall be back ported to Python 2.7 which will be the official
and sole next release. The Python 3.0 string and bytes types will
be back ported to Python 2.6.2 for the convenience of developers.</li>
<li>Recognized that C is a 20th-century language with almost universal
rejection by programmers under the age of 30, the CPython
implementation will terminate with the release of Python 2.6.2 and
3.0.2. Thereafter, the reference implementation of Python will
target the Parrot <a class="footnote-reference brackets" href="#id7" id="id1">[1]</a> virtual machine. Alternative implementations
of Python (e.g. Jython <a class="footnote-reference brackets" href="#id8" id="id2">[2]</a>, IronPython <a class="footnote-reference brackets" href="#id9" id="id3">[3]</a>, and PyPy <a class="footnote-reference brackets" href="#id10" id="id4">[4]</a>) are
officially discouraged but tolerated.</li>
<li>Recognized that the Python Software Foundation <a class="footnote-reference brackets" href="#id11" id="id5">[5]</a> having fulfilled
its mission admirably, is hereby disbanded. The Python Steering
Union <a class="footnote-reference brackets" href="#id12" id="id6">[6]</a> (not to be confused with the Python Secret Underground,
which emphatically does not exist), is now the sole steward for all
of Pythons intellectual property. All PSF funds are hereby
transferred to the PSU (not that PSU, the other PSU).</li>
</ul>
</section>
<section id="references">
<h2><a class="toc-backref" href="#references" role="doc-backlink">References</a></h2>
<aside class="footnote-list brackets">
<aside class="footnote brackets" id="id7" role="doc-footnote">
<dt class="label" id="id7">[<a href="#id1">1</a>]</dt>
<dd><a class="reference external" href="http://www.parrot.org">http://www.parrot.org</a></aside>
<aside class="footnote brackets" id="id8" role="doc-footnote">
<dt class="label" id="id8">[<a href="#id2">2</a>]</dt>
<dd><a class="reference external" href="http://www.jython.org">http://www.jython.org</a></aside>
<aside class="footnote brackets" id="id9" role="doc-footnote">
<dt class="label" id="id9">[<a href="#id3">3</a>]</dt>
<dd><a class="reference external" href="http://www.ironpython.com">http://www.ironpython.com</a></aside>
<aside class="footnote brackets" id="id10" role="doc-footnote">
<dt class="label" id="id10">[<a href="#id4">4</a>]</dt>
<dd><a class="reference external" href="http://www.codespeak.net/pypy">http://www.codespeak.net/pypy</a></aside>
<aside class="footnote brackets" id="id11" role="doc-footnote">
<dt class="label" id="id11">[<a href="#id5">5</a>]</dt>
<dd><a class="reference external" href="http://www.python.org/psf">http://www.python.org/psf</a></aside>
<aside class="footnote brackets" id="id12" role="doc-footnote">
<dt class="label" id="id12">[<a href="#id6">6</a>]</dt>
<dd><a class="reference external" href="http://www.pythonlabs.com">http://www.pythonlabs.com</a></aside>
</aside>
</section>
<section id="copyright">
<h2><a class="toc-backref" href="#copyright" role="doc-backlink">Copyright</a></h2>
<p>This document is the property of the Python Steering Union (not to be
confused with the Python Secret Underground, which emphatically does
not exist). We suppose its okay for you to read this, but dont even
think about quoting, copying, modifying, or distributing it.</p>
</section>
</section>
<hr class="docutils" />
<p>Source: <a class="reference external" href="https://github.com/python/peps/blob/main/peps/pep-0401.rst">https://github.com/python/peps/blob/main/peps/pep-0401.rst</a></p>
<p>Last modified: <a class="reference external" href="https://github.com/python/peps/commits/main/peps/pep-0401.rst">2023-09-09 17:39:29 GMT</a></p>
</article>
<nav id="pep-sidebar">
<h2>Contents</h2>
<ul>
<li><a class="reference internal" href="#abstract">Abstract</a></li>
<li><a class="reference internal" href="#rationale">Rationale</a></li>
<li><a class="reference internal" href="#official-acts-of-the-flufl">Official Acts of the FLUFL</a></li>
<li><a class="reference internal" href="#references">References</a></li>
<li><a class="reference internal" href="#copyright">Copyright</a></li>
</ul>
<br>
<a id="source" href="https://github.com/python/peps/blob/main/peps/pep-0401.rst">Page Source (GitHub)</a>
</nav>
</section>
<script src="../_static/colour_scheme.js"></script>
<script src="../_static/wrap_tables.js"></script>
<script src="../_static/sticky_banner.js"></script>
</body>
</html>