2009年4月26日日曜日

Guido自伝 - 第二部, CNRI以降

原文:http://python-history.blogspot.com/2009/01/personal-history-part-2-cnri-and-beyond.html
原文投稿者:Guido van Rossum

前回投稿したときに触れたPythonワークショップの後に、CNRI(the Corporation for National Research Initiatives)のモバイルエージェントに関する仕事をしないか、というオファーが来た。CNRIはヴァージニア州のレストンにある非営利の研究ラボである。私は1995年4月にそこに参加した。CNRIのディレクターのBob Kahn氏は初めて、PythonとLispの共通点がどれぐらいあるか、という点について私に指摘をした。もちろん、PythonとLISPは外見の文法上はまったく異なるが。CNRIにおけるPythonの仕事は、DARPAが資金を提供するモバイルエージェントの研究からの間接的な資金援助を受けることとなった。DARPAはPythonを使用したプロジェクトをいくつもサポートしてくれたが、Pythonそのものの開発に対する直接のサポートはそれほどなかった。

CNRIでは、私はピュアPythonで書かれたモバイルエージェントシステムの構築を行う小さな開発者のチームの責任者をまかされ、メンバー集めも行った。最初のチームメンバーであるRoger Masse氏とBarry Warsaw氏はNISTでのPythonワークショップでPythonのバグに文句を言っていたメンバーである。それに加え、PythonコミュニティのメンバーであるKen Manheimer氏、Fred Drake氏も雇い入れた。MITの卒業生で、もともとテキスト検索の業務のために雇用されていたJeremy Hylton氏もチームに加わった。発足時はTed Strollo氏がチームを率いた。後にAl Vezza氏に変わった。

このチームは、私が追加のPythonコミュニティのインフラを作ったり、維持したりするのを助けてくれた。おかげでpython.orgのウェブサイトやCVSサーバ、そしてさまざまなPythonのSIG(特定のテーマを扱うグループ)などを作ることができた。Pythonのバージョン1.3から1.6まではCNRIからリリースされた。Python 1.5.2というバージョンは長い間、もっとも人気があり安定したバージョンであった。

GNU mailmanもここで誕生した。私は当初、Perlで書かれたMajordomoと呼ばれるツールを使用していたが、Ken ManheimerがMajordomoのメンテナンスができないということに気づいてPythonを使った解決策を探した。彼はJohn Viega氏が書いたシステムを見つけてメンテナンスを引き継いだ。Ken氏がCNRIを離れDigital Creationsに移った後は、Barry Warsaw氏が引き継いだ。最終的にはフリーソフトウェア財団がこれを評価してくれて、公式のメーリングリストツールとして採用されることになった。そのため、Barry氏はこれのライセンスをGPL(GNUパブリックライセンス)にした。

Pythonワークショップは最初は年に2回というペースで続いていたが、規模が拡大したり、移動が大変であるという理由から、すぐに年に一度のイベントになった。最初はイベントを開催したいと思った組織が運営を行ってきた。例えばNIST(初回), USGS(2回目、3回目)、LLNL(年に一度になった4回目)などの組織が運営を行った。最終的にはCNRIが組織を引き継ぎ、後には(WWW&IETFカンファレンスとともに)商業的にイベントを行うFortecとしてスピンオフすることになった。参加者はすぐに数100人にふくれあがった。私がCNRIを去ってFortecがイベントに関与しなくなった後は、オライリー主催のオープンソースカンファレンス(OSCON)と同時開催という形で、国際Pythonカンファレンスが開催された。しかし、同時に、Pythonソフトウェア財団(後で説明する)はPyConという新しい草の根のカンファレンスを開始した。

私たちは最初のPythonの(ゆるい)組織をCNRIの中に作った。Mike McLay氏とPaul Everitt氏は「Python財団」を作ろうと努力したが、計画は流砂に飲み込まれるかのように中断してしまった。Bob Kahn氏は「Pythonソフトウェアアクティビティ」を作ろうと持ちかけてきたが、これは法律上の独立性には問題があったが、CNRIの法律の傘下での(非営利の)活動をシンプルにしたようなものだった。PythonソフトウェアアクティビティはPythonユーザがコミットする大きなグループを集めるのには成功したが、独立性が欠けていたために、活動が制限されてしまっていた。

CNRIはJPythonの開発の資金面でのサポートのために、DARPAの協力を得た。JPythonは後にJythonと名前が縮められた。JPythonはJavaで書かれたJavaのためのPython実装であり、当初はMITの卒業制作の一環として、Jim Hugunin氏が開発していた。彼はこの仕事を完成させるために雇って欲しいというのをCNRIを納得させた。私の休暇中のできごとなので、もしかしたら逆にCNRIがJim氏に対して参加するように説得したのかもしれないし、明確なことは分からない。2年後にJim氏がXeroxのPARCで行われているAspectJプロジェクトに参加するためにCNRIを離れると、Barry Warsaw氏がJPythonの開発を引き継いだ。これからしばらく後の話になるが、Jim氏はPythonをMicrosoftの.NETに移植したIronPythonの実装も行った。また数値計算モジュールのNumeric Pythonの最初のバージョンも作成した。

