Python:从语言到社区的成长之路

86 阅读9分钟

Python 最初并不盈利,但社区对其充满热情。早期 Python 的发展历程坎坷,经历了多次组织模式的尝试,最终成立了 Python 软件基金会。社区的价值观至关重要,并促成了 Python 的成功。PyCon 会议的举办为 Python 的发展带来了资金支持。Python 对多样性的承诺也是其成功的关键因素。

译自:How Python Grew From a Language to a Community

作者:David Cassel

当 Python 在 1991 年首次推出时,资深的 Python 社区组织者 Paul Everitt(现在是 JetBrains 的 Python 和 Web 开发倡导者)回忆说,“它并不赚钱”。“但我们相信它。我们充满热情——我们正在为世界做好事。”

然而令人惊讶的是,Python 在成为世界排名第一的 最受欢迎的编程语言 的道路上,经历了一段坎坷的早期历程,并安全地安顿在非营利组织 Python 软件基金会中,该基金会将帮助它在未来几年里不断成长。

这是一个 Everitt 将在 Cult.Repo 即将发布的纪录片(前身是专注于技术的招聘平台 Honeypot 的一部分)中分享的故事。

“我们被 Python 的成功所吸引,”Everitt 本周告诉我——但被忽视的是“的故事,基金会的故事,已经发生和没有发生的事情的故事。”

这里面有激情,有一些试错,还有一些真正令人毛骨悚然的险情。但最重要的是,社区至关重要——并且社区的价值观确实能发挥作用。

社区的诞生

在通过 Usenet 新闻组分发 Python 多年后,Python 的创建者 Guido van Rossum 出席了 1994 年的一次突破性的面对面会议。“显然,我们互相发送电子邮件,”Everitt 回忆说,“但有一个实际的活动——20 个人,在马里兰州盖瑟斯堡的一栋没有窗户的政府办公楼里。”

“那时社区开始了,”他用充满爱意的声音说道。“作为独立于语言本身的东西。”

那是在美国国家标准与技术研究院,Everitt 笑着回忆起当时感觉空间是如此的充足——考虑到后来 Python 会议的规模变得如此之大。

“把 Guido 带到那个房间的人是 Python 的无名英雄,”Everitt 说——未来的 Python 核心开发者 Barry WarsawMichael McLay,当时是 NIST 的电子工程师。因为他们最终让 van Rossum 在 国家研究创新公司 找到了一份工作——这是一个长期运营的非营利组织(成立于 1986 年),专注于改善世界网络技术,符合公众利益的项目。Everitt 认为这是“为 Python 早期提供动力的引擎”的开始——“Guido 和他的团队在 CNRI 工作,为互联网的共同创造者 Bob Kahn 工作!”

从这里开始,Guido 的团队招募了 Roger Masse 和 Warsaw,他们也在 NIST 的同一个 Python 工作坊中“被 Python 感染”——Python 社区变得越来越强大。“这个团队帮助我创建和维护了额外的 Python 社区基础设施,例如 python.org 网站、CVS 服务器以及各种 Python 特殊兴趣小组的邮件列表,”Guido 在他的 “Python 历史”博客 中回忆道。

Barry Warsaw 甚至接管了由 John Viega 创建的 Python 邮件列表软件的维护工作——然后说服自由软件基金会采用它作为其官方邮件列表工具 GNU Mailman

章程的流沙

“Python 工作坊继续进行,”Guido 写道,“起初一年两次,但由于增长和物流工作量的增加,它们很快演变成一年一度的活动。” 但大约在这个时候,Guido 也回忆说,CNRI“试图提出一种模式,比通过 DARPA 研究资助更直接地资助 Python 的开发。”

Everitt 笑着回忆说这是“错误的模式”。

Van Rossum 的网站指出,他们新的 Python 联盟有“最低 20,000 美元的入场费。然而,除了惠普的一个团队外,我们没有获得太多的吸引力,最终该联盟因贫血而死亡。” 回顾过去,Everitt 说,现在他认为——作为这些组织的创始人——这种模式“永远行不通。它假定 Python 将成长为商业上的成功,公司会想要参与其中。” 即使有一天它可能会奏效,“那也太早了。”

那么如何组织一个社区呢? Van Rossum 的博客还回忆说,即使他们第一次尝试成立基金会“最终也陷入了章程起草的流沙之中”。 Bob Kahn 建议成立 Python 软件活动,“它不是一个独立的法律实体,而只是一群在 CNRI 的法律(非营利)保护下工作的人。 PSA 成功地团结了一大批忠实的 Python 用户的力量,但其缺乏独立性限制了其有效性。”

世界在他们周围不断变化,van Rossum 写道,“最终,在 2000 年初,互联网泡沫尚未完全破裂,说服了我和其他三位 CNRI Python 团队成员(Warsaw、Jeremy HyltonFred Drake)加入 BeOpen.com,这是一家位于加利福尼亚州的初创公司,该公司正在招募开源开发人员。”

至于对该语言的机构支持,“PSA 只是死了,”Everitt 说,“什么都没有了。幸运的是,他们没有拥有任何知识产权。”

最后一个问题……

