جهش بزرگ و کنارهگیری
در قسمت قبل دیدیم که پایتون با قواعد نوشتهشده و بنیادی مستقل به کار یک جامعه تبدیل شد. اما رشد، بدهی هم میآورد. تصمیمهای کوچکی که در دههٔ ۱۹۹۰ منطقی بودند، با گذشت سالها به سنگهایی در مسیر تبدیل شدند. این قسمت داستان دو تصمیم دشوار است: شکستن گذشته برای ساختن آینده، و کنار رفتن سازنده از تصمیمگیری.
شکستن عمدی گذشته
صفحهٔ رسمی پایتون دربارهٔ پایان پایتون ۲ میگوید: «چند سال بعد فهمیدیم برای بهبود پایتون باید تغییرهای بزرگی بدهیم. پس در ۲۰۰۶ پایتون ۳٫۰ را آغاز کردیم.»
پایتون ۳٫۰ در ۳ دسامبر ۲۰۰۸ منتشر شد و طبق صفحهٔ انتشارش، آگاهانه با نسخههای ۲ سازگار نبود. زبان تقریباً همان بود، اما جزئیات بسیاری، بهویژه رفتار رشتههای متنی و فرهنگواژهها، تغییر کرد و ویژگیهای کهنه حذف شدند. برای کمک به گذار، ابزاری هم برای تبدیل خودکار کدهای قدیمی همراهش منتشر شد.
گذاری که دوازده سال طول کشید
مشکل این بود که میلیونها خط کد با پایتون ۲ نوشته شده بود. همان صفحهٔ رسمی میگوید: «بسیاری بهروز نکردند و ما نمیخواستیم به آنها آسیب بزنیم.» پس سازندگان سالها هر دو نسخه را همزمان نگه داشتند.
در ۲۰۰۸ اعلام شد که پشتیبانی از پایتون ۲ در ۲۰۱۵ پایان مییابد. بعضی بهروز کردند و بسیاری نه؛ پس در ۲۰۱۴ این مهلت تا ۲۰۲۰ تمدید شد. سرانجام، ۱ ژانویهٔ ۲۰۲۰ روز پایان پایتون ۲ اعلام شد و آخرین نسخهٔ آن، ۲٫۷٫۱۸، که فقط اصلاحات باقیمانده را در خود داشت، در آوریل ۲۰۲۰ منتشر شد.
«تعطیلات دائمی»
در میانهٔ همین سالها، اتفاق دیگری افتاد. در ژوئیهٔ ۲۰۱۸، پس از بحثی بسیار تند بر سر یکی از پیشنهادهای بهبود زبان، فان روسوم نامهای کوتاه به فهرست رایانامهٔ برنامهنویسان اصلی پایتون فرستاد با عنوان «انتقال قدرت».
او نوشت که دیگر نمیخواهد برای یک پیشنهاد «اینقدر سخت بجنگد» و ببیند بسیاری از تصمیمهایش بیزارند. نوشت به خود «تعطیلاتی دائمی» از نقش دیکتاتور خیرخواه میدهد، و جملهای که همه را غافلگیر کرد: «جانشینی تعیین نمیکنم.» او تصمیم دربارهٔ آینده را به خود جامعه سپرد و پرسید: دموکراسی میسازید؟ فدراسیون؟ و در پایان نوشت: «خستهام و به استراحتی بسیار طولانی نیاز دارم.»
جامعهای که خودش تصمیم گرفت
برنامهنویسان اصلی پیشنهادهایی برای شیوهٔ اداره نوشتند و دربارهٔ آنها بحث کردند. حاصل، «شورای راهبری» پنجنفره بود. طبق سند رسمی نخستین انتخابات، نامزدها از ۷ تا ۲۰ ژانویهٔ ۲۰۱۹ معرفی شدند و رأیگیری تا ۴ فوریه ادامه داشت. از ۹۶ رأیدهندهٔ واجد شرایط، ۶۹ نفر رأی دادند.
پنج نفر برگزیده شدند: بری وارسا، برت کنن، کارول ویلینگ، آلیسا (نیک) کاگلان و خود گیدو فان روسوم؛ که بهطرز جالبی بیشترین رأی، یعنی ۴۵ رأی، را آورد. سازندهای که کنار رفته بود، این بار نه بهعنوان حاکم، که بهعنوان یکی از اعضای منتخب بازگشت.
نقطهٔ عطف
نقطهٔ عطف این داستان، جدا شدن پروژه از شخص بود. پایتون نشان داد یک پروژهٔ بزرگ زمانی واقعاً پایدار میشود که بتواند بدون تصمیمگیری یک نفر هم به راه خود ادامه دهد.
درسی برای کسبوکارها
نخست، گاهی باید بدهیهای قدیمی را پرداخت، حتی اگر دردناک باشد؛ اما مسیر گذار و زمان کافی به مشتریان بدهید و مهلتها را روشن اعلام کنید.
دوم، سازمانی که به یک نفر وابسته است، شکننده است. پیش از آنکه مجبور شوید، ساختار تصمیمگیری جمعی بسازید.
سوم، خستگی رهبران واقعی است. کار سخت را میان چند نفر تقسیم کنید تا هیچکس تنها بار همهچیز را به دوش نکشد.
پایان مجموعه. از پروژهای در تعطیلات کریسمس تا زبانی که با رأی جامعه اداره میشود: داستان پایتون نشان میدهد که کد خوب آغاز راه است، و قواعد روشن و سپردن تصمیم به جامعه، آن را ماندگار میکند.
منابع
"Sunsetting Python 2", Python.org, n.d. — https://www.python.org/doc/sunset-python-2/
"Python 3.0 Release", Python.org, 2008-12-03 — https://www.python.org/download/releases/3.0/
Guido van Rossum, "Transfer of power", python-committers mailing list, 2018-07-12 — https://mail.python.org/pipermail/python-committers/2018-July/005664.html
"PEP 8100 – January 2019 Steering Council election", peps.python.org — https://peps.python.org/pep-8100/
"PEP 13 – Python Language Governance", peps.python.org — https://peps.python.org/pep-0013/