Pythonを使用する他のプロジェクトも、CNRIでいくつか開始された。このプロジェクトの参加者の中から何人かの新しいPythonのコア開発者が現れた。特に、MEMS Exchangeプロジェクトで働いていたAndrew Kuchling, Neil Schemenauer, Greg Wardの3名である。Andrew氏はCNRIに参加する前からPythonに貢献をしていた。彼が最初に行った大きなプロジェクトはサードパーティのライブラリのPythonの暗号化ツールキットである。これは数多くの基本的な暗号化アルゴリズムをPythonユーザに提供するものである。

Pythonの成功の原動力となったのは、CNRIが、DARPAのような研究の補助金のような形ではなく、Pythonの開発を支援するというモデルを作ろうとしたことである。私たちはXコンソーシアムにならい、Pythonコンソーシアムを作り、最低参加費用として20,000ドルという金額を設定した。しかし、ヒューレットパッカード社の1法人以外の協力を得ることができず、コンソーシアムの構想は頓挫してしまった。次の開発基金の供給元として候補にあがったのが、DARPAの援助を受けていたプログラミング教育プロジェクトであるCP4E(Computer Programming For Everybody)だった。しかし、この基金もチームのすべてをまかなうには不十分であった。何年もの期間にわたって費用負担をまかなえる年配者(卒業生?)のネットワークがあるということがわかった。それは私が援助を受けられるものではなかったため、私は他の選択肢を探し始めた。

ドットコムバブルがはじけた(まだ完全にはじけたわけではなかったが)2000年ごろ、私とCNRIのPythonチームのうちの3人(Barry Warsaw氏, Jeremy Hylton氏, Fred Drake氏)はBeOpen.com社に移籍することを了承した。この組織はオープンソース開発者を雇用していたカリフォルニアのベンチャー企業であった。PythonコミュニティのキーメンバーのTim Peters氏も私たちに合流した。

BeOpen.comへの移籍にともなって予想されたことは、Pythonの将来の所有権をどうするのかが難しくなったということである。CNRIはライセンスを変更し、私たちに新しいライセンスの元でPython 1.6をリリースするように要求してきた。私がCWIにいた頃に使用してきたライセンスは、MITライセンスであった。CNRIでリリースされた時に使用したライセンスは、このライセンスに「CNRIは責任を放棄する」という一文を追加しただけの、基本的に同じライセンスであった。しかし、1.6のライセンスはCNRIの弁護士が「弁護士語」で作成した長ったらしいものになってしまった。

我々はフリーソフトウェア財団のRichard Stallman氏とEben Moglen氏とともに、この新しいライセンスについて何度も長い議論を行った。彼らは、そのライセンスがGPLと互換性がなく、すでにFSFには欠かせないツールになっていたmailmanが使用できなくなってしまうことに危機感を覚えた。Eric Raymond氏の協力も得て、CNRIのPythonのライセンスはFSF, CNRIの双方を満足させられるものに変更された。結果としてできたものは理解するのが難しくなってしまったが、私の口から良くなったと唯一言えることは、オープンソース・イニシアティブから正当なオープンソースライセンスであるというお墨付きをもらえたことである。その後は問題なく所有権の変更が2度行われた。最初はBeOpen.comで、その後はPythonソフトウェア財団である。しかし、実際にはCNRIの弁護士の立ち会いの下で行われた。

このような立ち上げの苦労も数多くあり、BeOpen.comのビジネス計画は派手に失敗してしまった。多くの負債を抱え、いくつかの役員の疑わしい行動もあり、私のチーム以外の何人もの開発者を失望させることとなった。

私のチームは幸運なことに、PythonLabsとして名前が知れ渡っていたために、強い引き合いがあった。Pythonをビジネスとして最初に使用した会社の一つであるDigital Creations社にチームごと雇われることとなった。Ken Manheimer氏は私たちよりも何年も前からここで働いていた。Digital Creations社はすぐに、自社の主なオープンソース製品のZopeにあわせて、Zope Corporationと名前を変更した。Zopeはウェブのコンテンツ管理システムである。Zopeの創始者のPaul Everitt氏とRob Page氏はNISTで行った最初のPythonワークショップの参加者であり、Jim Fulton氏がCTOをしていた。

Digital Creations社以外には、VA Linux社とActiveState社からもオファーを受けいていて、選択次第ではPythonの歴史は大きく違ったものになっていただろう。VA Linux社は株式市場の新星であったが、一時的にEric Raymond氏を書類上だけ大金持ちにした後は、最終的には株価は劇的に下がることとなった。振り返ってみると、創始者のDick Hardt氏が議論好きということを抜きにすれば、ActiveState社も悪い選択肢ではなかったかもしれないと思う。会社の場所がカナダでなければ、という前提の上であるが。

2001年に非営利組織のPythonソフトウェア財団を創設した。初期の構成メンバーは、その時点でPythonに貢献していた主な開発者たちである。Eric Raymond氏はその組織の出資者の一人である。この時期のことに関しては、また別の機会に書かなければならないと思っている。

0 件のコメント:

コメントを投稿