Python 创始人 Guido van Rossum 前段时间宣布脱离 Python 决策层,辞去所谓的 BDFL (终生仁慈的独裁者) 身份曾引发热议,当时他以 PEP 572 改进提案的争吵事件为例,表明其退出缘由。近日 Guido van Rossum 在接受外媒 InfoWorld 采访时,再次聊到了关于他退出决策层背后的隐情,以及对 Python 开发流程的看法。

图0:Python 之父透露退位隐情,与核心开发团队产生隔阂

图片来源:Dan Stroud (CC BY-SA 4.0)

InfoWorld:为什么辞去 BDFL 职务?

van Rossum:其实,所谓的终生和独裁都只是玩笑话。在过去十年的大部分时间里,我一直有退休的念头。我自身有一些健康问题,雪上加霜的是我需要无数次地去告诉社区的人们该如何做事并保持冷静,也需要无数次地去向别人解释 Python 的语言哲学。

压倒骆驼的最后一根稻草是一个非常有争议的 Python 改进提案(即 PEP 572 ),在我接受它之后,他们去了像 Twitter 这样的社交媒体并说出了一些真正伤害我个人的话语。而且说这些事情的实际上都是 Python 的核心开发者,所以我觉得我们相互之间已不再信任。

InfoWorld:能否谈谈 PEP 572 提案的好处以及为何如此具有争议性?

van Rossum:该提案是关于给 Python 添加表达式内赋值的一种语法。总而言之,这是给语言的一个很小的补充,主要是让人们在需要时,将赋值放在表达式的中间。其实许多其他语言也有类似的次要功能,包括我熟悉的 C 和 C ++。Java 和 JavaScript 据我所知也有支持 。它是一种相当小的语法,但在某些情况下,可以使代码更容易编写,并且通过删除冗余也更容易阅读。

很多人认为他们知道 Python 的设计理念是什么,而这个提议他们觉得没有遵循 Python 的设计原则。 该提案引起争议的另一个原因是提案作者有点自我,前面的几个版本存在一些严重的问题,导致之后即使是同意其基本理念的人,也投了反对票。 这是一个轻微的语法变化,并不激进。

InfoWorld:该特性将包含在哪个版本的 Python 中?

van Rossum:Python 3.8 。

InfoWorld:会有另一个 BDFL 吗? Python 后续将如何管理?

van Rossum:很遗憾,我目前无法告诉你。我给了核心开发团队一个任务,就是思考后续的管理模式以及选出相关负责人。这应该会是一个长期的讨论,无法立即达成共识。

现在可以说的是,他们已经同意给出提案的截止日期是2018年10月1日。我相信,到2018年11月1日,他们会选出一个合理的管理提案。到2019年1月1日,他们承诺会完成选举或任命负责人。

如果有提案认为需要一个 BDFL ,那么该提案必须详细列明细节,比如说要如何选择 BDFL ,任命期是多久,以及他/她在哪种情况下能被弹劾。不排除到1月1日,他们真能选出这样一个人。

InfoWorld:您将在 Python 项目中担任什么角色?

van Rossum:我将成为常规贡献者或常规核心开发者的角色,偶尔写一些和审查一些代码。我将尝试专注于指导核心开发者,尤其是新的核心开发者,以及女性和少数群体,因为核心开发团队的多样性是我的目标之一。

InfoWorld:您是否担心作为 BDFL ,您的离开可能会吓跑一些 Python 爱好者?

van Rossum:我不这么认为。 Python 拥有一个非常健康的社区,核心团队也拥有非常强大的能力。如果我认为他们无法克服这一点困难并在未来几十年内继续引领语言发展,我就不会辞职。我认为这只是一次轻微的打击,尽管出现了,但我期待后续版本的成功以及开发流程的逐步演变。

InfoWorld:Python 过去几年的开发流程是怎样的?如何看待其未来发展?

van Rossum:语言在不断变化,我们为该语言和库添加了一些新特性。过去几年变化较大的可能是语言的流行度,直到五年前,Python 还一直感觉自己是一个“小玩家”。

之后随着数据科学的发展,Python 作为其主要工具出现了令人难以置信的快速发展。这也导致核心开发者在决策上有更大的压力,但是一般情况下,我们发布语言的方式非常稳定。

我们有发行管理员(release managers),主要版本发行间隔约一年半,Bug 修复版本,由于使用需要,可能会在几个月到大半年左右。

我们也有非常稳定的 Python 改进提案流程。也许随着社交媒体的发展 PEP 的方式有所改变,但总的来说,除了几年前从 Mercurial 转向 Git 之外,PEP 一直是一个非常稳定的流程,没有出现过失误和问题。

原文:Infoworld  作者:Paul Krill  编译:开源中国

余下全文(1/3)
分享这篇文章:

请关注我们:

发表评论

电子邮件地址不会被公开。 必填项已用*标注