5. Python之父:我与Python(下:CNRI及其它)

原文by Guido van Rossum 2009-01-27 翻译by kant


1. CNRI的人与事

第一次 Python 研讨会给我带来一份 CNRI (美国联合创新研究会)的工作邀请,这是一家位于弗吉尼亚州的非营利组织。1995年,我去了 CNRI,当时的负责人 Bob Kahn,第一次向我指出,Python 与 Lisp 语言虽然表面上(语法)完全不同,但有很多地方是相通的。CNRI 的 Python 工作由 DARPA(美国国防部高级研究计划局) 间接支持,主要关注移动终端研究,对语言本身的发展并没有太多直接支持。

我在CNRI组建了一个小团队,用 Python 写一个移动终端系统。初始成员包括 Roger Masse、Barry Warsaw,也邀请了 Python 社区成员 Ken Manheimer 和 Fred Drake 加入,另外还有来自MIT的 Jeremy Hylton,负责文本检索模块。团队最初的上级是 Ted Strollo,之后是 Al Vezza。

这个团队也帮我建立了 Python 社区的一些基础,包括 python.org网站、CVS服务器,以及多个 Python 相关主题的邮件列表。Python 的 1.3 到 1.6 版本就是在 CNRI 发布的,在许多年里,1.5.2 一直是最受欢迎、最稳定的 Python 版本。

GUN Mailman 项目也诞生在这里:一开始我们用了一个 Perl 写的工具,叫 Majordomo,但 Ken Manheimer 觉得这个工具维护不方便,于是想看看有没有 Python 写的工具。当时找到了 John Viega 写的一个项目,于是接手过来。他跳槽去数码创意(Digital Creations)后,由 Barry Warsaw 继续维护,并说服自由软件基金会(Free Software Foundation)把它作为官方工具,以 GPL 协议把它开源了。

Python 研讨会也没有中断,一开始是一年两次,不过因为参加人数越来越多,后面改为一年一次。最初是由任意支持者举办,比如 NIST (第一次,美国国家标准技术研究所)、USGS(第二、第三次,美国地质调查局)、LLNL(第四次,美国劳伦斯利弗莫尔国家实验室)。后来 CNRI 接手了研讨会的组织,并在之后和 WWW大会 和 IETF大会 一样演变成商业活动的副产品。我离开 CNRI 不久,O'Reilly开源大会 (OSCON)新增了国际 Python 大会,不过 Python 软件基金会也在这个时候开始组织了新的草根会议,即 PyCon。

在 CNRI,我们创建了一个第一个(松散的) Python 组织。最开始是 Mike McLay 和 Paul Everitt 成立的 Python 基金会,不过在起草协议的时候就流产了,之后是 Bob Kahn 的 Python 软件小组,不算是什么独立组织,只是在 CNRI 一起工作的同事。Python 软件小组给 Python 社区带来了不少活力,不过缺乏独立性,影响不大。

CNRI 还用 DARPA 的钱开发了 JPython(之后叫Jython),一个用 Java 实现的 Python 解释器。Jython 最初是 Jim Hugunin 在 MIT 的毕业设计,后来他说服 CNRI 让他加入并完成这个项目的开发(或者 CNRI 劝说他加入并完成这个项目——当时我正在休假,不清楚细节)。不到两年后,Jim去了 Xerox PARC 的 AspectJ 项目组,Barry Warsaw 接手了 Jython 的后续开发。(许多年后,Jim 又开发了 IronPython,帮助 Python 对接 .NET 平台,另外,他还是 Numeric Python 的作者)

CNRI 里的一些其它项目也开始使用 Python,并有一些人成为 Python 核心开发者,特别是 Andrew Kuchling、Neil Schemenauer 和 Greg Ward。(Andrew 在加入 CNRI 之前就在 Python 社区很活跃,他的第一个项目是 Python Cryptography Toolkit,这个第三方包实现了很多基础的加密算法)


2. 找钱开发Python

随着 Python 越来越受欢迎,CNRI 试着在 DARPA 之外寻找 Python 开发所需的资金。一开始我们模仿 X 财团组建了 Python 财团,最低加入门槛是 20000 美元,不过除了惠普之外没人加入。之后我们组建了 Computer Programming for Everybody (CP4E),收到了 DARPA 的一些资助,不过钱不够,花了几年就没了。于是我开始考虑其他可能的选择。

最终,在2000年初,互联网泡沫正在高点的时候,我和 CNRI Python团队的另外三个人(Barry Warsaw、Jeremy Hylton 和 Fred Drake)加入了 BeOpen.com,当时这家加利福尼亚的创业公司正在招募各种开源开发者。另一位 Python 社区关键成员,Tim Peters,也和我们一起加入了公司。

考虑到我们加入了一家私营企业,Python 的归属权成为一个问题。CNRI 认为应该在发布1.6版本的时候修改开源协议。Python 最初的协议与MIT协议类似,加入 CNRI 后,我们在原协议基础上加了一句话,即 CNRI 的免责条款。而 CNRI 想在1.6版本使用的协议,则是由他们的律师起草的一份冗长的法律文件。

当时,我们与自由软件基金会的 Richard Stallman 和 Eben Moglen 有过几次漫长而纠结的讨论,他们担心协议变更会影响到 GNU Mailman,这个软件已经是自由软件基金会的核心工具之一了。在 Eric Raymond 的帮助下,我们还是提出了一份自由软件基金会和 CNRI 都满意的协议。对于这份协议,除了感谢Eric Raymond 之外,我只想说,作为一份开源协议,至少它表面上还是支持开源精神的。CNRI 的律师们起草的基本内容都没有调整,只加了几句反映 Python 所有权转移的话。

随着互联网泡沫的破灭,BeOpen.com 也倒闭了,只剩下高筑的债台、备受质疑的管理层,以及在风中凌乱的我们。

幸而我的团队,也就是现在大家所知的 PythonLabs,还是很受欢迎的。我们随后去了数码创意(Digital Creations),最早使用 Python 的公司之一(Ken Manheimer 早我们几年就加入了,见前文)。数码创意不久就改名为 Zope 集团,他们的主要开源产品是 Zope,一个web内容管理系统。Zope 的创始人 Paul Everitt、Rob Page 和 ITO Jim Fulton 都参加了1994年在 NIST 举办的 Python 研讨会。

加入 Zope 也是机缘巧合:当时我们的选项还包括 VA Linux 和 ActiveState。VA Linux 后来成为股市新星(至少纸面上看,Eric Raymond 已经是百万富翁),之后又突然暴跌。事后回想,ActiveState 也能也是不错的选择,但它位于加拿大,创始人 Dick Hardt 的个性也有些争议。

2001年,我们创立了 Python 软件基金会,这是一家非营利组织,创始成员包括当时主要的 Python 贡献者。Eric Raymond 也是创始成员之一。关于这段时期的故事,我想之后还会为大家介绍。


发表评论

评论列表,共 0 条评论