基本情報技術者 2013年 秋期 午前(科目A) 問21
問題文
GPLの下で公開されたOSSを使い、ソースコードを公開しなかった場合にライセンス違反となるものはどれか。
選択肢
ア:OSSとアプリケーションソフトウェアとのインタフェースを開発し、販売している。
イ:OSSの改変を他社に委託し、自社内で使用している。
ウ:OSSの入手、改変、販売を全て自社で行っている。(正解)
エ:OSSを利用して性能テストを行った自社開発ソフトウェアを販売している。
GPLの下で公開されたOSSを使い、ソースコードを公開しなかった場合にライセンス違反となるものはどれか。【午前2 解説】
要点まとめ
- 結論:GPLの下で改変または組み込みを行い、それを第三者へ配布(販売含む)した場合には改変後のソース公開義務が発生し、未公開は違反です。
- 根拠:GPLはコピーレフトを採用し、ソースの入手・改変・再配布が行われる際は同一条件でソースを提供することを要求します。
- 差がつくポイント:内部利用や社内でのテストは配布に当たらない一方、入手・改変・販売を自社で完結して販売する行為は配布に該当します。
正解の理由
正解は ウ です。選択肢ウは「OSSの入手、改変、販売を全て自社で行っている」とあり、販売(第三者への提供)という「配布」に該当します。GPLは配布時に改変したソースコードや対応するソースの提供義務を課すため、ソースを公開しないまま販売すればライセンス違反になります。逆に配布(販売・配布相当の提供)を伴わない単なる社内利用や委託作業、性能テストはソース公開義務は発生しません。
よくある誤解
- 「社内で使うだけならGPLでもソース公開が必要」は誤り。内部利用は配布に該当しないため公開義務は通常発生しません。
- 「インタフェースの開発や動的リンクならGPL義務は無い」は単純化しすぎ。ライセンスや結合形態(派生物か否か)次第で義務が生じます。
- 「テスト目的で使っただけなら安全」はほとんどの場合正しいが、テスト結果を含む製品として第三者に配布するなら公開義務が生じます。
解法ステップ
- 問題文で何が行われているか(入手、改変、配布/販売、内部利用)を明確にする。
- GPLが要件を課すのは「配布(convey/redistribution)」の場面かどうかを判定する。
- 各選択肢を「配布を含むか、含まないか」で分類する。
- 配布を含む選択肢があれば、それが正解(公開義務が発生)であると判断する。
選択肢別の誤答解説
- ア: OSSとアプリケーションソフトウェアとのインタフェースを開発し、販売している。
解説:単にインタフェースを作って販売するだけでも、GPLコードを組み込んでいれば配布義務が生じ得ますが、選択肢の文言だけでは「OSSそのものを改変・再配布している」とは断定できません。通常この表現はインタフェース提供であり直ちに違反とは言えません。 - イ: OSSの改変を他社に委託し、自社内で使用している。
解説:改変を委託して社内でのみ使用する場合は「配布」に当たらないため、GPLのソース公開義務は通常発生しません(委託先が第三者へ配布しない限り)。 - ウ: OSSの入手、改変、販売を全て自社で行っている。
解説:販売は第三者への配布に該当するため、改変したソースの提供義務が発生します。未公開はライセンス違反です。 - エ: OSSを利用して性能テストを行った自社開発ソフトウェアを販売している。
解説:性能テストでのみ利用しており、OSSを組み込んでいない(または派生していない)のであれば、GPLのソース公開義務は通常発生しません。もしテスト結果を含む形でGPLコードを組み込んで配布しているなら別ですが、設問文はそのように読めません。
補足コラム
- GPLとLGPLの違い:GPLは強力なコピーレフトで、派生物を配布する際に同等のライセンスでソース提供を求めます。LGPLはライブラリ向けに緩められ、動的リンクの場合はアプリ本体のソース公開を要求しない場合があります。
- 「配布」の具体例:販売、無償での配布、ダウンロード提供、第三者への配布(OEM提供など)が該当します。一方で社内限定の利用や社内テストは通常配布に当たりません。
- 実務対応:配布するバイナリに対しては、同梱または書面・URLによるソース提供の方法を明示し、ライセンス文書(LICENSE)を添付することが一般的です。GPLv2では「ソース提供の書面での申し出」も許容される場合があります。
FAQ
Q1: 社内で改変して使うだけならソースを公開する必要がありますか?
A1: いいえ。社内のみの使用は配布に当たらないため、通常は公開義務は発生しません。
A1: いいえ。社内のみの使用は配布に当たらないため、通常は公開義務は発生しません。
Q2: SaaS(サーバ上で動かして提供)ならどうなりますか?
A2: 標準のGPLはサーバ上での提供(SaaS)を「配布」とみなさないため、必ずしもソース公開を要求しません。サーバ側の公開義務を課すのはAGPLです。
A2: 標準のGPLはサーバ上での提供(SaaS)を「配布」とみなさないため、必ずしもソース公開を要求しません。サーバ側の公開義務を課すのはAGPLです。
Q3: ライブラリを動的にリンクした場合は?
A3: 動的リンクでもGPLの下で派生物と判断される場合、配布時にソース開示義務が生じます。LGPLの場合はより柔軟です。
A3: 動的リンクでもGPLの下で派生物と判断される場合、配布時にソース開示義務が生じます。LGPLの場合はより柔軟です。
Q4: 実際に配布する際のソース開示方法は?
A4: バイナリにソースを同梱するか、書面やウェブ上でソースの入手方法(明確なURLや書面による提供)を示し、ライセンス文書を添付します。
A4: バイナリにソースを同梱するか、書面やウェブ上でソースの入手方法(明確なURLや書面による提供)を示し、ライセンス文書を添付します。
関連キーワード: GPL, OSS, コピーレフト, ソースコード公開, 配布, 改変, リンク, ライセンス遵守, AGPL, LGPL

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

