第 2 章 逐条解説
8. 第 6 条(ソース形式以外でのコンベイ)第 1 〜 2 パラグラフ
8.2. 条文内容
8.2.1. 第1パラグラフ
GPLv3 プログラムをオブジェクトコード形式で配布することも可能である。
ただし、その場合、第 4条(改変のないソースコードの配布)および第 5 条(改変した ソースコードの配布)の条件に加えて、以下の 5 種類のいずれかの方法で対応ソースを配 布しなければならない。GPL についてはソースコードの公開義務がよく問題とされるが、
本条がその根拠となる条文である。
なお、対応ソースの定義については第 1 条第4 パラグラフを参照されたい。オブジェク トコードにシステムライブラリや汎用ツールなどが含まれている場合でも、それらのソー スコードを配付する必要はない。これらは、第1条第4パラグラフの規定により、対応ソー スに含まれないからである。
5 種のオブジェクトコード配布法と対応するソースコードの配布法
オブジェクトコードの配布方法 対応ソースの配布方法 対応する
GPLv2の
条項
a
・物理的製品(組込み機器)に組 み込む場合(組込みソフト)
・記録媒体(CD‐ROM 等)に格 納する場合
・オブジェクトコードと一緒に対応
ソースを配付すること 3a
b 同上
・オブジェクトコードの保有者から 請求があった場合に、請求者に対し 対応ソースを提供すること
・ただし、オブジェクトコードの配 付時に、対応ソースを請求し得る旨 を記載した書面を添付すること
3b
c
媒体を問わない
(非定常的にかつ非商業的な場合 のみ適用可能。かつ配布者は b の 形態で受領したこと)
bの書面による申し出のコピー 3c
d サーバからのダウンロード
サーバからのダウンロード(有償の 場合、オブジェクトコードの取得費 用を超えてはならない)
配布の定 義に暗黙 に含まれ る e P2Pの利用 どこにソースコードがあるかの情報
を P2P で伝える なし
‐ 68 ‐
a 項
オブジェクトコードの配付時に、対応ソースも一緒に提供すること。
本項は GPLv2 第3条第1パラグラフa項に相当する規定である。もっとも、GPLv2 が 策定された1991年当時はまだ情報家電のようなソフトウェアを内蔵した組込み機器は登場 していなかった。その後の環境変化に対応するために、組込み機器に GPLv3 の適用され るプログラムを(オブジェクトコードの配布を通して)使用する場合に関する規定が新設 された。
組込み機器においては、オブジェクトコードは機器内のROMに記録して配布されること が一般的である。そのため、対応ソースをオブジェクトコードと同一の手段で配布するこ とは要求されていない(これは GPLv2 でも同様)。この場合の対応ソースの配付は、一般 的に使用されている、耐久性のある物理的記録媒体を用いて行うべきこととされている。
耐久性が条件とされているのは、かつて紙テープやパンチカードが用いられていた時代 と異なり、現代においてはCD‐ROMのような耐久性のある記録媒体が安価で入手可能だか らである。
また、a項の媒体は、GPLv2 とは異なり、ʺphysical mediumʺすなわち物理的媒体とされ ているから、ネットワークによる配布(の申し出)は明示的に排除されるようになった。
ネットワークによる配付は、b 項で規定されている。
b 項
オブジェクトコードの配付時にはオブジェクトコードのみを提供し、対応ソースは、後 日オブジェクトコードの保有者からの請求に基づき提供すること。ただし、オブジェクト コードの配付時に、ソースコードを請求し得る旨を記載した申出書を添付すること。
a 項と同じく、組込み機器でのFOSSの使用も念頭においた規定であり、GPLv2第3条 第1パラグラフb項に相当する。
本項は、最低限 3 年間、請求に応じて対応ソースを提供することを要求している。この 点は、GPLv2と同じである。
本項はさらに、組込み機器の販売などによりオブジェクトコードを配布した者が、3年を 超えて組込み機器の補修用部品を提供したり、カスタマーサポートを提供する場合は、そ の期間中もソースコードの提供義務を負うことを定めている。
配付方法としては、①耐久性のある物理的な記録媒体に格納して提供する方法と②ネッ トワークからダウンロードする方法が認められている。
①の物理的記録媒体による提供の場合、対応ソースの提供に要する合理的な額の費用を 請求することも許される。合理的な額の費用とは、通常は、物理的記録媒体に対応ソース
‐ 69 ‐
を記録して請求者に送付するために要する実費相当額がこれに当たると考えられる。
②のネットワークを用いる方法は、GPLv2 ではソースコードの請求があった場合の対応 としては認められていなかったが、近時のネットワークの普及という環境変化を考慮して、
GPLv3で新たに採用された。
なお、対応ソースの提供を請求できるのは、オブジェクトコードの保有者すべてであり、
GPLv3を受諾した者(第9条参照)に限られるわけではない。すなわち、オブジェクトコー
ドを受領して家庭内でまたは組織内で内部的に使用しているにとどまり再配布していない 者も、対応ソースの提供を請求できる。オブジェクトコードを受領したことで、同時にソー スコードをも受領する権利が生じる、というのがGPLの考え方である。
オブジェクトコードを保有していない者がソースコードを請求した場合にそれに応ずる 義務があるかについては、GPLv2では不明確であったが(“Accompany it with a written offer to give any third party”)、GPLv3 では請求に応じる必要がないことが明確になった
(“accompanied by a written offer to give anyone who posseses the object code”)。これは、
「なんらかの形態でプログラムを保有する人は、それを改変し実行する権利も持つべきで ある」(逆に言えば、オブジェクトコードも持たない人にまでソースコードを提供すべき理 由はない)というコピーレフトの理念をより明確化したものといえる。
c 項
請求があった場合に対応ソースを提供することを記載した申出書の写しを添付して、オ ブジェクトコードの配付時にはオブジェクトコードのみを提供すること。
ただし、この方法は、b項に基づいてオブジェクトコードを受領した場合にのみ、しかも 非定常的かつ非商業的に(事業としてではなく)行う場合に限り認められる例外的な方法 である。
c項の申出書の写しのオリジナル(原本)は、b項に基づいてオブジェクトコードを配布 した者から受領した申出書であり、c項に基づいてオブジェクトコードを再配布する者は、
その申出書の写し(コピー)を添付することになる[49]。
GPLv2では「情報」(the information)を添付すればよいこととされていたのに比べ、要 件が厳格になっている。その理由は、GPLv3においては、b項に従ってオブジェクトコード のみを配付し、請求に応じてソースコードを提供する者は、オブジェクトコードの保有者 にのみその義務を果たせばよい[50]こととされたためである。言い換えると、GPLv3 では、
[49]
GPLv3の原文では、b項の「申出書」は”a written offer”であり、c項の「申出書の写 し」は”a copy of the written offer”である。c項の”written offer”の冠詞が”the”である ことから、c項の”written offer”がb項の”written offer”を指していることが分かる。
[50]もちろん、オブジェクトコードを保有していない第三者にも対応ソースを配布すること
‐ 70 ‐
b 項に従ってオブジェクトコードを配付した者は、オブジェクトコードを保有しない者に ソースコードを提供する義務は負わないが、オブジェクトコードの再配布を受領した者が 申出書のコピーを提示した場合(オブジェクトコードの再配布は禁止できない)、その受領 者に対してはソースコードを提供する義務がある。
b項とc項の方法は、組込み機器にGPLプログラムを使用する時[51]に、対応ソースの配布 に要するコストが削減できる(ように見える)こと、および極力ソフトウェアが拡く利用 されることを避けたいという考え(極端な話、b項に従って配布しその後だれからも対応ソー スの請求がなければ、結果として対応ソースは公開されないことになる)から採用される ことが多いと思われる。しかし、本節で述べたように、機器の販売開始後も比較的長期間 に渡って対応ソースの提供を可能にする体制を構築・維持する必要があるのでa 項を採用 することとの利害得失は慎重に検討する必要がある。
d 項
オブジェクトコードをサーバからダウンロードする方法で配布する場合において、対応 ソースも同様の方法で配付すること。
GPLv2では、この規定は第3条第1パラグラフのa〜c項には含まれておらず、第3パラ グラフに記載されている。しかし、サーバからのダウンロードが一般的になったために、
GPLv3ではd項として独立させたものである。
オブジェクトコードの配付は無償・有償いずれでもよいが、対応ソースの配付について 別途費用を課すことは許されない。b項の物理的記録媒体を用いた配付方法の場合に実費を 請求できるのと異なっていることに注意が必要である。サーバからの提供の場合、そのサ ーバの維持管理以外の特段の費用が発生しないことを考慮したものであろう。
また、オブジェクトコードとソースコードは必ずしも同一のサーバ上に置かれている必 要はない(サーバの運営者が違っていても構わない)。GPLv2では同一サーバに置くことが 必要と解されているから、これもGPLv2からの変更点である。複数サーバを使用している ケースが増えている実態に合わせたものと考えられる。
e 項
オブジェクトコードを P2P を用いて配布する場合、オブジェクトコードと対応ソースが
は、Xの自由である。また、Zが他の対応ソース保有者から第4条または第5条に基づい て対応ソースを入手することも可能である。
[51]
c 項の適用場面が非商業的な応用に限られるとはいえ、それがすなわち組込み機器への 応用がないということは意味しない。特に後述の「ユーザプロダクト」に当たるものが非 商業的に頒布される可能性を GPLv3 は一切排除していない。