【応用情報技術者試験】GPL/LGPL/BSDの違いとは?OSSライセンス問題を「秘伝のタレ」で完全攻略

noteへのバナー

OSS(オープンソースソフトウェア)を利用する上で避けて通れないのが「ライセンス」の問題です。応用情報技術者試験では、代表的なライセンスごとのソースコード公開義務の違いが頻繁に問われます。

まずは、試験でよく問われる主要なライセンスの正式名称と、その基本的な考え方を見てみましょう。

OSSの主要なライセンスの正式名称と、その基本的な考え方
  • GPL (General Public License): 利用したソフトウェア全体にソースコード公開義務が及ぶ、強力なコピーレフト型ライセンス。
  • LGPL (Lesser General Public License): ライブラリとしての利用ならソースコード公開義務は緩和される、弱いコピーレフト型ライセンス。
  • MPL (Mozilla Public License): 変更を加えたファイルのみソースコード公開義務が生じる、ファイル単位のコピーレフト型ライセンス。
  • BSDL (Berkeley Software Distribution License): ソースコード公開義務がなく、非常に緩やかで商用利用しやすいライセンス。

上記のような違いはありますが、「GPLは厳しい」「BSDLは緩い」と言われてもピンと来ない方は多いのではないでしょうか?
また、 「ソースコードを公開しなきゃいけないのは、どのケース?」 「静的リンクと動的リンクで何が変わるの?」 と、いざ問題になると混乱してしまいがちです。

この記事では、そんな複雑なOSSライセンスの世界を、とあるラーメン屋の「秘伝のタレのレシピ」にたとえて、それぞれのライセンスが持つ「哲学」を直感的に理解します。

目次

OSSライセンスを「秘伝のタレのレシピ」にたとえてみよう

あなたはラーメン屋の店主です。
ある日、伝説の料理人たち(OSS開発者)が、苦労して作り上げた「秘伝のタレのレシピ」を公開してくれました。
ただし、レシピにはそれぞれ異なる「利用ルール(ライセンス)」があります。

[画像:GPL、LGPL、MPL、BSDと書かれた4つのレシピ本が並んでいるイラスト]

GPL:「タレを使ったら、お前の店の全レシピを公開しろ」という最強のレシピ

GPLの概要

GPL (General Public License)は、 利用したソフトウェア全体にソースコード公開義務が及ぶ、強力なコピーレフト型ライセンスです。
GPLのソフトウェアを一部でも利用して新しいソフトウェアを作ると、その新しいソフトウェア全体のソースコードを公開する義務が生じます。この「感染」するかのような強い伝播性から、「最強のコピーレフト」と呼ばれます。

たとえ話

GPLを秘伝のタレのレシピでたとえると、これは「この秘伝のタレを少しでも使って新しいラーメンを作ったら、そのラーメンの麺・スープ・チャーシューを含めた全レシピを、世の中の全てのラーメン屋に公開しなければならない」という、非常に強力なルールのレシピです。

秘伝のタレを使ったはいいものの、その後のビジネスの展開はルールによって大きく制限されてしまいそうです。

LGPL:「タレは好きに使っていい。でもタレを改良したら、その改良レシピだけは公開してくれ」という職人向けレシピ

LGPLの概要

LGPL (Lesser General Public License)はライブラリとしての利用ならソースコード公開義務は緩和される、弱いコピーレフト型ライセンスです。

LGPLのソフトウェア(ライブラリ)を部品として利用するだけなら、自分のソフトウェアのソースコードを公開する必要はありません。しかし、LGPLのソフトウェア自体を改造した場合は、その改造部分のソースコードは公開する必要があります。

たとえ話

LGPLを秘伝のタレでたとえると、「この秘伝のタレを、君の店のラーメンの『トッピング』として使うのは自由だ(君の店のレシピを公開する必要はない)。しかし、もしこのタレ自体を改良して『新・秘伝のタレ』を作ったなら、その新しいタレのレシピだけは皆に公開してくれ」というルールです。

GPLよりも大きく制限が緩和されました。
秘伝のタレ自体をお店のウリにしないのであれば、ビジネス展開に大きな支障を与えることはありません。

MPL:「レシピの『1行』でも変えたら、その変えた『1行』だけは公開してくれ」というファイル単位のレシピ

MPLの概要

MPL (Mozilla Public License)は変更を加えたファイルのみソースコード公開義務が生じる、ファイル単位のコピーレフト型ライセンスです。
MPLのソースコードが含まれるファイルを修正した場合、その修正したファイルのソースコードは公開する必要があります。しかし、それ以外の、あなたが独自に作成したファイルのソースコードを公開する必要はありません。

