catch-img

正しく知れば怖くない GPL ライセンスの特徴

GPLライセンス (ジーピーエルライセンス、GPL License、GNU General Public License)とは、オープンソースソフトウェアを開発・配布する際に用いられる代表的なオープンソースライセンス(OSSライセンス)のひとつで、利用許諾のための条件などを定めているものです。

本記事では GPLライセンスの概要から掲載例について解説していきます。

OSSライセンス管理なら
「yamory」におまかせ

 脆弱性・EOL・OSSライセンスを一元管理
 GPL、AGPL系ライセンス違反を検知
 ISMAP登録のクラウドセキュリティツール

目次[非表示]

  1. 1.GPL ライセンスの概要
    1. 1.1.GPLライセンスとは
    2. 1.2.コピーレフトとは
    3. 1.3.GPLはコピーレフトを体現したライセンス
  2. 2.GPLライセンスの特徴
  3. 3.GPL ライセンスの主要なバージョン
    1. 3.1.GNU General Public License version 2.0(GPL v2.0)
      1. 3.1.1.特徴
      2. 3.1.2.頒布時の主要な条件
      3. 3.1.3.本ライセンスを適用しているOSSの例
    2. 3.2.GNU General Public License version 3.0(GPL v3.0)
      1. 3.2.1.特徴
      2. 3.2.2.頒布時の主要な条件
      3. 3.2.3.本ライセンスを適用しているOSSの例
    3. 3.3.ライセンスの使用と利用の違い
  4. 4.GPLライセンスの例外ケース
  5. 5.GPLライセンスの適用方法
    1. 5.1.GPLライセンスの掲載例
  6. 6.OSSライセンス管理ができるyamory(ヤモリー)のご紹介
    1. 6.1.アプリライブラリのGPL、AGPL系ライセンスを可視化
    2. 6.2.その他にも、脆弱性、EOL、CSPM、SBOMを一元管理

GPL ライセンスの概要

GPLライセンスとは

冒頭でも解説しましたが、GPLはGNU General Public Licenseの略で、GNUプロジェクトのためにリチャード・ストールマンによって作成されたOSSライセンスです。

フリーソフトウェア財団(FSF; Free Software Foundation)によって公開・管理されています。

GLPライセンスは、WordPressを始め、さまざまなソースコードなどへ付与されていることでも知られています。また、コピーレフト性を持つライセンスとしても有名です。

コピーレフトとは

コピーレフトとは、「著作物の自由な利用・改変・再配布する権利を人々に提供し、そこから派生した著作物についてもこれらの行為を制限してはならない」とする概念であり、ストールマン氏によって考案されました。

ちなみにコピーレフト(copyleft)は著作権を残したまま自由を与えるという概念ですが、コピーライト(“right”)の反対で( “left”)という言葉遊び的な名称になっています。

シンボルマークも著作権マーク © を左右反転させたものが使われています。

GPLはコピーレフトを体現したライセンス

コピーレフト自体にはソースコードを公開する義務について言及していませんが、コピーレフトを最初に実装したとされる GNU Emacs General Public License(GPL の前身)では、ソースコードが無くて改変できない事態を避けるために、再頒布時にソースコード開示の条件が与えられています。

GPLではGNU Emacs General Public License を一般化した形になっており、再頒布時にソースコードの開示や入手方法の明確化、ライセンス文言の表記、派生物に対するライセンスなど、いくつかの条件を課しています。

一方で、自由ソフトウェアの普及を目的としているため、商用目的での利用も可能で、無料で頒布しなければならないといった制約はありません。

GPLライセンスは他のライセンス(※)と比較すると、制限が強く、厳格にコピーレフトの概念を体現したライセンスといえます。

※)MITライセンス修正BSDライセンスなどのいわゆる寛容型(permissive)ライセンスでは、GPLのように派生著作物への同ライセンスの適用を強制することはなく、単純な条項を守ればそのソフトウェアを自由に改変・頒布することが認められます。

GPLライセンスの特徴

