GNU GPLの誕生
GPL1の登場
GPL1が登場したのは1989年2月のことである。前回も述べたように、Emacs GPLなどGNU GPLに先立つ諸ライセンスはStallman本人が書いたと思しく、法律 文書としては素人臭さの抜けきらない部分が散見された。ところが、このGPL1 からはコロンビア・ロースクールのEben Moglen教授(当時は助教 授)を始めとする法曹家の助力が得られたため、契約書としての体裁がより洗練され たものとなっている。
ちなみに、Moglen教授は現在もコロンビアで法学を教える傍らFSFの最高顧 問を務めているが、大学を出てしばらくはIBMのエンジニアとしてコンパイラ を書いていたという変わり種だ。法律に加えてソフトウェア開発の現場をも知 悉しているという点で貴重な人材と言えよう。余談ながら、(Moglen教授の場合は逆 だが)法律という「言葉」を話すことができる技術者、あるいは官僚や法曹界 といったいわば制度を「作る」側と互角に対峙できるだけの法律リテラシーを 持った在野の人材の存在が、今後のオープンソースの発展には不可欠になると 筆者は考えている。この点に関してはまた場を改めて書くことにしたい。
GPL1の特徴
前回の繰り返しになるが、体裁はさておき、GPL1は、Emacs GPLなどGNU GPLに先立つ諸ライセンスとは発想のレベルで根本的に異なる。GPL1以前のラ イセンスは適用対象のソフトウェア(たとえばEmacs GPLならGPL)を常に念 頭に置いて書かれていたのに対し、GNU GPLは初めからGNU プロジェクトの外 部の人による適用を意識して「設計」されているからである。
これが意図的なものであったことは、当時出ていたGNUの機関誌「GNU’s Bulletin」を読めばすぐ分かる。GPL1発表直前の1989年1月に出たvol.1 no.6には、
To make it easier to copyleft programs, we have been improving on the legalbol architecture of the General Public License to produce a new version that serves as a general-purpose subroutine: it can apply to any program without modification, no matter who is publishing it. All that’s needed is a brief notice in the program itself, to say that the General Public License applies. Directions on doing this accompany the General Public License, so you can easily copyleft your programs.
訳: プログラムにコピーレフトを主張するのをより簡単 にするために、私たちはGeneral Public License(訳注: これがいわゆるGNU GPLでないことに注意)の法的構成に改良を加え、汎用のサブルーチンとして機 能する新しいバージョンを用意しました。この新バージョンは、ライセンス自 体に変更を加えることなく、誰が書いたどんなプログラムにも適用することが できます。必要なのはプログラム自身に、General Public Licenseが適用され ているという短い告示をつけることだけです。適用の仕方はGeneral Public Licenseに書かれていますから、それを読めばあなたのプログラムに簡単にコ ピーレフトを主張することができます。
また、GPL1発表直後の1989年6月に出たvol.1 no.7には以下のような一節がある。
Recently the Foundation made a dramatic change in the General Public License. The terms for copying remain unchanged, but the structure of the license is different, and it is now easier to copyleft programs. The License is now essentially a subroutine, and programs need only state that the General Public License applies to them.
訳: 最近フリーソフトウェア財団はGeneral Public Licenseに大きな変更を 加えました。複製に関する諸条項は変更されていませんが、ライセンスの構造 は異なっており、プログラムにコピーレフトを主張することがより簡単になっ ています。今回の変更によってライセンスは本質的にサブルーチンとなり、プ ログラムからはGeneral Public Licenseがそれに適用されるということを述べ ればいいだけになりました。
「サブルーチン」というのがやや時代を感じさせるが、ようするにライセ ンスに汎用性を持たせて適用しやすくしました、と言っているわけだ。すなわ ち、ライセンス本文から具体的なプログラム名とそのプログラムに特有な制限 を追い出し、抽象的な「Program」への制限という形で統一した上で、Programが何かは別途著作権者に定義させるという手順を踏んでいるのである。これにより、 ライセンス本文をいちいちいじらなくても自作プログラムに簡単にGPL1を適用 できるようになったわけだが、その副産物としてGNU GPLを(若干の注意が必要だ が)プログラム以外の著作物にも簡単に適用できるようになったということにも 注目したい。
GPLの仕掛け
GNU GPLには巧妙な「仕掛け」が凝らされていて、読めば読むほど唸らされ る部分が多い(逆に、後に出たLGPLやFDLなどは読めば読むほどアラが目立つ)。GNU GPLはやはり一世一代のマスターピースだと思う。どのあたりが良くできてい るのかはおいおい説明していくつもりだが、すでにGPL1の時点から存在し、特 に重要だと思われるのが「受諾みなし条項」だ。といっても、そんな名前がつ いているわけではなく、筆者が勝手にそう呼んでいるだけなのだが…。
この仕掛けは二つの部分からなっている。具体的には、GPL1の場合
4. You may not copy, modify, sublicense, distribute or transfer the Program except as expressly provided under this General Public License. Any attempt otherwise to copy, modify, sublicense, distribute or transfer the Program is void, and will automatically terminate your rights to use the Program under this License. However, parties who have received copies, or rights to use copies, from you under this General Public License will not have their licenses terminated so long as such parties remain in full compliance.
5. By copying, distributing or modifying the Program (or any work based on the Program) you indicate your acceptance of this license to do so, and all its terms and conditions.
という部分がそれに相当する。訳は省く(GPLの訳を見てください)が、まずそもそもこのライセン スで規定された条件に従わない限り、あなたは複製も頒布も何もできないんで す、条件を守らないなら、契約自体も打ち切りです、と一発かましておく。こ れ自体は複製権など著作権の行使であり、全く正当なものだ。
で、それでもなおプログラムやそこから派生した著作物 を複製、頒布、改変するのなら、あなたはこのライセンスを受諾し、そこに指 定された条件を呑んだとみなして良いですよね? という規定を置く。これが筆 者の言う「受諾みなし条項」である。ごく単純なロジックだが、実は大きな意 味がある。
通常、契約が成立するためには少なくとも受諾意思の明示が必要になるわ けで、それにはふつうライセンシーによる契約書面への署名等が必要となる。 しかし、ソフトウェアの頒布においていちいち署 名(とその送付)を求めていたら大変だ。そこで、このような条項を置けば、頒布に かかる取引コストを大幅に節約することができる。以前も述べたが、フリーソフトウェ ア(あるいはオープンソース)では頒布のコスト(金銭的なものに限らない)を下 げることが普及という観点から極めて重要なので、この条項の恩恵は計り知れ ない。
現在ではこれに似たものとしていわゆる「シュリンクラップ」(例えば製品 の包装を破ったら使用許諾を受諾したと見なす)契約というのがあるが、時期 的にはおそらくGNU GPLのほうが早いのではないかと思う。また、シュリンク ラップに関しては依然として法的な有効性はそれほどはっきりしていない(い くつか判例は出ているようだ)が、包装を破くだけならうっかりやってしまう ということもあろうが、頒布や改変は明らかに意図的な行為なので、もし裁判 になった際も原告側は相当有利な立場に立てるだろう。
まとめ
以上、GPL1の特徴についていろいろ見てきたが、明らかにEmacs GPLなどの レベルではなく、むしろ発想としてはソフトウェアのプログラミングに極めて近い、いわば「ハック」の一種と見なしても良いと思う。 GNU GPLをウイルス呼ばわりする人がいるが、実際GNU GPLにはGPL自身を普及 させるための様々な細工がほどこされているし、構成的にも実によく考えられ ていて驚かされることばかりだ。また、汎用性を高めるため変に細かい条項は含まれていな いので、結果として内容がなかなか古くならないのも特筆すべき点だろう。
さて、次回はいよいよGPL1と比較した現行のGPL2の特徴とその限界、GPL3への展望について考えてみることにしたい。