GNU GPL登場前夜

GNU GPLは無から突然湧いて出てきたわけではない。GNU GPLと名が付くライセンスが登場する以前の事情をまとめてみた。

「GNU GPLをめぐって」ということでいろいろ書いてみようと思う。とりあえずGNU GPLと名が付くライセンスが登場する以前の事情を一通り押さえておきたい。今となっては信じがたい、というほどのことでもないが、GNU GPLなどというものが存在しないのどかな時代もあったのだ。

GPLなきGNU

Richard M. Stallman率いるGNU プロジェクトと、彼が書いたGNU GPL(General Public License)とは切っても切れない関係だ。それだけに、プロジェクト発足当初からGNU GPLが存在していた、あるいはGNU GPLによってGNU プロジェクトの方向性が規定されたと思っている人もいるようだが、実はGNU プロジェクトが開始された1984年当時、「GNU GPL」と名が付くライセンスはまだ存在していなかった。GNU GPL Version 1が発表されたのは1989年2月のことだ。

では、その間の5年間、GNU Emacsを始めとする当時のGNU ソフトウェアにはどんなライセン
スが適用されていたかというと、GNU EmacsにはEmacs General Public License、BISONにはBISON General Public Licenseといった具合でソフトウェアごとに異なるライセンスが適用されていたのである。ちなみにBISON GPLとしてリンクしたのは現在のNethackのライセンスだが、これは作者やプログラムの名称をNethack関係に置き換えただけで、中身としてはかつてのBISON GPLそのものだ。

RMSのトラウマ

そもそも、Stallmanがライセンスにこだわるようになったのには理由があった。StallmanがEmacsのオリジナルバージョンを書いたのは1975年のことだが、1982年、James Gosling(そう、後にSunでJavaを設計したあのGoslingだ)がEmacsを全面的に書き直した(Gosling Emacs)。当初Goslingは、Stallmanや他の人々がGosling Emacsのソースを自由に利用することを認めており、また、Gosling自身も他の人々からのフィードバックの恩恵を十分に享受していたようだ(このあたりの事情はStallman自身のスウェーデンでの講演における回想が詳しい)。バザール・モデルの先駆けとでも言えようか。

今となっては信じがたい話だが、この時点ではStallman自身、ソースが無料で手に入れば、細かいことはどうでもいいと思っていたふしがある(このあたりは昔筆者が書いたコピーレフトとは何かを参照していただきたい)。そんなわけで、StallmanはGosling Emacsに改良を加えるとともに、喜んでGNU EmacsにGoslingのコードを取り込んだ(1985年にリリースされたEmacs 15.34)のだが、その後Goslingがとある企業にGosling Emacsの権利を売ってしまい、しかもその企業がGoslingのソースの自由な利用を拒否してきたため、Stallmanは問題の部分を一から書き直す羽目になった(そうしてリリースしたのがEmacs 16以降である)。この苦い経験から、口約束ではないきちんとした契約で、ソースが未来永劫誰でも自由に利用できるということを保証するという発想が生まれてきた。それがコピーレフトである。

コピーレフトの実装としてのライセンス

GNU GPLを始め、フリーソフトウェア財団が発表したライセンスの系譜は、そのままコピーレフトという発想をいかに著作権概念の範囲内で契約書として「実装」するかという実験の歴史でもあるわけだが、その最初期の結果の一つがEmacs GPLであり、BISON GPLであると言える。本稿では主にEmacs GPLを取り上げてみたい。

Emacs GPLはぱっと見た目の印象はかなり異なるとはいえ、語句や言い回しの面でもそこかしこに一致が認められ、明らかに現在のGNU GPLの原形と考えられる。内容的にも当然似ているが、ライセンスとしての性格は似ているようで実はかなり違うのではないかと筆者は思う。

一つは表現の問題だ。一読すれば分かるように、言い回しや用語を含めてEmacs GPLは契約書としてはどこか素人くさい空気を残している(法律の専門家ではないStallman自身がすべて自分で書いたためだろう)のだが、それに引き替えGNU GPLは法曹界の専門家数人の援助を得て書かれているため、少なくとも体裁としては法律文書としても遜色のない(逆に言えば、穏当な)書き方になっている。ようするに、ただの文書と法律文書の違いがある。

そのこともあってか、Emacs GPLからはStallmanの思想がかなりストレートな形で伝わってくるのに対し、GNU GPLからはより「醒めた」感じを受ける。こう言うと「GNU GPLは十分宗教臭い」という反論がありそうだが、よく読むとGNU GPLでああだこうだと思想めいたものが開陳されているのは、実は厳密にはライセンスの一部ではない(ただし削除は禁止されている)前文においてであって、ライセンス本文は非常にビジネスライクな通常の契約書の体裁を保っているのである。ライセンスで規定された条件はあくまでも頒布に際しての条件で、そこには何の思想性も込められていない。

言い方を変えれば、GNU GPLでは、StallmanあるいはFSFの理念やある種の思想的なもの(フリーソフトウェアの倫理といってもよいだろう)は前文でのみ提示されており、結局一応読まされることにはなるとはいえ、ライセンス本文では許可ないし禁止される行為とその条件が淡々と列挙されているだけなのである。結果として、ユーザはあくまでもその行為が束縛されるのであって、利用に際してその意図や思想が制限されるわけではないことが保証されている。

