Jak se Brett Cannon stal core-vývojářem Pythonu: cesta od studenta k klíčovému přispěvateli
Brett Cannon, jeden z nejvýznamnějších core-vývojářů Pythonu, v rozhovoru s Guido van Rossumem popsal, jak se poprvé seznámil s jazykem a jak se postupně stal klíčovým přispěvatelem do jeho vývoje. Na podzim roku 2000 hledal nástroj pro studium objektově orientovaného programování (OOP) před přijímací zkouškou z informatiky. Python ho okamžitě oslovil svou jednoduchostí a interaktivní konzolou REPL — na rozdíl od jazyka C, se kterým dosud pracoval.
První kroky s Pythonem
Cannon studoval bakalářský obor filozofie na univerzitě, zároveň ho zajímaly počítačové vědy. Znal jazyk C a trochu Pascalu, ale kompilátor Pascalu ho často podvedl. Pro přípravu na zkoušku CS 61A bylo nutné zvládnout OOP. V tehdejších vyhledávačích jako AltaVista se objevily doporučení: „Python je skvělý první programovací jazyk.“
Přečetl si oficiální dokumentaci i knihu Marka Lutze Learning Python. Ačkoliv OOP na zkoušce nakonec nepotřeboval, Python se mu zalíbil natolik, že jej začal používat pro skripty i školní úkoly. Přechod z C na Python mu otevřel dveře k REPL — interaktivnímu prostředí pro rychlé testování kódu.
Jazyky, které znal před Pythonem:
- C (hlavní)
- Pascal (základní znalosti)
Vstup do komunity prostřednictvím receptů
V roce 2001 společnost ActiveState spustila projekt Python Cookbook — platformu pro sdílení užitečných kódových útržků. Cannon nahrál čistou implementaci funkce strptime pro Windows, kde standardní verze chyběla. Tento „recept“ se dostal do první tištěné knihy Python Cookbook od O’Reilly díky Alexu Martellimu.
Recept se postupně vyvíjel: původně vyžadoval nastavení lokality, ale Cannon jej zjednodušil. V květnu 2002, krátce po vydání Pythonu 2.3, se zeptal Martellia, zda by mohl být jeho kód začleněn do standardní knihovny (stdlib). Ten ho směroval na diskusní list python-dev — komunikační kanál core-vývojářů.
François Pinard pomohl s přípravou patche. V červnu přišlo dopisem, v červenci byla funkce time.strptime začleněna do repozitáře. Cannon zůstal na listu python-dev přihlášen.
Revize python-dev a první commity
Srpen 2002: Cannon začal psát týdenní shrnutí diskusí na python-dev, čímž nahradil Andrewa Kuchlinga. To mu umožnilo klást otázky a učit se. Shrnutí vydával 2–3 roky, až do dokončení doktorského studia.
Na python-dev se diskutovalo o:
- Nových funkcích
- Chybách a opravných balíčcích (patchích)
- Návrzích vylepšení (PEP)
- Kompatibilitě mezi verzemi
Rok pauzy po absolvování bakalářského studia využil Cannon k posílení životopisu a aktivnímu přispívání do Pythonu. První commit strptime ho motivoval pokračovat.
Raná komunita core-vývojářů
V letech 2002–2003 byl tým core-vývojářů malý — kolem 20–50 lidí, z nichž polovina byla aktivní. Klíčové osobnosti:
- Martin von Löwis
- Neal Norwitz
- Marc-André Lemburg
- Andrew Kuchling
- Alex Martelli
- Tim Peters
- Raymond Hettinger
- Greg Stein
- Jack Jansen
- Barry Warsaw
Cannon se k týmu připojil krátce před PyCon US 2003 ve Washingtonu. Python tehdy byl stále nišovým jazykem — „jazyk s odsazením“. Změny se prováděly přímo, diskuse probíhaly v emailovém listu. PyCon shromažďoval entuziasty, mnozí z nich pracovali dobrovolně.
Vaults of Parnassus — archiv skriptů, předchůdce současného PyPI.
Přechod na Python 3 a klíčové příspěvky
Cannon přispěl k vývoji modulu importlib, migraci z verze 2 na 3, dokumentaci a návrhům vylepšení (PEP). Odstranil rozbalování n-tic v parametrech funkcí (v Pythonu 3). Na PyCon 2007 se změna diskutovala — Ka-Ping Yee namítal, ale návrh nakonec projel.
Ka-Ping Yee pracoval na nástrojích pydoc, cgitb, inspect a řetězcích výjimek.
První výzvy: nedostatek času, dobrovolnická práce. Cannon přesvědčoval firmy, aby projekt finančně podporovaly. Dnes PSF zaměstnává profesionální vývojáře: Lukáše, Petra, Sergeje a Sete (bezpečnost, Alpha-Omega).
Co je důležité
- Začátek s receptem: Implementace
strptimeho do core-vývoje přivedla během několika měsíců. - Revize jako vstupní brána: Dobrovolné shrnutí diskusí na python-dev ho učinilo viditelným.
- Malá komunita: Pouhých 20 aktivních lidí v roce 2002 usnadnilo zapojení.
- Dobrovolnictví: Hlavní pohonná síla před tím, než PSF začala najímat zaměstnance.
- Vývoj: Od nišového projektu ke stálým profesionálním vývojářům.
Příběh Bretta Cannona ukazuje: pro středně pokročilé i senior vývojáře je cesta do core-týmu Pythonu založena na užitečných patchích, účasti na diskusních seznamech a pravidelných revizích. Aktivita v první dekádě 2000. let formovala dnešní Python.
— Editorial Team
Zatím žádné komentáře.