【じーぴーえる】

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が設計。フリーソフトウェア運動の中核的なライセンスで「自由は共有されるべき」という思想を反映している
← 用語集にもどる