すなわち、ユーザはGNU GPLを適用するに当たって、Stallman個人の思想に全面的に共感したり理解する必要はない。ユーザに要求されるのは、あくまでGNU GPLに規定された条件を遵守してソフトウェアを利用することのみなのである。ようするに、いわゆる「法と道徳の分離」に近いものが徹底されているのだ。例えば、ウェブサイトを見ても分かるようにStallman自身は強固な反商業主義者(と言われると当人は怒るかもしれないが)だが、GNU GPLのライセンス本文では頒布に際しての手数料徴収を含め、商用利用も明確に認められている。ゆえに、たとえ個人としてのStallmanが眉をひそめようとも、GNU GPLの適用されたソフトウェアでじゃんじゃん金をもうけて(実現可能かどうかは知らない)一向にかまわないのだ(本人もそう言っている)。オープンソース陣営を指してStallmanは「オープンソースにはフリーソフトウェアの倫理的な側面が欠けている」と難詰することがあるが、そもそもGNU GPLを書いた時点で、Stallman自身が倫理と現実のバランスを巧みに調整しているのである。

実のところ、このようなライセンスのStallmanやFSFの思想からの独立性という性格は、Emacs GPLの段階でもすでに十分確立されているのだが、表現上の問題でEmacs GPLとGNU GPLでは違いがあるように見えてしまう。というのも、文章構成の違いとして、GNU GPLでは前文(Preamble)とライセンス本文は明確に分離されているのに対し、Emacs GPLでははっきり分かれていないため、Emacs GPLでは、Stallman個人の思想がライセンス本文と渾然一体となってよ
り前面に出ているような印象を受けてしまうのだ。このため、ライセンスが全体としてある種の思想表明として利用されているような感を受けやすい。ゆえに、Emacs GPLのままでは、GNU Emacsとその派生物以外の世界への広がりは期待できなかったのではないかと思われる。裏を返せば、GNU GPLはEmacs GPLよりさらにStallman個人の色が脱色され、StallmanやFSF以外の人でも適用しやすいものになっているのである。

Emacs GPLとGNU GPLの違いはまだある。Emacs GPLではGNU Emacsに適用されるライセンスであることが強調されている(「By contrast, our general public license is intended to
give everyone the right to share GNU Emacs.」)。Emacs GPLと言うくらいなので当たり前のように見えるかもしれないが、実はここが現在のGNU GPLとの決定的な差異なのだ。というのも、GNU GPLでは適用対象を「software」全般とし、特定のソフトウェアに(GNU ソフトウェア、あるいはそもそもソフトウェア全般にすら)限定していないからである。もちろんこのような「汎用」の契約書というのは、ライセンス文例集などというものも売っているくらいで世間ではそれほど珍しいものではないのだが、GNU GPLには、すでに述べたものも含め、FSF以外のソフトウェア作者も可能な限り簡単にGNU GPLを適用できるよう、実にさまざまな工夫(トリックと言ってしまってもよい)が凝らされている。すなわち、GNU GPLは、GNUオペレーティングシステムを構成するソフトウェア用のライセンスであると同時に、「この契約書(の表現するコピーレフトという思想)を普及させる」という明確な目的意識の下で、FSF以外の人による利用を明確に念頭に置いて様々な条項が設計されているのである。ここが、GNU GPLとEmacs GPLやその他の特定ソフトウェアを対象としたライセンスとの決定的な違いだ。言い方を変えれば、コピーレフトをてこにGNU Emacsという一ソフトウェアにとどまらず、すべてのソフトウェアをフリーにしようというStallmanの思想がGNU GPLではより強く反映されているのだが、Emacs GPLの段階ではまだそこまでは強く押し出されておらず、関心がGNU Emacsのみに留まっているとも言えよう。Emacs GPLではライセンサーとしてStallmanやFSFといった個人名・団体名が明記されているが、GNU GPLではより抽象的に指定しているのも、こういった「汎用性」獲得のための工夫の一環と考えられる。

むすび

これまで述べてきたように、Emacs GPLは現在のGNU GPLと比べると法的文書としての完成度はかなり劣るが、逆に言えばごてごてとした余計な言い回しやけれんのない、わかりやすい文章である。少なくともGNU GPLよりははるかに平易で短く読みやすい。GNU GPLは適用における汎用性を高めるためにさまざまな技巧を凝らしているので、むしろコピーレフトという概念そのものと、そこに込められたStallmanの思想を理解する(共感するのは難しいかもしれない)にはEmacs GPLはGNU GPLよりも優れているかもしれない。また、Emacs GPLとGNU GPLを比較し、どこがどう変わったのか検討することで、逆にGNU GPLの内部構造、とくに「なぜそうなっているのか」という理由がよりいっそう理解できる。今Emacs GPLやBISON GPLなどの初期ライセンスを読み直す価値は十分にあるのではないだろうか。

投稿者: mhatta

A rapidly-aging old-school geek in Japan.