GPLライセンスが他のライセンスと異なる点としては、GPLライセンスで公開されているプログラムを改変したり、自らのプログラムの一部として組み込んだ場合のような、派生的・二次的な著作物を作成した場合、派生著作物にもGPLライセンスの適用を強制する点にあります。

さらに、GPLは他のライセンスと組み合わせたときにGPLライセンスにはない強力な制限を加えることはできません。

この制約はライセンスの互換性に大きく関わるため、ソフトウェア全体のライセンスに矛盾がないか注意する必要があります。

なお、単にGPL ライセンスのソフトウェアを改変しただけでは公開義務は発生しません。

GPL ライセンスの主要なバージョン

GPLライセンスは主要なバージョンとして version 2.0(以下、GPL v2.0)と version 3.0(以下、GPL v3.0)の2つがあります。

GPL v2.0 は1991年にリリースされ、GPL v3.0は2007年にリリースされています。

GPL v3.0はGPL v2.0をベースに作成されていますが、GPL v3.0は、著作物に対し、著作権者やライセンス受諾者の権利、ライセンス許諾者が与える権利、法的権利の制限(DRM、特許の利用、他者を差別するような特許ライセンスの排除)に関する基本理念をGPL v2.0 より明文化していることが特徴です。

また、GPL v3.0では、TiVo化(ハードに対して搭載されたソフトウェアの改変を妨害する機能を作成すること)の防止を 1 つの目標にしており、再インストール情報の開示に関する条件が追加されています。

GNU General Public License version 2.0(GPL v2.0)

特徴

  • 商用利用可能
  • 利用に伴い作成者はいかなる責任も負わない

頒布時の主要な条件

  • 著作権表示とライセンス条文+無保証である旨をソフトウェアの重要部分(ヘッダ部など)に記載する必要あり
  • GPLライセンスを利用して作成されたソフトウェアは頒布時にソースコードの公開義務あり(改変部分のソースコード公開を含む)
  • 頒布がバイナリによるものであれば、ソースコードに加えてバイナリを生成するために必要な構成ファイル等の開示義務あり
  • GPLライセンスが適用されたプログラムの全部あるいは一部を用いて作られたソフトウェアはGPLに従って頒布されること
  • GPLライセンスを適用したソフトウェアを頒布する際に GPLライセンスで書かれている以上の条件を課すことは出来ない

本ライセンスを適用しているOSSの例

  • MySQL
  • Redmine
  • Git
  • CentOS

GPL v2.0には特許に関する条項が明文化されていないため、Apache 2.0ライセンスとの互換性がないことが知られています。

<参照元>
公式 HP:http://www.gnu.org/copyleft/gpl.html
非公式日本語訳:http://www.opensource.jp/gpl/gpl.ja.html

GNU General Public License version 3.0(GPL v3.0)

特徴

  • GPL v2.0に特許条項を追加したライセンス
  • 対象ソフトウェアを利用する場合に限り、対象ソフトウェアに含まれる特許を自由に利用できる

頒布時の主要な条件

  • 利用許諾されたソフトウェアだけで実現可能な特許について、その特許権を許諾すること
  • ソースコードの開示だけではなく、改変されたバイナリを機器にインストールする方法も開示する必要あり(家庭で使われる可能性がない機器や、プログラムがROMのように再インストールできない形態で組み込まれている場合は対象外)

本ライセンスを適用しているOSSの例

  • GCC(GNU Compiler Collection)
  • Samba(v3.2以降)
  • rsync(v3.0以降)

GPL v3.0ではApache License 2.0との互換性が確保されています。

<参照元>
IPA 「GNU GPL v3 逐条解説書」:https://warp.ndl.go.jp/web/20201021102542/www.ipa.go.jp/osc/license1.html

ライセンスの使用と利用の違い

GPLライセンスが適用されたソフトウェアを「使用」するだけであればソースコードの公開義務等は発生しません。

「著作権審議会マルチメディア小委員会 ワーキング・グループ中間まとめ」によると、利用と使用は次のように定義されています。

