GPLv3(GNU General Public License)とは?商用利用できる?GPLライセンスの概要と使用方法を分かりやすく解説

目次

GPLライセンスの概要と使用方法

GPL(GNU General Public License)は、フリーソフトウェア財団が提供するライセンスで、ソフトウェアの自由を保証しつつ、改変や再配布の条件を明確に定めています。

主なポイント

  1. 自由ソフトウェアの保護
    • プログラムの使用、改変、再配布が自由。
    • 改変版の配布もGPLライセンスを維持する必要がある(コピーレフト)。
  2. GPL適用の基本手順
    • 著作権の確認:
      • プログラムが個人の著作物である場合、雇用主や学校から著作権の否認(disclaimer)を取得する。
        プログラムが個人の著作物である場合でも、雇用主学校の規則や法律によって、その著作権が個人ではなく雇用主や学校に帰属するとみなされることがあります。このため、明確に著作権が個人に属していることを保証するために、雇用主や学校からの著作権否認(disclaimer)を取得することが推奨されます。
      • 著作権表示:
        • 著作権の年と名前をファイルに明記(例: Copyright 2023 John Doe)。
      • ライセンスファイルの同梱:
        • GPLのコピーをCOPYINGファイルとして含める。
        • LGPLの場合、COPYING.LESSERも追加。
      • ライセンスの告知:
        • ファイルの冒頭にライセンス条件を記載(例は公式ガイド参照)。
  3. GPLのバージョン
    • GPLv3: デジタル著作権管理(DRM)や特許問題に対応。
    • LGPL: ライブラリに特化したバージョンで、プロプライエタリソフトウェアでも利用可能。
    • AGPL: ネットワーク経由で利用する場合、ソースコード提供を義務化。
  4. その他の推奨事項
    • プログラム起動時に著作権やライセンスの告知を表示。
    • GPLファイルを改変・再配布する場合も、同様の条件を維持。

具体的な注意点

  • 著作権表示の正確性:
    • 作成年、著作権者名を正確に記載。
  • ソースコード提供:
    • プログラムをバイナリ形式で配布する場合、ソースコードを提供する方法を明示。
  • ライセンス告知の明確化:
    • READMEや各ソースファイルにライセンス適用を明記する。

公式リソース

GPLは、自由ソフトウェアコミュニティの基本を支えるライセンスであり、その適用はソフトウェアの利用者や開発者に自由を保証します。

推奨されるライセンス:

  • 通常、GNU一般公衆ライセンス(GNU GPL) バージョン3(GPLv3)以降を利用。
  • 場合により他のライセンス(例: GNU LGPL、GNU AGPL、GNU FDL)も利用。
  • GNUソフトウェアは、GNU GPLと互換性のあるライセンスでのみ公開。
引用元:https://www.gnu.org/licenses/quick-guide-gplv3.html

補足:
GPLv3を拡張してネットワーク経由のソフトウェア提供(ASPサービスやSaaSなど)にも適用範囲を拡張したライセンスとして、GNU Affero General Public License(AGPLv3) があります。
AGPLでは、ソフトウェアをネットワーク経由で利用者に提供する場合でも、ソースコードにアクセスできるようにする義務があります。
つまり、ソースやバイナリの配布を伴わないSaaS形式の提供であっても、ソースコード提供の対象となる点が特徴です。

GPLv2とGPLv3の違いについては、下記の記事で解説しています。

GNU GPLv3とは

GNU GPLv3は、フリーソフトウェアファウンデーション(FSF)が2007年に発表したライセンスで、フリーソフトウェアのユーザーと開発者の権利を保護し、ソフトウェアの共有と改変の自由を保証するための規定を提供します。

主な目的と特徴

  1. 自由の保証
    • ソフトウェアを自由に使用、共有、改変する権利を保護。
    • 改変版や派生物も同じライセンス条件を適用することで自由を維持(コピーレフト)。
  2. デジタル著作権管理(DRM)への対応
    • ソフトウェアの改変やインストールを制限するハードウェアや技術的手法(DRM)を禁止。
  3. 特許問題への対応
    • ソフトウェア特許による制約を防ぎ、特許の自由利用を保証。
  4. ソースコードの提供義務
    • ソフトウェア配布時には対応するソースコードの提供が義務付けられる。
  5. 柔軟な追加条件
    • 特定の条件を追加可能(例:著作者表示、商標権の制限)。

