Rules for a Community
In the last part we saw Python begin over the 1989 Christmas holidays and reach 1.0 in 1994. But a language used by thousands can no longer live in one person's head. The new question was: when everyone wants to add something, who decides, and how?
A "benevolent dictator"
The Python community had a half-joking title for van Rossum: "Benevolent Dictator For Life", or BDFL. It meant discussion was open and anyone could propose ideas, but on big decisions the language's creator had the final word. This model helped keep Python consistent for years; and, as we will see in the next part, it also had a cost.
Proposals on paper
So that decisions weren't lost in scattered mailing-list threads, the community created a formal format: the Python Enhancement Proposal, or PEP. According to Python's official FAQ, a PEP is a design document describing a suggested new feature, with a concise technical specification and a rationale. The first one, PEP 1, which defines the PEP process itself, was created on 13 June 2000 according to its official page.
The effect was simple but deep: every major change had an author, a text, a public discussion and a recorded decision. Years later, anyone could read why the language was built the way it is.
Python 2 and an independent foundation
According to van Rossum's timeline, Python 2.0 was released on 16 October 2000. Soon after, ownership of the language was put on a new footing too. According to the official FAQ, the Python Software Foundation is an independent non-profit organisation that holds the copyright on Python 2.1 and newer, with a mission to advance open-source technology related to the language.
The same document explains how generous Python's licence is: you can use it commercially, even sell modified copies or build it into your products, as long as you keep the copyright notices. That freedom made it easy for companies to trust Python.
A philosophy in 19 lines
On 19 August 2004, long-time Pythoneer Tim Peters published the text that became known as "The Zen of Python". In the text's own words, he channelled the guiding principles of the language's design into 20 aphorisms, "only 19 of which have been written down". A few examples: "Beautiful is better than ugly.", "Simple is better than complex." and "Readability counts."
One line may sum up all of Python's culture: "There should be one-- and preferably only one --obvious way to do it." These lines weren't laws; they were a shared vocabulary that let thousands of people discuss whether a solution was "Pythonic".
A language for everyone
Python's official FAQ calls it a good language for beginners, with a simple, consistent syntax and a large standard library. The same document mentions Linux distributions that wrote parts of their installer and system administration software in Python, and organisations such as Google, Yahoo and Lucasfilm that use it internally.
The turning point
The turning point in this part was writing the rules down. By documenting its proposal process, handing ownership to an independent foundation and recording its philosophy, Python went from one person's taste to a shared agreement.
Lesson for businesses
First, write your decisions down. When every major change has a document and a reason, your organisation's knowledge doesn't leave when people do.
Second, state your values briefly and memorably. A few clear lines help a team more than a thick handbook.
Third, earn partners' trust with clear rules on ownership and use. Big customers come in when they know the rules won't change tomorrow.
Next time: a costly leap to Python 3, a twelve-year transition and the day the "benevolent dictator" stepped aside.
Sources
"General Python FAQ" (What is a PEP; What is the PSF; licence; Python for beginners; significant projects), Python documentation, n.d. — https://docs.python.org/3/faq/general.html
"PEP 1 – PEP Purpose and Guidelines", peps.python.org, created 2000-06-13 — https://peps.python.org/pep-0001/
Tim Peters, "PEP 20 – The Zen of Python", peps.python.org, created 2004-08-19 — https://peps.python.org/pep-0020/
Guido van Rossum, "A Brief Timeline of Python", The History of Python, 2009-01-20 — https://python-history.blogspot.com/2009/01/brief-timeline-of-python.html