問16 OSS ライセンスとソースの公開

応用情報​技術者試験 令和7年度 春期 午前、全80問のうちの問16。

出典:令和7年度 春期 応用情報技術者試験 午前 問16(表は原本の画像を文字に書き起こした。表の見出しの「OSS ライセンス」は省き、a〜d の列だけにした。選択肢の表を、1 つずつの文に組み直した)

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

表 OSS ライセンスごとのソースコード公開の要否
配布プログラムabcd
OSS のソースコードを修正して作ったプログラム○○○×
OSS に静的にリンクしたプログラム○○××
OSS に動的にリンクしたプログラム○×××
  1. アa GPL,b LGPL,c MPL,d BSD
  2. イa GPL,b MPL,c BSD,d LGPL
  3. ウa LGPL,b GPL,c MPL,d BSD
  4. エa LGPL,b MPL,c BSD,d GPL
答えと解説を開く

正解はアです。

4 つのライセンスは、利用したプログラムに公開の義務がどこまで及ぶかが違います。GPL は最も強く、修正しても、静的にリンクしても、動的にリンクしても、配布するならソースコードの公開が要ります。これが a です。LGPL はライブラリ向けに弱めた物で、動的にリンクして使うだけなら、自分のプログラムのソースは公開しなくてよいとされます。これが b です。MPL はファイルの単位で義務がかかり、元の OSS のファイルを修正したらその部分を公開しますが、リンクしただけの自分のプログラムは公開しなくてよいです。これが c です。BSD は、著作権の表示などを守れば、修正しても公開しなくてよい緩いライセンスです。これが d です。正解はアです。

ほかの選択肢が違う理由

  • イb に MPL を入れていますが、MPL は静的にリンクしただけなら公開が要らないので、静的リンクが ○ の b に合いません。d の LGPL も、修正したら公開が要るので × ばかりの d に合いません。
  • ウa と b が逆です。動的にリンクしただけでも公開が要るのは GPL で、LGPL ではありません。
  • エd に GPL を入れていますが、GPL はどの使い方でも公開が要り、× ばかりの d とは正反対です。

仕組み

自分の変えた部分も同じ条件で公開させる性質をコピーレフトと言います。GPL は強いコピーレフト、LGPL と MPL は範囲を絞った弱いコピーレフト、BSD や MIT はコピーレフトの無いライセンスです。

公開の義務は「配布するとき」にかかります。社内だけで使い、外へ配らないなら、GPL でもソースの公開は求められません。