后 Guido 时代,Python 社区的治理问题成为万众瞩目的问题(国内开发者似乎比较淡定...)。目前,关于 7 种治理模式的投票,已经进行到了一半,事情进展得是否顺利呢?核心开发者们对这些候选提案是什么看法呢,我们能否预测出最终的投票结果呢?
我对这些话题非常感兴趣,此前翻译了一篇《Python之父退位后,最高决策权花落谁家?》,介绍了 7 种治理提案的差异,还写了一篇《这件正在发生的事,关乎所有的Python开发者……》,介绍此次投票的前因与重要意义。至于本文,我整理了部分核心开发者的讨论内容,带领大家一窥此次重大投票的幕后,了解核心开发者的投票意向,最后,则是做了一个小小的预测。
1. Guido现身说了什么?
在提出与讨论这些治理提案期间,Guido 一直保持沉默,现如今,当投票环节正式开启后,他也终于现身了。
他提出了什么问题?表达了什么观点?以下内容整理自他的几次回帖。
(1)为某个/些 PEP 拉票,是否 OK?(注:他想发表对于某些 PEP 的看法,以及自己的投票建议,故询问此做法是否 OK ?)
(2)对投票系统的讨论,我不感兴趣,而对每个治理提案的细节的讨论又太吵闹(too high volume),所以我躲开了,只到现在才有空读/浏览完所有的提案。我希望大家不要因为我赞同哪个 PEP 而感到压迫,但我也希望大家是真正地想知道我偏向哪个 PEP。
(3)我不放心那些想把 PEP 流程固定死的治理提案,所以首选的提案就只剩下 8016 (指导委员会)和 8011 (三巨头)了。
(4)我不喜欢在初始的提案文档里就面面俱到,治理模型的结构应该要不易改变,而实施过程中的事情不能不易改变。(注:此话赞同了某核心开发者,后者提到 8016 通过选出委员会来决定如何行事)。
(5)对于引入外部投票,我表示要警惕。几个月前,Victor 提交 PR 来修改某些带政治意味的措辞,很多种族主义者跑来投反对意见,当修改被合入后,他们就抗议。我意识到 PEP-8014 有相应机制来应对这种事,但我个人宁愿不要邀请外人来参与我们的选举。
Guido 表示他将要详细写出对每个治理提案的看法,但从几次对话中已经能看出,他最偏向于 PEP-8016。他的意见得到了一些认可,核心开发者 Paul Moore 就表示,我们无法预知未来会发生的所有事情,因此就要求治理提案能够灵活地应对各种变化。
不过,Guido 还表示,他不会参与投票了。
有开发者劝他重新考虑。就看在剩下的几天里,他会不会改变主意了。
2. 其它开发者的看法?
由于不知道核心开发者的确切数量,不清楚投票的总体进展,我只能根据网站(https://discuss.python.org)上的相关话题,来做小样本的分析了。
在“哪个治理提案是你最喜欢的”话题下,共有 13 名核心开发者参与了讨论。在模拟投票中,有 10 人参与投票(每人最多投 3 票),结果显示,PEP-8016 获得8票,遥遥领先,紧随其后的是 PEP-8012 和 PEP-8015,各得到了 4 票。
值得注意的是,这个结果在 Guido 现身前就定型了,如此看来,PEP-8016 无疑是最受人青睐的。
国内开发者关注于此话题的人比较少,从唯二发起过模拟投票的公众号 (Python猫 与 编程派 )的数据来看,总计 187 人参与投票,得票最高的前三名为:PEP-8010(52票,占比 28%),PEP-8015(40票,占比21%),PEP-8011(36票,占比19%)。(PS:需要说明的是,我们都无法参与官方投票,公众号中的模拟投票仅仅是一份娱乐性的民意调查。)
然而,对比核心开发者与“边缘开发者”发起的投票,两者的差异之大,颇值得玩味。为什么有这么大的差异呢?
在我们发起的“民意调查”中获得最高票的 PEP-8010,在核心开发者中并不怎么受欢迎。比如,在 Antoine Pitrou 看来,PEP-8010 就是他最不放心的提案,他不指名地说有两个人会竞选 BDFL,但是,其中一个心善却不一定能处理好多方压力,另一个则是争议性人物,若他当选 BDFL 则会成为“宣战的原因”(a casus belli)。
另一名核心开发者 Nathaniel J. Smith 也非常反对 PEP-8010,他以自己在一些小项目中担任 BDFL 的亲身经历,来说明被选成 BDFL 是多么“艰难和恐怖”(incredibly hard and scary),还为此打了个夸张的比方:
With PEP 8010 I feel like we're trying to decide who to fly a 747, by voting, and none of the candidates have a pilot's license。
由此可以看出,核心开发者在给治理提案投票的时候,不仅仅会考虑到提案本身,更重要的是,他们还考虑到由谁来落实新的治理提案。这就是“局中人”的视角了吧,跟我们这些“边缘人”的视角确实很不一样。这很好地解释了,为什么两份模拟投票会得到截然不同的结果。
明白了这一层逻辑,等到最终投票结果出来的时候,大家也许就不会感到太惊讶了吧。
那么,哪种治理提案最可能被选中呢?我在此预测,最终胜出的治理提案是......
PS:为了持续关注此话题,我专门建了个微信交流群。感兴趣的同学可通过本公众号(Python猫)菜单栏的“联系作者”,加我为好友,发送暗号“PEP投票”进群(其它用意者勿扰)。参与讨论的小伙伴,将有机会获得一本技术书籍。
参考阅读:
7种提案的对比:http://t.cn/Eyi8D7b
此事件的重要性:http://t.cn/EygFM5Q
本文原创并首发于微信公众号【Python猫】,后台回复“爱学习”,免费获得20+本精选电子书。