V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
chinesehuazhou
V2EX  ›  Python

(预警:内有公众号宣传,不喜勿进)最新进展|关于 Python 治理模式的投票

  •  
  •   chinesehuazhou · 2018-12-09 23:03:40 +08:00 · 1806 次点击
    这是一个创建于 2194 天前的主题,其中的信息可能已经有所发展或是发生改变。

    后 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 投票”进群(其它用意者勿扰)。参与讨论的小伙伴,将有机会获得一本技术书籍。


    本文原创并首发于微信公众号 [ Python 猫] ,后台回复“爱学习”,免费获得 20+本精选电子书。

    3 条回复    2018-12-10 00:34:14 +08:00
    cosven
        1
    cosven  
       2018-12-09 23:36:09 +08:00
    沙发。讲道理也应该有个电子书才对 ~
    chinesehuazhou
        2
    chinesehuazhou  
    OP
       2018-12-09 23:58:27 +08:00 via Android
    @cosven 讲道理是应该有个沙发才对~
    eeechoo
        3
    eeechoo  
       2018-12-10 00:34:14 +08:00
    The steering council is a 5-person committee.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5530 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 02:04 · PVG 10:04 · LAX 18:04 · JFK 21:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.