这件正在发生的事,关乎所有的Python开发者……
毫不夸张地说,Python 历史上的第二大事件正在发生,它事关所有的 Python 开发者,而且将深远地影响着未来的 Python 生态。这件事并不是指 Python 之父 Guido van Rossum 退出决策层,而是指由此引发的新的决策层级的建立 。
Python 诞生于 1989 年圣诞节期间,这无疑是其历史上的第一大事件。如今,按中国古人的说法,Python 到了而立之年,终于,要迎来一个重大的转折点了。30 年前,那叫新生,今天呢,乐观的结果会是重生,而悲观的结果则是……(别想了,不会发生的 :) )
为了照顾一些信息不灵通的读者,我先给大家回顾一下“前因”(资深的 Pythonista 请直接翻到第二节)。
1. Python之父的退位风波
作为 Python 的创始人以及重要的核心开发者,Guido van Rossum 一直享有至高的权力,被人称为“终身仁慈独裁者”。实际上,这个称呼不是 Python 社区独有的,有些开源组织的创始人也被其“门徒”这么称呼,例如Linux、Ubuntu、Perl 和 Scala 等。
这种赋予创始人至高裁决权力的做法,是一种明智的行为,可以保障一门新的编程语言顺利度过早期的艰难岁月,走上健康发展的道路。Python 之所以能从籍籍无名到如今近乎“呼风唤雨”,可以说,Python 之父是居功至伟。
然而,这种局面总归要被打破,就看是以什么方式了。今年上半年,社区提出了备受争议的 PEP-572 (赋值表达式,文末附了知乎链接),虽然,GUIDO 行使最终裁决权,批准了这个提案,但是,争议并没有平息。部分核心开发者的不信任与离开,还有社交媒体上伤人的话语,极大地刺激了 GUIDO ,直接导致他宣布退出决策层。平衡的局面被打破了,而且是以不那么友好的方式。
GUIDO 没有指定继任者,完全把问题抛给了核心开发者们:
那你们会怎么做呢?建立一套民主制度?无政府状态?还是专政?或是联邦制?
他退位的消息提得太突然,Python 的核心开发者们陷入了长达几个月的混乱中。仅从一些公开消息的蛛丝马迹中,我们就能看出来。
在 InfoWorld 的一篇采访稿(7月27日,链接见文末)中,GUIDO 透露:
他们已经同意给出提案的截止日期是2018年10月1日。我相信,到2018年11月1日,他们会选出一个合理的管理提案。到2019年1月1日,他们承诺会完成选举或任命负责人。
然而,这个进展并不那么顺利。下面是 7 种治理方案的 PEP 创建时间:
PEP-8010:2018-8-24
PEP-8011:2018-8-24
PEP-8012:2018-10-03
PEP-8013:2018-09-14
PEP-8014:2018-09-16
PEP-8015:2018-10-04
PEP-8016:2018-11-01
备选方案的数量之多,本身就反映出核心开发者之间意见分歧之大,而发布时间的间隔之长,其背后隐含的信息也是让人不容乐观。
随着进入今年最后一个月,核心开发者们不得不进入下一个议程,那就是投票。投票时间为期两周,从 12 月 1 日至 12 月 16 日。最终结果将在 12 月 17 日公布。
2.什么治理方案最合适?
以上,就是 Python 之父的退位风波。到了今天,风波并未平息,但是,这个投票的结果将直接决定风波的走向。我们都是见证者。
在上一篇推文《Python之父退位后,最高决策权花落谁家?》中,核心开发者之一 Victor Stinner 对 7 种备选方案做了全面的对比。由于他本人是 PEP-8015 的提出人,所以文章中明显带入了一些个人倾向。读者们可以根据我翻译的版本,先粗略了解一下,然后找具体的 PEP 阅读。
一千个读者,就有一千个哈姆雷特。如果你有投票权,你会投给哪种方案呢?为什么呢?在本文末尾,我发起了一个投票,欢迎你去投票。
在我看来,无论哪种方案胜出,都不会是一个皆大欢喜的结果。理由很简单,决策权的争议大于 PEP-572 的争议,后者能令核心开发者愤而出走,前者更是可以。短期内,大家或许会相安无事,但不用多久,很可能就会有新的 PEP 作为导火索,给开发团队带来更大的不可调和的麻烦。
这种情况绝对无法避免,唯一的问题在于,哪种方案能将平衡状态维持得更久一点,哪种方案能更有效地调和新的矛盾?
有读者回复说,我们又没有投票权,这跟我们没关系,不用瞎操心。真的是这样么?我怀疑他没听说过什么叫蝴蝶效应
。特朗普当选美国总统的时候,很多人就有事不关己的想法,然而,到今天,全球局势、国内股市和就业形势,全都笼罩在这只蝴蝶的余风中动荡着。
也许,Python 社区的蝴蝶效应不会那么严重,毕竟,搞技术的极客们可不是政治家。但是,我劝有些同学不要毫不在意,至少,你该对自己的立身之技的未来,多留份心。
相关链接:
PEP-572知乎问题:http://t.cn/EyiHigY
7月27日的采访:http://t.cn/EyiH4ni
7种方案的对比:http://t.cn/Eyi8D7b
投给哪种方案?http://t.cn/EyiQVy6
PS:为了持续关注此话题,我专门建了个微信交流群。感兴趣的同学可通过本公众号(Python猫)菜单栏的“联系作者”,加我为好友,发送暗号“PEP投票”进群(其它用意者勿扰)。猜中结果的小伙伴,将有机会获得一本技术书籍。
一只伪喵星来客
一个有趣又有用的学习分享平台
专注Python技术、数据科学和深度学习
兼具极客思维与人文情怀
欢迎你关注
微信号:python_cat