主なライセンス条項

条項 0: 定義

  • プログラム: GPLv3のもとでライセンスされる著作物。
  • 伝達(Conveying): 他者にコピーを提供する行為(ネットワーク越しの使用は含まない)。
  • 対応するソースコード: オブジェクトコード(実行可能形式)を生成、実行、改変するために必要なすべてのソースコード。

条項 1: 基本的な権利

  • プログラムを実行する無制限の権利を付与。
  • プログラムの伝達と改変にはライセンス条件の遵守が必要。

条項 2: ユーザーの権利の保護

  • 著作権管理技術(DRM)を使用して、GPLの条件を無効化する行為を禁止。

条項 4: 改変と配布

  • プログラムを改変し、配布する場合は次を満たす必要がある:
    • 改変箇所と日付を明記。
    • プログラム全体をGPLv3の条件でライセンス。
    • インタラクティブなプログラムの場合、適切な法的通知を表示。

条項 5: 非ソース形式の配布

  • オブジェクトコード(バイナリ形式)を配布する際には、次のいずれかを提供:
    • 対応するソースコード
    • ソースコードを提供する書面での申し出
    • ソースコードがダウンロード可能な場所へのリンク

条項 6: 権利の自動付与

  • プログラムの受信者は、自動的にGPLv3のもとで権利を付与される。

条項 7: 特許とライセンス

  • ソフトウェア特許がGPLv3の条件を制限しないようにする。
  • 特許ライセンスはすべての受信者に同等に適用。

条項 8: 地域的な制限

  • プログラムの配布が特定地域で特許または法律により制限される場合、その地域での配布を禁止可能。

条項 9: 新バージョン

  • GPLv3の新しいバージョンが公開された場合、プログラムに「またはそれ以降のバージョン」と記載されていれば、新しいバージョンに従う選択が可能。

条項 15–16: 免責と責任の制限

  • プログラムは無保証で提供され、著作権者や配布者は責任を負わない。

GPLv3 の特徴的なポイント

  • DRM対応: GPLv3では、デバイスがユーザーによる改変を制限することを禁止。
  • 特許問題の解決: GPLv3は、特許の使用をライセンス条件と矛盾しない形で行う必要があると規定。
  • 柔軟性の追加: 著作者表示や商標制限などの条件を追加可能。

使用例と適用方法

ソースコードへの記載の例

/* プログラム名と説明 */
Copyright (C) 2007 Your Name
This program is released under the GPLv3 license.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.

COPYING ファイルの添付
COPYING という名前のファイルにGNU GPLv3の全文を含めることが推奨されています。

公式情報と参考リンク

主要なGPL系のライセンス一覧

GNU General Public License(GPL)

自由ソフトウェアの基本理念を実現するライセンスで、強いコピーレフトを採用しています。

  1. [GPLv1 (1989年)]
    初版のGPL。ソースコード公開と自由な改変を保証するライセンスの基礎を確立しました。
    公式URL: https://www.gnu.org/licenses/old-licenses/gpl-1.0.html
  2. [GPLv2 (1991年)]
    広く使われているバージョン。特許権と配布条件の条項を強化。
    公式URL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
  3. [GPLv3 (2007年)]
    デジタル著作権管理(DRM)や特許問題に対応し、ネットワークを介してプログラムを利用者に提供する場合もライセンス条件が適用されることが強調されています。
    公式URL: https://www.gnu.org/licenses/gpl-3.0.html

GNU Lesser General Public License(LGPL)

ライブラリ向けのライセンスで、GPLよりも制約が緩やかです。

  1. [LGPLv2.1 (1999年)]
    プロプライエタリソフトウェアとのリンクを許可するライセンス。
    公式URL:
    https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html
  2. [LGPLv3 (2007年)]
    GPLv3を基に、ソフトウェアとライブラリの組み合わせに特化したバージョン。
    公式URL:
    https://www.gnu.org/licenses/lgpl-3.0.html
    https://opensource.org/license/LGPL-3.0

