春节假期结束了,大家陆续地重回到原来的生活轨道上。假期是一个很好的休息与调节的机会,同时,春节还有辞旧迎新的本意,它是新的轮回的开端。

在 Python 社区里,刚发生了一件大事,同样有开启新纪元的意义:在"Python 之父" Guido van Rossum 宣布卸任 BDFL(终身仁慈独裁者)后,Python 核心开发者们历经半年多的时间,终于为新的治理方案选出了第一届的“执政成员”。

2 月 4 日,经过为期 2 周的投票,Python 社区选出了第一届的指导委员会的 5 名成员:Barry Warsaw、Brett Cannon、Carol Willing、Guido van Rossum、Nick Coghlan。

前段时间,我曾回顾了 Python 之父的退位风波、翻译了各种治理提案的汇总介绍、也分析了核心开发者的投票意向(PS:可通过文末链接进行查看)。本文是对此事件的跟踪报道,也是一个阶段性的句号。随着第一届指导委员会成员的确定,Python 社区将迎来一个新的安稳的过渡期。本文的意义,就是向各位 Python 开发者/学习者/爱好者宣告这个好消息。

核心开发者的自治模式迎来如此重大的转变,这本就是一件值得关注的大事。Python 社区的未来走向与此息息相关,而这种治理模式的成败,也会为其它技术社区提供极好的参照系。

1、指导委员会是什么?

关于指导委员会(Steering Council),它是 7 种治理方案中最晚被提出,但却最被广泛接收的一个,最终经过投票成为了社区里新的治理方案。该治理方案以 5 人组成的指导委员会作为最高决策层,并允许在必要的时候,将决策权委派给其它团队或开发者代表。

指导委员会拥有至高的权力,但它的行事原则是:boring、simple、comprehensive、flexible and light-weight,具体而言则是,通过设定一系列的基础性的、清晰的、灵活的、轻量的规则及流程,来“指导”社区的治理工作。

指导委员会可以直接行使某些权力,例如批准或驳回 PEP、更新项目的行为守则、跟软件基金会一同管理项目资产等等,然而,过分行驶权力的方式并不受鼓励。指导委员会与其它治理提案的关键区别就在于,它将扮演规则制定者的角色,指导、引导以及协调社区工作,只有在关键时候,才会行使最终的裁决权。

指导委员会的职能是:

  • Maintain the quality and stability of the Python language and CPython interpreter,维护 Python 语言及 CPython 解释器的质量与稳定性
  • Make contributing as accessible, inclusive, and sustainable as possible,尽可能使做贡献是便利的、包容的与可持续的
  • Formalize and maintain the relationship between the core team and the PSF,巩固核心团队与 Python 软件基金会的关系
  • Establish appropriate decision-making processes for PEPs,为 PEP 建立恰当的决策流程
  • Seek consensus among contributors and the core team before acting in a formal capacity,为贡献者与核心团队寻求共识
  • Act as a "court of final appeal" for decisions where all other methods have failed,当其它所有方法都失败时扮演“最终裁决法庭”的角色

这个治理模式是借鉴自 Django 项目,详细内容参见 PEP-13。

2、指导委员会的成员?

指导委员会的固定成员是 5 人,且最多允许两人来自同一家企业。换届频率是每个 Python 发行版本。成员可连任。支持不信任投票(即弹劾)。

现在来看看第一届当选的成员:

  • 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。

弗兰克·威利森纪念奖

注:弗兰克·威利森纪念奖,即 Frank Willison Memorial Award,该奖由 O'Reilly 出版集团设立,颁布给为 Python 社区做了突出贡献的个人。设立于2002年,每年颁布一次。

这些成员都是多年的资深核心开发者,为 Python 发展做出过长足的贡献。最值得一提的当然是 Guido van Rossum,他并没有离开决策层。事实上,Guido 是自荐成为候选人的,并且是 17 名候选人中最早自荐或被提名的几个人之一。

在当选之后,其他人都在 Twitter 上转发了好消息,而 Guido 不置一词。这留下了一个悬念:Guido 出于什么考虑而决定重回决策层呢,又将会扮演怎样的角色呢?

3、开源技术项目的发展?

要发起一个开源的技术项目,似乎并不难,然而,要使它推广到广大的技术群体,打造出完整的技术生态,并且持续健康地运作下去,这就太难了。

今天,看到一则新闻:Bootstrap 5 将彻底移除对 jQuery 的依赖。我不由地想起半年前,Github 也宣布了完全放弃 jQuery。jQuery 是著名的前端开源项目,几年前一统江湖盛极一时,然而随着 MVVM 框架的崛起,目前已到了穷途末路的境地。

