PEP 8016-Python之父重回决策层
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
去年,技术社区里还发生了一件大事:Linux 之父 Linus Torvalds 宣布要无限期休假。这个新闻跟 Python 之父的退位相比,所引起的轰动效应可要大得多了。毕竟对咱们每一个运维,开发人员来说,Linux Torvalds可代表着Linux内核的开源技术项目的灵魂人物。
不过对于核心开发者们来说,对开源技术项目所重度依赖的灵魂人物离开的话题迟早要面对的,如何才能继续健康地发展开源技术项目的运作?好像扯得有点远了,这个话题对我等小小的运维而言,实在是超出能力范围而无法回答。所幸的是,他们又回归了。
一.PEP概述
1>.什么是PEP
PEP(Python Enhancement Proposals的缩写,即Python增强提案)是每一个Python程序员必须知道的。
一个PEP是一份为Python社区提供各种增强功能的技术规格,也就是提交新特性,以便让社区中指出问题,精确化技术文档的提案。
每一个Python版本的新特性或变化都是将PEP提案通过社区决策层讨论,投票决议,通过后才有我们看到的功能变化。
2>.由PEP 572引发的"案件",PEP路在何方?
Guido van Rossum被戏称为"仁慈的独裁者"(benevolent dictor for life,BDFL)。他会亲自签署并确认每一份PEP。但在2018年7月,由于PEP 572(Assignment Expressions)这个提案,他已经卸任BDFL。没有继任者,没有管理原则,PEP路在何方?
PEP 572影响到了几乎所有的Python用户,但相当多的人不认可。
二.PEP典型代表
1>.PEP 0
PEP规范列表,PEP文档索引。
博主推荐阅读:
https://www.python.org/dev/peps/
2>.PEP 1
PEP协议指南。(Purpose and Guidelines) 博主推荐阅读: https://www.python.org/dev/peps/pep-0001/
3>.PEP 8
由Python之父等编写的Python编码风格指导。被Python社区广泛采纳,标准库也按照这个规范编写。(Style Guide for Python Code) 博主推荐阅读: https://www.python.org/dev/peps/pep-0008/
4>.PEP 20
Python之禅。
博主推荐阅读:
https://www.python.org/dev/peps/pep-0020/
5>.PEP 257
文档字符串的规范。
博主推荐阅读:
https://www.python.org/dev/peps/pep-0257/
6>.PEP 8016
指导委员会模式(The Steering Council Model),它是Python社区治理方案,这是Python之父卸任BDFL之后,社区从几种方案中投票胜出的方案。 PEP 8016治理方案采用指导委员会模式,其特点是引导治理的迭代,该方案由Nathaniel J.Smith和Donald Stufft提出。 PEP 8016中提出了不信任投票,也就是弹劾机制,可将任期内的当权者赶下台;它严格限定了在委员会里,只允许少于50%的成员是企业(5人委员会最多有2个);并且关注到核心开发者的选举/淘汰,如果更新治理提案等问题。 而且,PEP 8016中也提出了新的PEP流程,目前的PEP流程是提案人确定PEP的选题方向,提案人负责收集与整合来自整个社区的反馈。然后,相关领域的专家成员都可发起动议来拒绝通过它,这需要超过2/3的票数。 PEP 8016的PEP流程:指导委员会在必要时可直接地批准/否决PEP,但最好是设置流程来避免这样做决策,例如,将决策权委派给团队或者BDFL代表。 2019年2月4日,为期2周的投票后,Python社区选出来了知道委员会的5名成员,分别为: Barry Warsaw: 自1995年起成为核心开发者之一,荣获 2014 年的弗兰克·威利森纪念奖。目前供职于 LinkedIn(已被微软收购,也即供职于微软),业余爱好是音乐和太极。 Brett Cannon: 自2003年起成为核心开发者之一,荣获 2016 年的弗兰克·威利森纪念奖。曾担任 Python 软件基金会的执行副主席。目前供职于微软,负责 VSCode 的 Python 插件项目。 Carol Willing: Python 核心开发者,Jupyter 核心开发者及 Jupyter 的指导委员会成员。自由职业,兴趣在于科研及教育项目。 Guido van Rossum: Python 的创始人,被称为“Python 之父”,长期领导 Python 社区的发展,直到此次的退位风波。目前供职于 Dropbox。 Nick Coghlan: 自2005年起成为核心开发者之一。目前供职于 Tritium。 博主推荐阅读: https://www.python.org/dev/peps/pep-8016/ https://yq.aliyun.com/articles/690314 https://blog.csdn.net/tTU1EvLDeLFq5btqiK/article/details/82783068