注意点

  • LGPLライブラリを利用した有料製品やSaaSを販売しても構いません。
  • ただし、「配布の有無」や「リンクの形態」に応じて、ソースコード提供義務や再リンク義務が発生します。
  • 利用のみ(SaaS/社内利用など)
    • これはGPLでも同様で、「配布しない限り」コピーレフト義務は発生しません。
    • ライブラリやアプリを外部に配布しない場合→ ソース提供義務はありません。
  • 動的リンク(Dynamic Linking)
    (例:.dll.so を呼び出す形でライブラリを利用)
    • 最も一般的で安全な商用利用形態。
    • LGPLでは、アプリ本体をクローズドソースにして配布可能。
      ただし、以下の義務があります:
      • LGPLライブラリを利用している旨を明記
      • LGPLライセンス文書を同梱
      • ユーザーが独自に改変版ライブラリに置き換え可能な構造にしておく(=再リンク可能)
  • 静的リンク(Static Linking)
    (例:ライブラリをバイナリに直接組み込む場合)
    • LGPLライブラリを実行ファイルに直接結合して配布する場合、
      ユーザーが独自に再リンクできる手段を提供する義務があります。
    • 方法としては:
      • 再リンク用のオブジェクトファイル(.o, .obj)を配布
      • または、完全なソースコードを提供
      • LGPLおよびGPLのコピーを同梱
  • ライブラリ自体を改変・再配布する場合
    • LGPLライブラリの改変部分のソースコードを提供する義務があります。
    • 改変したものを配布する場合は:
      • LGPL v3 または GPL v3 として再配布可能(選択制)
      • 改変箇所と著作権表示を明示する必要があります。

リンク方式の違い

区分静的リンク(Static Linking)動的リンク(Dynamic Linking)
結合タイミングコンパイル時/ビルド時実行時(ロード時)
結合方法ライブラリのバイナリが実行ファイル内に埋め込まれる実行時に .dll / .so / .dylib外部から読み込む
ファイル構成.exe など単体実行形式実行ファイル + 外部ライブラリファイル
差し替えの自由ユーザーは差し替えできないユーザーが DLL / SO を差し替え可能
LGPLでの扱い再リンク可能にする義務(.oファイル提供など)LGPL条件を満たしやすい(一般的に推奨)

GNU Affero General Public License(AGPL)

GPLv3を基に、ネットワーク経由のソフトウェア提供(ASPサービス・SaaS等の提供)にもソースコード提供を適用する厳格なライセンス。

  • GPLv2 / GPLv3 → SaaSではソースもバイナリも配布していないため、ソース開示の規約なし
  • AGPLv3 → SaaSでもソース開示義務あり
  1. [AGPLv3 (2007年)]
    ネットワーク越しでのソフトウェア提供時にもソースコード提供を義務付ける。
    公式URL: https://www.gnu.org/licenses/agpl-3.0.html
利用形態GPLv2GPLv3AGPLv3
自社内利用(配布なし)❌ 開示不要❌ 開示不要❌ 開示不要
顧客にソフトを配布(販売・DL)✅ 義務あり✅ 義務あり✅ 義務あり
ASP/SaaS提供(Web経由)❌ 開示不要❌ 開示不要開示義務あり

その他のライセンス

GNU Free Documentation License(GFDL)

フリーなドキュメント配布を目的としたライセンス。

  1. [GFDL 1.3 (2008年)]
    ドキュメントの改変・配布を保証する最新版。
    公式URL: https://www.gnu.org/licenses/fdl-1.3.html

関連記事

GPLv2とGPLv3の違いについての記事

商用利用OKなオープンソースライセンス(OSS)の一覧

参考

必要に応じて詳細を確認し、プロジェクトに最適なライセンスを選んでください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

AIアーティスト | エンジニア | ライター | 最新のAI技術やトレンド、注目のモデル解説、そして実践に役立つ豊富なリソースまで、幅広い内容を記事にしています。フォローしてねヾ(^^)ノ

コメント

コメント一覧 (3件)

コメントする

目次