在离开时,有一个关于如何许可 Python 1.6 的最后一个问题。 Van Rossum 回忆说,早期的版本使用了修改后的 MIT 许可证,“基本上添加了一句话,CNRI 在其中声明了大部分责任。 然而,1.6 许可证是 CNRI 律师精心制作的一篇冗长、晦涩的法律文章。”

但由于自由软件基金会现在正在使用 GNU Mailman,他们致力于使 Python 保持真正的自由。“我们与自由软件基金会的 Richard StallmanEben Moglen 就这个新许可证的某些部分进行了多次长时间的讨论,”van Rossum 写道。“在 Eric Raymond 的帮助下,对 CNRI Python 许可证进行了更改,这些更改满足了 FSF 和 CNRI 的要求,”以及开源促进会的梦寐以求的认可。

直到今天,van Rossum 在 2019 年写道,“仅对许可证文本进行了轻微修改,以反映所有权的两次连续变化,首先是 BeOpen.com,然后是 Python 软件基金会,但本质上 CNRI 律师的工作仍然存在。”

尽管具有讽刺意味的是,van Rossum 写道,最终,BeOpen 的商业计划“以相当惨烈的失败告终”。

‘如果 Python 死了……’

幸运的是,Python 核心团队很快被 Paul Everitt 的 Zope Corporation(Web 应用程序服务器的早期参与者)聘用。“我们刚刚获得了第三轮风险投资,”Everitt 回忆说,因此他的初创公司显然从 Python 中获得了很大的价值。“我们当时想,‘听着,如果 Python 死了……那可就麻烦了!’” (正如 Everitt 在即将上映的纪录片中所说的那样,“如果所有 Python 人都各奔东西,Python 当时还不够大,无法幸存下来。”)

但相反,Python 的核心团队现在被聘用全职从事 Python 的工作。 这也是 Python 软件基金会应运而生的时候。“我们站在所有这些其他事情的灰烬之中,”Everitt 讽刺地说。

正是 Everitt 与长期开源倡导者 Greg Stein 一起投票支持 Python 软件基金会的成立。 但 Everitt 承认,“在此之前已经做了很多工作,每个人都说,‘这就是我们要做的。 去做愚蠢的官僚技巧来让它应运而生吧!’ 我们有我们想要编纂并围绕其建立结构的这些事情的基础,以确保它可以继续下去。”

社区所有?

具体来说,Zope 已经咨询了 FSF、OSI 和 软件自由法律中心,“以及所有这些人,”Everitt 回忆说,“只是为了理解开源的法律制度”——从版权到共同所有权、专利条款和贡献者协议。 所以他有很多经验。

但是进行了更多的关于结构的对话,Everitt 说,“在他的脑海中”法律实体应该是一个 501(c)——一个社区拥有的非营利组织,以持有 Python 的知识产权。 因此,当 Python 团队最终到达时,“我将我们在 Python 上所做工作的知识产权都不会归我们所有这一条放入了他们的雇佣协议中。 因为以前的雇主已经将他们的名字列入了版权中。”

2002 年,Everitt 搬到了法国,这与 Python 的下一个时代相吻合,在那里“参与第一个三分之一的人让位于参与第二个三分之一的人。” 因为举行一次会议是一个很自然的决定——名为 PyCon——正如 Everitt 回忆的那样,“PyCon 是真正变革的引擎。 因为它赚钱了。”

最终,将有一种方法可以资助持续的开发人员和基础设施改进。

‘秘密武器’

“Python 开始被视为一种秘密武器,”Everitt 回忆说(随着最大的公司不断发展“并且需要快速实施互联网服务……开发人员的生产力变得比其他因素更重要。”) 随着公司争先恐后地聘请 Python 团队,他们需要在社区中“留下足迹”,Everitt 说,“这体现在会议上。 你难道不想赞助这次会议,这样你看起来比其他人更有吸引力吗?”

有了这笔钱,Python 软件基金会现在能够聘请全职专业人员。 正如 Everitt 指出的那样,“一旦你拥有了一个法律实体并且你雇用了员工——他们就可以摇晃树木来筹集资金。 像 [PSF 执行董事] Eva Jodlowska 这样的人负责从 Google 等公司获得大笔资金——而不是赞助会议,而是赞助 Python 的持续基础设施。”

Hewlett Packard Enterprise 为 Python 的软件包存储库资助了一名全职开发人员,该存储库还获得了 Mozilla 开源支持计划提供的 170,000 美元的赠款以及 Bloomberg 提供的为期两年的全职项目/社区经理的赠款。

Everitt 说,这个故事中最令人欣慰的部分之一是 Python 对多样性的承诺。 但也许从一开始就存在这一点,Everitt 认为——对异构文化的拥抱,他可以将所有这些追溯到 20 世纪 90 年代的开源运动的根源,“按照定义,它实际上并不是一种单一文化。”

Everitt 认为,正是这种持续的文化最终带来了新的和多样化的人群,他们能够很好地应对人工智能等新趋势。

Cult.Repo 说 它的 Python 纪录片 将于 8 月 28 日发布。(7 月在布拉格举行的 EuroPython 上放映了先睹为快。)