社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python 之父为什么要退出决策层?以及我的思考

Python之美 • 8 年前 • 1023 次点击  

相信很多同学都知道Python 创始人,被社区称为仁慈的独裁者(BDFL)的Guido van Rossum(以下简称GvR)前天在邮件列表宣布,他将完全脱离决策层,不再领导该语言,给自己一个永久的假期。不过还是会作为普通核心开发者的身份留在Python社区中。

https://mail.python.org/pipermail/python-committers/2018-July/005664.html

就像朋友圈一个朋友说的:

如果有本书记录Python历史,2018-07-12 和 PEP572 都将载入Python史册。

最近工作太忙(豆瓣6.0值得期待哟),到现在才来和大家聊聊我看到的背后故事,以及我的看法。

相信很多人能够看到这个导火索PEP 572(https://www.python.org/dev/peps/pep-0572/), 如果你足够八卦,可以先去看一遍这个PEP提案,2个月前我还在知乎回答过「如何看待 PEP 572 ?」

答案我就截图个把: 

接下来,我们分三部分。

1. PEP 572 到底好不好?

其实看我知乎的回答就知道我站「接受」这队。新的功能或者语法到底好不好,每个人都有不同的答案,一方面是个人的品味,一方面也是工作环境和编程习惯。这在Python语言尤甚,因为Python语言的特点是什么?简单、语法优美、代码缩进(以下省略百余字),可见Python社区对于代码和语法是非常有「洁癖」的。

有的人觉得Python要简洁,留下的都是精华,别有什么东西都往Python里面塞,背离Python定位和初衷。

有些人(比如我)觉得海纳百川,支持更多的引入新的功能、特性和语法,工作中很多场景可以用并且好用就留着,在文档里面把适用场景讲清楚了,开发者自己决定用或者不用,怎么用。

我不认为谁错了,就像在知乎回答里,也可以明显的2种态度。

但是别觉得我对啥都是「好」、「可以」,比如我完全不能忍Type Hints,这和Java有什么区别?那天Python要强制类型检查,我立刻准备换语言!

2. GvR为什么要离开?

我觉得有三个理由。

1. 太多人不满意他的决定。

邮件组对PEP 572真的反响太大了,支持与反对派争论不休,即便是GvR 行使 BDFL 接受提案之后。本来就像过去,有争议就争议呗,带有情绪甚至表达鄙视或者嘲讽就有点过分了,无论是国内还是国外总有一些对Python社区没什么贡献、工作中Python用的也很少的开发者,高谈阔论指点江山特别厉害。

GvR觉得自己为了Python鞠躬尽瘁(一点也不夸张),但是很多人不满意他所做出的决定,不理解他,这个角度GvR是被气走的。而他是对其中某些人生气,为什么这么说?

过去有很多次的争论,和搞不兼容Python 2的Python 3、asyncio、Type Hint等等提案相比,PEP 572什么都不算,但为什么PEP 572怎么搞得这么大?看邮件你们就知道GvR带了多大的情绪,为什么?

因为过去社区的「超级」核心开发者大多站在GvR一边,或者没特别多的意见。嗯,我这里给Python核心开发者分了级别。是不是「超级」主要看社区影响力和代码贡献,也就是说在社区有话语权,有影响GvR意见的开发者,而这一次,反对的超级开发者确实很多。也就是我的得力助手大多否定我,给谁心情也不好。队伍还怎么带?

2. 反思

Python核心开发Nick Coghlan也是反对PEP 572的。不过很多人不知道,几天前,Nick Coghlan罢工了。Nick Coghlan是谁?如果你不知道他,我基本可以说,你还不是一个优秀的开发者。

Nick Coghlan在我心中无论是对Python的贡献和社区影响力都是排进前十的核心开发者。他的离开,应该是GvR要退休的的一大促因。我没有翻关于PEP 572讨论里面Nick Coghlan和GvR的对话是不是有问题,或者私下争论太严重了,但是结果就是Nick Coghlan移交权力,可见这件事真的闹的有点大了。

其实GvR和核心开发者的分歧已经越来越多越来越大了,我举个之前 PEP 557的例子,有些核心开发希望把attrs放入标准库,但是GvR最后又是独裁的决定拒绝。有兴趣的可以看 https://github.com/ericvsmith/dataclasses/issues/19

支持的超级开发包括Warsaw和Donald Stufft,以及核心开发hynek(attrs作者),通过这件事可见一斑。

GvR反思到了这件事,放权给社区,非常了不起。我也衷心希望未来Nick Coghlan能回来。

3. GvR老了

我注意到这么一段

After all that's eventually going to happen regardless -- there's still that bus lurking around the corner, and I'm not getting younger... (I'll spare you the list of medical issues.)

GvR突然话锋一转抒情了一下,想想GvR已经62岁了。从1991年Python诞生到现在已经过去了27年,他老了,也该退休了,不是么?其实这几年GvR除了asyncio和Type Hints这种需要力排众议的PEP,以及做一些最后的决定和解释,越来越少的出现在社区。Python社区已经可以在没有GvR的参与下良好运作了。

3. 思考

BDFL的存在是错误的嘛?我认为不是,社区或者组织、部门都必须有一个leader,可以说是这个人是舵手,做最后拍板的人。这个人决定了这个社区或者组织能不能做成做好。大家要看到正是由于GvR的独裁,Python比起其他编程语言的发展过程上,能更有效率解决各种分歧,否者就很容易出现各种扯皮,也会产生非常多的成员之间的矛盾。

GvR抛出了几个问题:

那你们会怎么做呢?建立一套民主制度?无政府状态?还是专政?或是联邦?

以及如何决定PEP和引入新的核心开发者,我其实非常担心接下来社区会怎么做,拭目以待吧。



今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/MfEHfQhhKb
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/20950