たとえ話

MPLを秘伝のタレでたとえると、「このレシピ帳の、変更を加えたページだけを公開してくれればいい。他のページや、君が新しく追加したレシピのページは公開しなくていいよ」というルールです。

LGPLに比べると、LGPLが秘伝のタレのレシピを改良した場合、そのレシピ全体を公開しなければならないのですが、MPLは変更した部分だけ公開すればよいことになります。
秘伝のタレを改良した場合の企業秘密がさらに守られるようになったため、よりビジネス展開がしやすくなります。

BSD:「ご自由にどうぞ。ただ『このタレはウチのを参考にした』とだけ書いておいてくれ」という心の広いレシピ

BSDの概要

BSDL (Berkeley Software Distribution License)はソースコード公開義務がなく、非常に緩やかで商用利用しやすいライセンスです。改変も再配布も自由で、商用利用もしやすい、非常に寛容なライセンスです。

ちなみに「Berkeley」という名称は、カリフォルニア大学バークレー校(University of California, Berkeley)で開発されたソフトウェア群(Berkeley Software Distribution)と共に配布されたライセンスであることに由来します。

たとえ話

BSDLは「このレシピは好きに使っていい。改良してもいいし、作ったラーメンを売ってもいい。レシピを非公開にしても構わない。ただ、メニューの隅に小さく『伝説の料理人BSD氏のレシピを参考にしました』とだけ書いておいてくれ」という、非常に緩やかなルールです。

これまで見てきた中で、もっともレシピを活用しやすいライセンスです。

過去問に挑戦!

応用情報技術者試験 春期 午前 問16より

それでは、この「レシピ」のイメージを使って、OSSのライセンスに関する応用情報技術者試験の過去問を解いてみましょう[1]https://www.ipa.go.jp/shiken/mondai-kaiotu/nl10bi0000009lh8-att/2025r07h_ap_am_qs.pdf 2025年10月14日確認

【問題】
表はOSSのライセンスごとに,そのOSSを利用したプログラムを配布するとき,ソースコードを公開しなければならないかどうかを示す。a〜dに入れるライセンスの適切な組合せはどれか。ここで,表中の”〇”は公開しなければならないことを表し,”✕”は公開しなくてもよいことを表す。

配布プログラムOSS ライセンス
abcd
OSS のソースコードを修正して作ったプログラム×
OSS に静的にリンクしたプログラム××
OSS に動的にリンクしたプログラム×××
abcd
GPLLGPLMPLBSD
GPLMPLBSDLGPL
LGPLGPLMPLBSD
LGPLMPLBSDGPL

【表のパターン分析】

  • a: (〇, , )
    • OSSを改造しても()、静的にリンク(ラーメンに練り込む)しても()、動的にリンク(トッピングとして使う)しても()、全ての場合で自分のレシピを公開しなければならない。
    • これは最も強い公開のルールを持つGPLです。
  • b: (, , ✕)
    • OSSを改造したり()、静的にリンクしたり()すると公開義務があるが、動的にリンク(トッピング)するだけなら公開しなくてよい()。
    • これはライブラリ向けのLGPLです。
  • c: (, , )
    • OSSを改造した場合のみ公開義務があり()、リンクするだけなら公開義務はない(, )。
    • これはファイル単位のルールを持つMPLです。
  • d: (, , )
    • いかなる場合もソースコードを公開する義務がない
    • これは最も緩やかなBSDライセンスです。

この組み合わせ(a=GPL, b=LGPL, c=MPL, d=BSD)と一致する選択肢を探すと、正解は となります。

もしすべてのライセンスを覚えていなくても、最も公開のルールが厳しい(問題文中すべてが〇になっている)GPLと、最もルールが緩やか(問題文中すべてが✕になっている)BSDLがわかれば、消去法から答えがアであることがわかります。

まとめ

今回は、応用情報技術者試験などの情報処理技術者試験の問題に登場するOSSのライセンスの違いについて解説してきました。
再度、これらの違いをまとめると、以下のようになります。

ライセンスたとえ話ソースコード公開義務キーワード
GPL全レシピ公開強い (全体に伝播)最強コピーレフト
LGPL改良タレのみ公開部分的 (ライブラリ)弱いコピーレフト
MPL変更ページのみ公開部分的 (ファイル単位)ファイル単位
BSD公開義務なしなし寛容, 非コピーレフト

試験でOSSライセンスの問題が出たら、慌てずに「これはどのレシピの話だろう?」と思い出してください。そうすれば、各ライセンスの哲学の違いが明確になり、自信を持って正解を選べるはずです。

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