「利用」とは、複製や公衆送信等著作権等の支分権に基づく行為を指す。

「使用」とは、著作物を見る,聞く等のような単なる著作物等の享受を指す。

ソフトウェアの複製や改変、頒布は「利用」にあたりますが、単にソフトウェアを社内で実行するような行為は「使用」にあたると言えるでしょう。

このことはGNUライセンスに関してよく聞かれる質問で、次のように明記されています。

改変を加えて、リリースせずに個人的に使うのはあなたの自由です。

これは組織(企業を含む)でも同様で、ある組織は、改変した版を用意してそれを組織外にリリースすることなく内部的に利用することができます。

Webアプリを提供している場合、ブラウザ経由でJavaScriptプログラムを頒布するケースもありますので、対象のソフトウェアがどのような頒布形態になるかを確認しましょう。

GPLライセンスの例外ケース

GCC(GNU Compiler Collection)は GPLライセンスが適用されたGNUのコンパイラ群であり、GCCを使ってコンパイルを行うと通常、生成するバイナリにGPLのコードが含まれます。

GPLでは、GPLではないソフトウェアをGCCでコンパイルすることを認めるため、例外を規定しています。

GPLライセンスの適用方法

GPLライセンスを適用する際には「著作権表示」と「GPLライセンスの全文」を記載します。

記載に関しては、ソースファイルに記載する方法と、別途ファイルを作成しそちらに記載する方法の2種類があります。

管理しやすい方を選択しましょう。

GPLライセンスの掲載例

ここからは実際に、GPLライセンスを利用する際の掲載例をご紹介します。

ライセンスの記載方法は、派生ソフトウェアの各ソースファイルの冒頭にライセンス文を記載することで完了します。

各ソースファイルにライセンス文を記載することが困難な場合は、ライセンス全文のファイルを別途作成し、各ソースファイルには冒頭の2行(「派生ソフトウェアのプログラム名」と「Copyright」行)とライセンス全文のファイルがある場所のパスを記載することで対応できます。

下記は「著作権表示」と「ライセンスの全文」の記載の実例です。

Copyright (c) 2020 yamory yamada
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 2
of the License, or 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
http://www.gnu.org/licenses/.

OSSライセンス管理ができるyamory(ヤモリー)のご紹介

yamory-laptop

株式会社アシュアードが提供する脆弱性管理クラウド「yamory」は、OSSライセンスの可視化ができる機能を提供しています。

アプリライブラリのGPL、AGPL系ライセンスを可視化

yamoryを使えば、お使いの環境で利用しているOSSライセンスを、「AGPL系」「GPL系・頒布あり」「GPL系・頒布なし」「ライセンス未特定」「その他」に自動で分類し可視化(特許技術)。ライセンスがあるパッケージリポジトリも特定できるため、OSSライセンス違反リスクを削減できます。

その他にも、脆弱性、EOL、CSPM、SBOMを一元管理

yamoryはOSSライセンス管理のみならず、脆弱性、EOL、CSPM、SBOMまで一元管理できるクラウドサービスです。

脆弱性管理クラウド yamoryは、政府情報システムのためのセキュリティ評価制度『ISMAP』において、国産の脆弱性・SBOM管理サービスとして初めて登録されました。

また、経済産業省が策定した「ソフトウェア管理に向けたSBOMの導入に関する手引」にて、唯一の有償国産ツールとしても紹介され、数多くの企業様に導入いただいております。

「OSSライセンス管理に限界を感じている」
「ITリスクを一元管理できるサービスを探している」

という担当者様。ISMAP登録済みのセキュアな基盤で、効率的かつ合理的なITリスク管理をスタートしませんか?

OSSライセンス管理なら
「yamory」におまかせ

 脆弱性・EOL・OSSライセンスを一元管理
 GPL、AGPL系ライセンス違反を検知
 ISMAP登録のクラウドセキュリティツール

人気の記事

募集中のセミナー

ページトップへ戻る