ガイド · 01

コピーレフトとは何か

コピーレフトの意味と仕組み、強いコピーレフト(GPL)と弱いコピーレフト(LGPL・MPL・EPL)、ネットワークコピーレフト(AGPL)の違い、義務が生じるタイミングとよくある誤解を説明します。

最終確認: 2026-09-23

著作権を利用して自由を守る方法

コピーレフト(copyleft)は、著作権(copyright)をもじった言葉です。1980年代にリチャード・ストールマンとフリーソフトウェア財団(FSF)が GNU プロジェクトのために作った概念で、著作権法を利用してソフトウェアの自由が失われないようにする仕組みです。著作権者は誰にでも使用・改変・配布を許可しますが、一つだけ条件を付けます。「このコードを基に作ったものを配布するときは、受け取る人にも同じ自由を与えなければならない。」

寛容型ライセンス(MIT・BSD・Apache)にはこの条件がありません。そのため、誰かが寛容型のコードを改変して非公開の製品として販売しても構いません。コピーレフトはこうした流れを防ぎ、改良されたバージョンも公開された状態のまま残るようにします。この性質から、コピーレフトライセンスは「互恵的(reciprocal)ライセンス」とも呼ばれます。

義務は「配布」するときに生じる

コピーレフトの条件は、コードを他人に渡すときに発動します。GPL-3.0 はこれを「convey(伝達)」と呼びます。

範囲による3つの系統

強いコピーレフト

GPL-2.0GPL-3.0 が代表です。GPL のコードと結合して一つのプログラムとして配布する全体が、GPL の条件に従わなければなりません。静的リンクでも動的リンクでも、一つのプログラムを成すなら結合とみなすのが FSF の立場です。

弱いコピーレフト

義務の範囲を狭めたライセンスです。

ネットワークコピーレフト

AGPL-3.0 は、改変したプログラムをネットワーク経由で提供するだけで、利用者にソースを提供する義務を課します。ウェブサービスの時代に GPL の空白を埋めるために作られました。

ライセンス公開の範囲サーバー運用のみの場合
GPL-2.0 / GPL-3.0結合したプログラム全体義務なし
LGPL-2.1 / LGPL-3.0ライブラリとその改変部分義務なし
MPL-2.0改変した MPL ファイル義務なし
EPL-2.0EPL のコードと改変部分(モジュール)義務なし
AGPL-3.0結合したプログラム全体改変版ならソース提供

よくある誤解

コピーレフトを選ぶかを判断するための質問

  1. 自分のコードを改変した結果が、非公開の製品に入っても構わないか?
  2. ライブラリとして広く採用されることと、改良が還元されることのどちらが重要か?
  3. 主な利用形態はインストール型か、サーバーで動くサービスか?

3つの質問への答えに応じて、選択ウィザードが候補を絞り込みます。より詳しい比較は寛容型 vs コピーレフトにあります。

この記事は一般的な情報であり、法的助言ではありません。重要な決定は専門家にご相談ください。

参考資料