GPLメモ

配布とソースコード

  • GPLの派生物を渡した相手が希望するなら、ソースコードを渡さなければならない。
    • 不特定多数にソースを公開する義務はない。
    • AさんがBさんにGPLのソースから作ったバイナリを渡すとき、Bさんに要求されたらソースも渡さなければならない。
    • BさんがAさんから受け取ったバイナリを100人に売ったとき、その100人に要求されたらソースも渡さなければならない。
    • 顧客の100人がバイナリを購入せず、BさんやAさんにソースを要求しても渡す必要はない。
    • オープンソースで行こう!: 第2回 オープンソースライセンス事情を俯瞰する
      • 「特にGPLのソフトウェアをビジネス用途などで第三者に販売・提供する場合、その第三者からソースコードの開示要求があればそれに応じなければなりません」
  • ソースを渡した相手に、再配布を許可しなければならない。
    • 渡された相手が「再配布しなければならない」わけではない。
  • GPLのプログラムを修正し、サーバで動かして不特定多数にアクセスさせても、ソースを公開する必要はない。
    • オープンソースとGPL,ASP 著作権契約書の駒沢公園行政書士事務所
      • 「ヴァージョン3(2007年)では、「コンピュータネットワーク上での単なるやりとりであって複製物の伝送を伴わない場合は、コンベイに当たらない。」と明文化されASPサービスが配布にあたらないことが明らかとなりました。」
    • ASPを想定したGPLの拡張 - SourceForge.JP Magazine : オープンソースの話題満載 ASPも公開を義務づけるHPL(Honest Public License)

何が派生物か

  • GPLのプログラムを実行時に動的に「リンク」したら、派生物。
  • execã‚„forkで別プロセスでGPLのプログラムを実行する場合は、GPLでなくてもよい。
    • ただし、GPLのプログラムと複雑な内部データを交換したりすると結合していると見なされる可能性がある。
    • http://www.gnu.org/licenses/gpl-faq.ja.html#MereAggregation
      • 「究極的には裁判官が決めること」→ 2つのプログラムが別々か一体かを厳密に決めるルールはない。
      • 「メカニズム」と「セマンティクス」という2つの基準による。
        • メカニズム:「パイプやソケット、コマンドライン引数」でコミュニケート → 2つの分離したプログラム。
        • セマンティクス:「複雑な内部データ構造を交換」してコミュニケート → 1つに結合したプログラム。
  • JavaでGPLのjarファイルを利用したら、本体もGPL。
  • FlashでGPLのActionScriptを利用したら、本体もGPL。
    • swfをウェブに載せるのはバイナリの配布なので、ソースも公開する必要がある。
    • saqoosha/FLARToolKit - Spark project
      • 「GPL を選択された場合、商用・非商用を問わず無料で使用可能です。ただしソフトウェアのバイナリ (SWF ファイル、AIR アプリ等) を第三者に公開するのであれば、そのソフトウェアを構成するすべてのソースファイルを GPL ライセンスで公開しなければなりません。FLARToolKit 移植元の ARToolKit が GPL で配布されているため、FLARToolKit も必然的に GPL での配布となります。」
  • WordPressのテーマを作成した場合、PHP部分はGPLでなければならない。画像やCSSはGPLでなくてよい。
  • インタプリタ自体がGPLでもプログラムはGPLでなくてよいが、インタープリタ言語でGPLのライブラリを使ったらGPLでなければならない。

GPLv3

プロパゲートとコンベイ。

  • プロパゲート(propagate) 著作権利者に断りなくしてはダメな行為。
  • コンベイ(convey) プロパゲートのうちの配布の部分。複製したり、複製物をネットに置いたりすること。

プロパゲートに該当しない場合はGPLv3が定める義務は生じない。プロパゲートには以下は含まない。

  • コンピュータ上で実行すること。
  • 内部的(個人や組織内)な改変。

SFLCによれば、ここでいう「内部的」(private) とは、家庭内での個人的な行為だけでなく、企業内、企業グループ内、あるいは公共団体 等の組織内での行為も含む。

したがって、企業が対象著作物を入手(受領)して、それをそのままあるいは改変して 自社内で使用する行為は、それがインターネット上でサービスを提供するようなシステム であっても、対象著作物を利用者がダウンロードできるようになっていなければ、プロパゲートに該当せず、GPLv3の定める各種の義務を負うことなく対象著作物を使用することができることになる。

また、SFLCによれば、同一企業グループ間での行為も「内部的」とみなされる。例えば、 グループ内のシステム開発子会社がGPLv3プログラムを改変したソフトウェアを開発し、 それを親会社やグループ内の他の企業に配付して、グループ企業が使用するような場合も、
「内部的」な改変に当たり、プロパゲートに該当しない。政府の複数の省庁間でのプログラムの授受も同様に「内部的」な行為であり、プロパゲートに該当しない。

これに対して、「プロパゲート」に該当する行為を行う者は、GPLv3に定める条件を遵守すべき義務を負うこととなる(第9条)。

(GNU GPLv3 逐条解説書 第1版 p.27)

日本の著作権法では、プログラムに関してプロパゲートとコンベイは一致する。(GNU GPLv3 逐条解説書 第1版 p.30)