jQuery没落,群雄争霸

这揭示了技术项目发展的第一大难题:保持技术的领先性。近几年,Python 凭借着在人工智能和科学计算领域的赫赫战功,成为了众多开发者追捧的对象,对我等追随者来说,真是喜闻乐见。乐观地想,Python 至少还不会因为技术原因而没落。

去年,技术社区里还发生了一件大事:Linux 之父 Linus Torvalds 宣布要无限期休假。这个新闻跟 Python 之父的退位相比,所引起的轰动效应可要大得多了。

这两件事有很大的相似性,引发了我的好奇心:开源技术项目所重度依赖的灵魂人物离开了,它们如何才能继续健康地发展运作?

这个话题对我等小小的边缘码农而言,实在是超出能力范围而无法回答。所幸的是,他们又回归了。不过对于核心开发者们来说,这个话题迟早要面对,现在的风波就是一个预警。

Python 社区贡献出来的指导委员会治理方案,会带来什么样的变化,会引领社区走向何方呢?拭目以待。

相关链接:

这件正在发生的事,关乎所有的Python开发者……

https://www.python.org/dev/peps/pep-0013/

https://www.python.org/dev/peps/pep-8016/

-----------------

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

Python之父重回决策层,社区未来如何发展?的更多相关文章

  1. Python之父重回决策层

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

  2. PEP 8016-Python之父重回决策层

      PEP 8016-Python之父重回决策层 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 去年,技术社区里还发生了一件大事:Linux 之父 Linus Torvalds 宣 ...

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

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

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

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

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

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

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

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

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

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

  8. Python 之父撰文回忆:为什么要创造 pgen 解析器?

    花下猫语: 近日,Python 之父在 Medium 上开通了博客,并发布了一篇关于 PEG 解析器的文章(参见我翻的 全文译文).据我所知,他有自己的博客,为什么还会跑去 Medium 上写文呢?好 ...

  9. Python 之父再发文:构建一个 PEG 解析器

    花下猫语: Python 之父在 Medium 上开了博客,现在写了两篇文章,本文是第二篇的译文.前一篇的译文 在此 ,宣布了将要用 PEG 解析器来替换当前的 pgen 解析器. 本文主要介绍了构建 ...

随机推荐

  1. c++11线程池

    #pragma once #include <future> #include <vector> #include <atomic> #include <qu ...

  2. leetCode刷题(使用链表做加法)

    Input: (2 -> 4 -> 3) + (5 -> 6 -> 4) Output: 7 -> 0 -> 8 Explanation: 342 + 465 = ...

  3. Caused by: android.view.InflateException: Binary XML file line #2: Error inflating class android.sup

    解决:找不到资源文件: 系统会根据分辨率来选择加载不同drawable下文件夹的资源,如果只在一个文件下放了资源文件,不同的分辨率设备的会报错.

  4. Map集合的便利学习总结

    1.Map提供了三种便利方式 1)遍历所有key. Set<K>  keySet()  该方法会将当前Map中所有key存入一个Set集合后返回. 2)遍历所有的key-value对 Se ...

  5. java 字符常量池

    一.题目: 问题:String str = new String(“hello”),“hello”在内存中是怎么分配的?    答案是:堆,字符串常量区. Java中的字符串常量池和JVM运行时数据区 ...

  6. VMware 非简易安装centos6(静态ip配置)

    1.选择新建虚拟机 在弹出框中我选择推荐安装 然后点击下一步 2.选择稍后安装操作系统(不然会默认简易安装) 接着一直下一步就可以了,最后到这个页面 4.如下图选择事先下载好的安装文件 5.配置桥接模 ...

  7. 常用JS对象的方法总结

    String 方法 描述 charAt() 返回在指定位置的字符. charCodeAt() 返回在指定的位置的字符的 Unicode 编码. concat() 连接字符串. indexOf() 检索 ...

  8. Java与Kotlin, 哪个是开发安卓应用的首选语言?

    Java是很多开发者创建安卓应用的首选语言.但它在 Android 界的领导地位正受到各种新语言的挑战,Kotlin就是其一.虽然Kotlin最近才开始受到热捧,但有为数不少的人相信 Kotlin 在 ...

  9. IDEA使用教程

    以下内容引自: https://www.cnblogs.com/yjd_hycf_space/p/7483921.html IntelliJ IDEA使用教程(很全) 这个编辑器我就不再多做介绍了.直 ...

  10. 复写的Object常用方法

    复写的Object常用方法 在Java中Object类是所有类的父类,其中有几个需要override的方法比如equals,hashCode和toString等方法.每次写这几个方法都要做很多重复性的 ...