Python之父:我與Python(CNRI及其它)

本系列文章譯自Python之父 Guido van Rossum 的系列博客“The History of Python”。這個博客系列對我們理解Python及其演變很有幫助,經Guido同意,在這裏翻譯推薦給大家,希望大家喜歡,也請大家多多指教!

上一篇:Python之父:我與Python(CWI部分)


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 版本就是在這期間發佈的,在許多年裏,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,這個第三方包實現了很多基礎的加密算法)


找錢開發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 也是創始成員之一。關於這段時期的故事,我想之後還會爲大家介紹。


個人公衆號:讀書錄

相關文章