ちょっと硬派なコンピュータフリークのBlogです。

カスタム検索

2010-09-22

GPLは感染するか否か

前回のエントリにおいて、GPLに対するFUDについて触れたところ、
というコメントを頂いてしまった。ちょッ、代表ッ!!と言いたいところであるが、これは視点を変えると現在はGPLに対するFUDが成功してしまっている状況なので変えなくてはマズイという認識に至った。@tmtms氏ほどの人物をして、「GPLが感染するというのはFUDでない」と思ってしまっているのだから。しかもごく自然に。

GPLは自ら広がることはない

「感染」という言葉から受け取る印象はいったいどのようなものであろうか。恐らく多くの人は病原菌やウィルスのようなものが勝手に人体に入り込んで諸症状が生じた状況を思い浮かべるだろう。コンピュータに当てはめると、コンピュータウィルスに「感染」してしまった状況をまっさきに思い浮かべるのではないだろうか。そして多くの人は「それは大変な状況だ」と考えるはずである。

そういう意味では、GPLが感染するということはあり得ない。ソフトウェアライセンスがコンピュータウィルスのように感染するには、最低でもソフトウェアライセンスがコンピュータによって実行できる形式でなければならないだろう。だが、実行可能形式のソフトウェアライセンスが存在するということは、未だかつて聞いたことも見たこともない。(あんまりこの点を主張すると、クワインを使って実行可能形式のライセンスを書いてしまう人が現れそうなのでこのぐらいにしておく。)

何が言いたいのかというと、ソフトウェアライセンスは自らの意志で他のソフトウェアに混入(感染)してしまうのではなく、ソフトウェアライセンスを適用するのはあくまでもソースコードを利用(使用ではなく利用。前回のエントリ参照!)する人の意志なのである。俺個人はGPLが大好きであるが、人の好みや事情はそれぞれあるだろう。GPLが嫌なら利用しなければいいだけなのである。そうすれば、GPLが勝手に向こうから近づいて来ることはない。決して。

GPLソフトウェアをインストールするとすべてのソフトウェアがGPLになるか?

余談になってしまうが、GPLに対するもうひとつの代表的なFUDとして、「GPLなソフトウェアをインストールすると、そのコンピューターにインストールされているすべてのソフトウェアをGPLにしなければならない。だからGPLソフトウェアをインストールするな!」というものがある。本ブログでは繰り返し主張してきているので、読者の多くはこれが大きな誤りだということをご理解頂いているかと思う。

GPLを適用する必要があるのは、あくまでもソフトウェアを頒布するときだけであって、インストールや実行においては如何なる制限も生じない。つまるところ、ソフトウェア開発者以外にはGPLを適用するかどうかという話は、あまり関係ないのである。

なぜGPLソフトウェアが混入してしまうか

少し前に、「USB版Windows 7」作成ツールにGPLコード Microsoftが謝罪(ITMedia)というニュースがあった。マイクロソフト社がリリースしたツールにGPLソフトウェア由来のソースコードが含まれており、そのツールのライセンスをGPLに変更することになったというものだ。GPLなソースコードは自らの意志で混入してしまったのだろうか?

否!!あくまでも開発者がGPLソフトウェアのソースコードを引用した、すなわち人為的な行為なのである。

一般に広く公開されているGPLソフトウェアは、そのソースコードへアクセスすることが出来る。ただし、そのソースコードを引用したり、ライブラリをリンクするなどの形で二次利用する場合には、GPLライセンスに従わなければならない。ライセンスに従わないということは、無断でソースコードを流用していることになり、それは単なる盗用であると言える。当たり前のことであるが、他者の著作物を利用する場合には、そのライセンスについて事前にしっかり確認するべきなのである。それを怠ってGPLのソースコードが混入してしまうのは利用者側のミスであるはずだ。

件の「USB版Windows 7」作成ツールは、ニュースによれば外部の業者に開発を委託したものであり、GPLのソースコードを混入したのは業者の仕業なのである。発注者側のマイクロソフトにとってはえらい迷惑な話であるとは思うが、それをGPLのせいにしてはいけない。この件で過ちを犯したのは、委託された業者なのである。ソフトウェアのソースコードが利用可能なのはライセンスに従う限りであって、ライセンスに従わない引用は盗用と同じなのである。

じゃあGPLを適用することは何と言えばいいのか?

感染、汚染、伝播・・・もろもろの表現があるが、すべて違う。ライセンスが勝手に自分で広がることはあり得ない。クワインで実行可能でしかも脆弱性をつく機能を持ったライセンス(というか、それは単なるウィルスないしはワームだ!)があれば、勝手に広がるかも知れないが、ライセンスが自らの意志をもって広がるはずはない。ライセンス文書は通常、単なるテキストファイルなのだから。

ライセンスを適用する行為は、まさに「適用する」と言うべきなのだ。それ以上でもそれ以下でもない。

GPLソフトウェアをリンクして利用する場合、確かにライセンスの適用範囲が拡大することになる。そのことについては、コピーレフトというのが正しい。

プロプライエタリなベンダーがなすべきこと

確かに、委託業者や経験の浅いプログラマによって、GPLソフトウェアのソースコードが盗用され、GPLを適用しなければいけないケースは、プロプライエタリなソフトウェアベンダーにとって悩みの種であろう。そこでベンダーがなすべきことは、決してFUDを流して人々をけむに巻くことではない。人々が正常な判断を失った状況では決してこのようなケースはなくならないからだ。

むしろプロプライエタリなソフトウェアベンダーがなすべきことは真逆であり、自らオープンソースライセンスについて正しい認識を持ち、なおかつより多くの人々が正しい認識を持つようにオープンソースライセンスについて啓蒙すべきなのである。すべてのプログラマがソフトウェアライセンスについて正しい認識を持ち、「ライセンスに従わない引用は盗用と同じ」であることを理解すれば、GPLソフトウェア由来のソースコードが混入する事件はなくなるだろう。そのためにベンダーは努力するべきなのである。

個人的な感情で少し言わせてもらうと、ライセンスで食ってるんだからソフトウェアライセンスについてもっと勉強すべきじゃないかと思う。また、いくらプロプライエタリなプラットフォームばかり利用しているユーザーであっても、少しはフリーソフトウェアやオープンソースソフトウェアのお世話になったことがあるはずである。FirefoxしかりLinuxしかり。数え上げればキリがないだろう。ソフトウェア開発者たるもの、プロプライエタリ派オープンソース派を問わず、全員がライセンスについてもっと詳しくなるべきなのだ!!

ソフトウェアライセンスについて勉強したことがない人は、まずは黙って可知氏の著書を読むべし!!


GPLはユーザーの味方

最後にひとこと。

GPLは素晴らしいライセンスである。ユーザーがそのソフトウェアの実行するにあたって、最大限の自由を保証してくれるからである。ソースコードへのアクセスが保証されているというのは、そのソフトウェアがどのように実行されているかを知る上で必須の知識である。さらにGPLv3では、ユーザーの自由を奪うDRMさえも、解除可能にすることを保証している。

GPLが適用されたソフトウェアほど安心して使えるものはないのである。

0 コメント:

コメントを投稿