This post a a Chinese translation of Guido van Rossums’s article “Personal History – part 2, CNRI and beyond” on his blog named “The History of Python”.
原文地址:http://python-history.blogspot.com/2009/01/personal-history-part-2-cnri-and-beyond.html
Python研讨会(参看之前的文章)的结果是一份在CNRI(the Corporation for National Research Initiatives,国家研究研发公司)的工作。CNRI是位于维珍尼亚州来斯顿的一个非盈利的研究实验室。我在1995年四月份加入。CNRI的主管Bob Kahn是第一位向我指出Python与Lisp之间共同点的人,尽管两者从外表(语法)上完全不同。在CNRI,DARPA授权的移动媒介研究间接的给Python工作提供经济支持。尽管有DARPA支持的项目在使用Python,但没有太多对编程语言本身的直接支持。
在CNRI,我领导并帮助雇佣了一个小的开发小组来用纯的Python语言开发一个移动媒介系统。最初的小组成员是Roger Masse和Barry Warsaw,他们在NIST的Python研讨会上指出Python的bug。另外,我们还雇佣了Python社区的成员Ken Manheimer和Fred Drake。MIT的毕业生Jeremy Hylton原本是被雇佣来做文本检索工作的,也加入了团队。最初团队由Ted Strollo和Al Vezza管理。
这个团队帮助我创建和管理了另外的Python社区的基础,比如python.org站点,CVS服务器和不同的Python特殊兴趣小组的邮件列表。Python的1.3到1.6版本都出自CNRI。在很多年里Python 1.5.2版本是最流行和最稳定的版本。
GNU mailman也在这里诞生:我们最早用一个叫Majordomo的Perl工具,但Ken Manheimer发现它不容易管理,于是就找一个Python方案。他找到John Viega写的一些东西并接手管理。当Ken离开CNRI去了Digital Creations,Barry Warsaw接手了它,并说服了自由软件基金会(Free Software Foundation)采用它作为官方的邮件列表工具。因此Barry把它按照GPL(GNU Public Licence)许可发行。
Python研讨会仍然继续着。开始是一年两次,但由于工作量呈指数性的增长,它编程了年会。最初这些研讨会是自愿组织的,就像NIST(第一次),USGS(第二次和第三次),以及LLNL(第四次,并且开始了年度系列)。最终CNRI接手了组织任务,后来(和WWW及IETF会议一起)这些成为了Fortec商业行为的副产品。很快的参与人数达到了数百人。当我离开CNRI后一段时间后Fortec逐渐消失,全球Python会议成为了O’Reilly开源会议(OSCON)的一部分,但同时Python软件基金会(Python Software Foundation,见下)开始了一个名为PyCon的新的草根研讨会。
我们也在CNRI建立了第一个Python周边协会。为了回应Mike McLay和Paul Everitt创建一个后来结束在法规起草流沙中的“Python基金会”的努力,Bob Kahn出钱成立了“Python软件行动”(Python Software Activity),它是一个合法的独立实体,只是一个简单的工作在CNRI(非盈利)法律保护伞下的小组。PSA成功的聚集起大量的Python用户,但它缺乏独立性限制了它的效率。
CNRI也用DARPA的钱来资助JPython(以后会简单介绍Jpython)。JPython是一个在Java上的Python实现。Jim Hugunin最初在做MIT毕业设计时创立了JPython。他后来说服CNRI雇佣他来完成这项工作(或者是CNRI说服Jim加盟──事情发生在我度假的时候)。当Jim离开CNRI后不到两年加入Xerox PARC时,Barry Warsaw继续了JPython的开发。(很久以后,Jim也是IronPython的作者。IronPython是微软.NET平台上的Python。Jim也写了Numeric Python的第一个版本)。
CNRI的其它项目也开始使用Python。许多新的Python核心开发者都来自于此。特别是在MEMS Exchange项目工作的Andrew Kuchling、Neil Schemenauer和Greg Ward。(Andrew甚至在来CNRI之前就为Python做贡献了;他的第一个主要的项目是Python加密工具箱,一个第三方的给Python用户提供许多基础加密算法的库)。
在Python成功的过程中,CNRI尝试着提出一个更直接的而不是通过DARPA研究授权的资助Python开发的方式。我们建立了Python集团,就像X集团那样,最小加盟费是20000美元。然而,除了一个在惠普的小组,我们没有获得更多的牵引力,最终由于缺乏活力,集团倒闭了。另一项寻找资金的尝试接受DARPA资助的是全民编程(Computer Programming for Everybody,CP4E)。然而,它的资金不足以支持整个团队,而且它是一个让钱实际流动数年的完全的老男孩网络。那里没有我感兴趣的,我于是开始寻找新的机会。
最终在2000年dot com的极速发展还没有破灭的时候,我和CNRI Python团队的另外的三名成员(Barry Warsaw、Jeremy Hylton和Fred Drake)被说服加入了BeOpen.com,一个加利福尼亚刚起步的招聘开源开发者的公司。一个Python社区主要成员Tim Peters,也加入了。
如预期的那样,在跳槽到BeOpen.com后,出现了关于未来Python所有权的难题。CNRI坚持修更改许可协议并请求我们按照新的许可协议发布Python 1.6版本。我还在CWI时使用的旧许可协议有一个MIT许可协议版本。CNRI创立的许可协议对那份许可协议作了轻微的修改,主要是加上一句话说明CNRI放弃多数责任。在CNRI的律师修改后的1.6许可协议变的又长又罗唆。
我们和自由软件基金会的Richard Stallman及Eben Moglen有了几次关于这份新许可协议的一些部分的讨论。他们担心它将不与GPL兼容,因而威胁到GNU mailman的发展,因为mailman现在已经成了FSF的重要工具。在Eric Raymond的帮助下,CNRI Python许可协议被修改到FSF和CNRI双方都满意的程度,但最后的语句不容易被理解。关于它我唯一可以说出的好的方面是(再次感谢Eric Raymond的帮助)它是开放源代码首创的完全开源的许可协议。为反应两个后继产品的所有权变更,只对许可协议的文本做出了轻微的更改,先是BeOpen.com,然后是Python软件基金会,但事实上CNRI律师的手工工作仍然成立。
就像那时候的许多开始的公司一样,BeOpen.com的商业计划华丽的失败了。它留下了一大笔债,一些人严肃的怀疑一些公司长官的参与角色,和我的团队外的一些非常失望的开发者。
我的团队的幸运年,现在的PythonLabs,相当受欢迎。我们被数字创新公司(Digital Creations),最早的使用Python的公司之一,雇佣成为一个单元(Ken Manheimer在几年之前就去了那里)。数字创新很快把它们的名字改成他们的主要开源产品,Zope网络内容管理系统的名字,成了Zope Corporation。Zope的创始人Paul Everitt和Rob Page,以及他们的CTO,Jim Fulton,参加过NIST在1994年举办的早期的Python研讨会。
历史可以容易的走向非常不同的方向:除了数字创新公司,我们也考虑过VA Linux和ActiveState的工作。当时VA Linux在股票市场上是一颗升起的新星(曾经让Eric Raymond名义上成为了数百万富翁),然后戏剧性的倒闭了。回看过去我想如果ActiveState不位于加拿大的话,它不会是一个不好的选择,除了它的创始人Dick Hardt的饱受争议的个性。
我们在2001年创立了Python软件基金会,它是一个非盈利性的组织。它的初期成员是当时Python的主要贡献者。Eric Raymond是创立成员之一。我以后会再写这一段历史。