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

PEP 8016-Python之父重回决策层的更多相关文章

  1. Python之父重回决策层

    在Guido van Rossum(吉多·范罗苏姆)卸任BDFL(“终身仁慈独裁者”)一职半年多之后,Python社区迎来了新的治理新方案:指导委员会模式,而经过投票Guido van Rossum也 ...

  2. Python之父重回决策层,社区未来如何发展?

    春节假期结束了,大家陆续地重回到原来的生活轨道上.假期是一个很好的休息与调节的机会,同时,春节还有辞旧迎新的本意,它是新的轮回的开端. 在 Python 社区里,刚发生了一件大事,同样有开启新纪元的意 ...

  3. Python 之父谈放弃 Python:我对核心成员们失望至极!

    Python 之父讲述退位原因,以及 Python 的未来将何去何从. ​ 在 Python 社区,Python 的发明者 Guido Van Rossum 被称为 “仁慈的终生独裁者”(BDFL,B ...

  4. Python之父新发文,将替换现有解析器

    花下猫语: Guido van Rossum 是 Python 的创造者,虽然他现在放弃了"终身仁慈独裁者"的职位,但却成为了指导委员会的五位成员之一,其一举一动依然备受瞩目.近日 ...

  5. Python 之父的解析器系列之三:生成一个 PEG 解析器

    原题 | Generating a PEG Parser 作者 | Guido van Rossum(Python之父) 译者 | 豌豆花下猫("Python猫"公众号作者) 声明 ...

  6. Python 之父的解析器系列之五:左递归 PEG 语法

    原题 | Left-recursive PEG grammars 作者 | Guido van Rossum(Python之父) 译者 | 豌豆花下猫("Python猫"公众号作者 ...

  7. Python 之父 63 岁才退休,我 23 就中年危机。。

    Java技术栈 www.javastack.cn 优秀的Java技术公众号 Python 之父 Guido van Rossum 在推特公布了自己从 Dropbox 公司离职的消息,并表示已经退休. ...

  8. Python之父Guido在最近一次采访的最后说了啥

    Python之父Guido在最近一次采访的最后说了啥? 在前些天的一次采访中,被问到Python未来发展方向的时候原文在infoworld,咱们可爱的python老爹Guido是这样说的: One t ...

  9. PEP 8 - Python代码样式指南

    PEP 8 - Python代码样式指南 PEP: 8 标题: Python代码风格指南 作者: Guido van Rossum <python.org上的guido>,Barry Wa ...

随机推荐

  1. vc对话框程序运行时隐藏

    1.在资源编辑中设置对话框为不可见 2.在OnPaint中加入下面代码 void CMyDlg::OnPaint() { static b = false; if(!b){ ShowWindow(SW ...

  2. 使用命令行操作vmware esxi -- powershell

    之前提到过用linux命令行的方法操作vmware,这节我们来使用powershell的方式来操作.在操作之前需要下载安装一款命令行工具PowerCLI,本节只列出一些常用命令. 个人认为powerc ...

  3. nodejs调试工具 node-inspect

    1.安装 npm install -g node-inspect 2.chrome设置 chrome://flags/#enable-devtools-experiments 3.测试 测试代码mai ...

  4. ES6学习小结

    ES6(ES2015)--IE10+.Chrome.FireFox.移动端.NodeJS 编译.转换 1.在线转换 2.提前编译 babel = browser.js ES6: 1.变量 var 重复 ...

  5. JVM的基本结构和JVM的内存结构

    这里概要介绍一下JVM在启动后,作为操作系统的一个进程的基本结构,以及从操作系统角度看,JVM如何管理它从操作系统里申请来的内存的,也就是JVM的内存结构或者叫JVM内存模型. 1.JVM的基本结构 ...

  6. Python实现树

    树 (tree) 是一种非常高效的非线性存储结构.树,可以很形象的理解,有根,有叶子,对应在数据结构中就是根节点.叶子节点,同一层的叶子叫兄弟节点,邻近不同层的叫父子节点,非常好理解. 注:定义来自百 ...

  7. IDEA中MavenWeb项目没有新建servlet文件

    解决方案: https://blog.csdn.net/Delicious_Life/article/details/89515363

  8. epoll原理

    系统调用说明 epoll_create:在内核中创建epoll结构 epoll_ctl:add 1. 调用监听的文件的poll方法,设置callback 2. 设备就绪时唤醒等待队列上的进程,此时会调 ...

  9. 【题解】Luogu P5341 [TJOI2019]甲苯先生和大中锋的字符串

    原题传送门 实际按照题意模拟就行 我们先求出字符串的sa 因为要在字符串中出现k次,所以我们枚举\(l,r(r-l+1=k)\)看一共有多少种合法的方案 合法方案的长度下界\(lb\)为\(Max(h ...

  10. WPF 像素着色器入门:使用 Shazzam Shader Editor 编写 HLSL 像素着色器代码

    原文:WPF 像素着色器入门:使用 Shazzam Shader Editor 编写 HLSL 像素着色器代码 HLSL,High Level Shader Language,高级着色器语言,是 Di ...