【じーぴーえる】

GPL とは?

💡 「使うなら公開する義務がある」強いコピーレフトのオープンソースライセンス
📌 このページのポイント
GPLライセンス ― コピーレフトの仕組み 元のソフト GPL ライセンス 利用 改変・派生 新機能を追加 配布 配布物 同じGPLで公開 コピーレフト: 派生物も必ず同じGPLで公開する義務 ソースコードの公開が必須 利用自由 商用もOK 改変自由 自由にカスタマイズ 再配布自由 コピーを配れる GPL継承 条件を引き継ぐ
GPLライセンスのコピーレフトの仕組み
ひよこ ひよこ

GPLって何が厳しいの?

ペンギン先生 ペンギン先生

GPLのソフトを改変して配布したら、その改変版のソースコードを同じGPLで公開する義務がある。これを「コピーレフト」という。「フリーソフトの自由は守り続けなければならない」という思想から来ている。

ひよこ ひよこ

商用で使えないの?

ペンギン先生 ペンギン先生

使えるけど注意が必要。GPLのコードを組み込んで配布(販売や公開)するとそのソフト全体にGPLが「感染」してソース公開が必要になる。社内利用のみで配布しない場合は公開義務がない。

ひよこ ひよこ

Linuxはなんで広まったの?

ペンギン先生 ペンギン先生

LinuxカーネルはGPL v2で、誰でも自由に使える・改変できる・配布できる。改変したなら公開するという条件。Androidに使われているLinuxカーネルも変更部分はOSSとして公開されている。GPLのおかげでLinuxエコシステムが発展したともいえるよ。

ひよこ ひよこ

GPLのソフトをクラウドで提供する場合はどうなるの?

ペンギン先生 ペンギン先生

これが実はグレーゾーンだったんだ。GPLは「配布」時にソース公開を求めるけど、SaaSとしてサーバーで動かすだけなら「配布」に当たらない。この抜け穴を塞ぐために作られたのがAGPL(Affero GPL)で、ネットワーク経由でサービスを提供する場合もソース公開を義務付けているよ。MongoDBが一時期AGPLを採用していたのは有名だね。

ひよこ ひよこ

企業がGPLを避けたがる理由って何?

ペンギン先生 ペンギン先生

自社製品のソースコードを公開したくないからだよ。GPLの「感染性」で、GPLコードを一部でも組み込むと製品全体をGPLにする必要がある。だから企業では「GPLコンタミネーション」を防ぐためにライセンスチェックツール(FOSSA、Black Duck等)でOSSの依存関係を厳しく管理しているんだ。知らずにGPLライブラリを使ってしまうと大問題になるからね。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
GPLって出てきたら「改変・配布するならソース公開義務があるコピーレフトオープンソースライセンス」と思えばOK!
📖 おまけ:英語の意味
「GNU General Public License」 = GNU一般公衆ライセンス
💬 1989年にRichard Stallmanが設計。フリーソフトウェア運動の中核的なライセンスで「自由は共有されるべき」という思想を反映している
← 用語集にもどる