ソースコードの配布とGNU GPL

GNU GPLとは、プログラムの(0)実行、(1)解析と変更、(2)再配布、(3)改変バージョンの配布という、基本的な4つの自由をすべてのユーザに与えることをその目的としている。このうち1番目と3番目の自由については、ソースコードを入手できることが必須である。実際私たちがGNU GPLを制定した際には、再配布者に対し、ユーザによるソースコードへのアクセスを可能にすることを要件として定めておいた。この要件は、多少の余分な作業を求めることにはなるが、ユーザの自由を擁護するためには本質的に必要なものである。必要なソースコード一式をユーザがアクセスできる体制を確保しておくことは、配布者に余分な負荷をかけないよう配慮することよりも重要なはずだ。

GPLバージョン2では、ネットワークサーバを介してバイナリをリリースする配布者に対して、対応するソースコードを同じ方式でリリースする義務が定められている。ユーザが正しいソースコードを入手できることを保証するには、こうした要件を定めておくことが唯一可能な方式である。

この要件を満たす最も簡単な方法は、両者のデータを同一のサーバで配布できるようにしておくことだ。確かにこれを実行するには多少の手間は要するが、それほど大きなものではないだろう。この場合配布者に負担してもらうのは、バイナリにあわせてソースコードを格納しておくのに必要な追加のサーバスペースとアップロード作業に伴う手間である。実際上の問題として、こうした操作をバイナリに関して行っている人間であれば、ソースコードについて同じ作業をするのは、特に問題ないはずだ。

CDを媒体としてバイナリを配布する配布者については、該当するソースコードの配布方式として、バイナリ用CDにあわせてソース用CDを同時に配布するか、後日における電子メールでの問い合わせ時にソース用CDを配布するかの、2つのオプションが用意されている。後者の方式は、製品組み込み式のフリーソフトウェアを想定したものであり、大部分のユーザにとっては前者の方式での配布が行われているはずである。またGNU/Linuxの配布者で、後者の方式では負担が大きすぎると判断した場合は、前者の方式で配布を行えばよい。

GPLバージョン3(現状は草案段階)でも、こうした要件は基本的に変更はされていない。物理媒体を用いて配布するバイナリに関しては物理媒体にソースコードを収録する必要がある点が明確化されてはいるが、これに伴う実質的な変更は特にないはずである。

これらの要件に関する実質的な変更としては、現行の草案において、2つの細かな改訂が提案されている。1つ目の変更は、製品組み込み式でのソフトウェア販売を行う者に対し、該当製品に関するカスタマサポートが何らかの形で提供される限り、メールオーダ方式でのソースコードの提供を継続することの義務化である。ただしGNU/Linuxの配布者は、これによる影響を受けない。2つ目の変更は、配布者に対して、メールオーダ方式でのソースコード配布についてより高額な費用を課金する権利を与えることである(なおこの変更については、既に取り消しが決定している)。

こうした動きのある一方で、この方針に関しては大規模な変更を施すことが検討されてもいる。GPLバージョン3の次回の草案では、新たな配布方式として、物理媒体によるバイナリ配布時にネットワーク経由でのソースコード配布を許可する方式が初めて提案されるはずである。その際には、該当バージョンのソースコードはネットワークサーバ上で3年間公開しておくことが義務化されることになるだろう。

私は過去にこの方式を拒否したことがあるが、その理由は、バイナリ用CDに該当するソースコードをダウンロードするのはほとんどのユーザにとって耐え難い負担になると判断したからである。今になって意見を翻したのは、状況が変わったからに他ならない。特別に大きな障害が確認されない限り、この方式はGPLバージョン3で正式に取り込まれることになるだろう。

Copyright 2006 Richard Stallman
Verbatim copying and distribution of this entire article are permitted without royalty provided this notice and the copyright notice are preserved.

NewsForge.com 原文