応用情報技術者平成25年秋期 午前問21

問21

表はOSSのライセンスごとに,そのOSSを利用したプログラムを配布するとき,ソースコードを公開しなければならないかどうかを示す。a~dに入れるライセンスの適切な組合せはどれか。ここで,表中の"○"は公開しなければならないことを表し,"×"は公開しなくてもよいことを表す。
21.png/image-size:504×112
  • 21a.png/image-size:318×148
            

分類

テクノロジ系 » ソフトウェア » オープンソースソフトウェア

正解

解説

それぞれのOSSライセンスの特徴をまとめておきます。
GPL(General Public License)
リチャード・ストールマン氏が創設したFSF(Free Software Foundation)が、GNUプロジェクトのために策定したフリーソフトウェアライセンス。ライセンスを受けた利用者に対し、①プログラムを自由に実行すること、②その仕組みを調べて改変すること、③複製物を再頒布すること、④改良したプログラムを公衆に向けて公開すること、という4つの自由を保障する。
GPLでライセンスされたライブラリに静的/動的にリンクする場合、当該プログラムは二次的著作物とみなされて自動的にGPLの条件が適用されるため、利用者に頒布する際にリンク元プログラムにもソースコードの開示義務が生じる。非常に強いコピーレフト性をもつ。
LGPL(Lesser General Public License)
GPLから派生したライセンスで、非常に厳格なGPLの条件を一部緩和したライセンス。他のプログラムにリンクされることを前提としたライブラリのために作成された。
改変や再コンパイルの自由、二次著作物を再頒布する際のソースコードの公開などはGPLと同等だが、ライブラリを他のプログラムから動的リンクして使用する場合において以下の条件を満たせば、リンク元プログラムにはLGPLが適用されない。
  • 動的リンク:リンク元プログラムのリバースエンジニアリングを許可する(禁止する条項を含めてはならない)
  • 静的リンク:動的リンクの条件に加えて、本体プログラムのソースコードまたはオブジェクトコードを公開する。
MPL(Mozilla Public License)
ネットスケープコミュニケーションズに策定され、Mozilla Foundationによって管理されている作成されたOSSライセンス。
GPLと比較した場合、MPLはコピーレフトの適用範囲が限定的であり、より柔軟なライセンス形態とされる。GPLがプログラム全体にソースコードの開示を求めるのに対し、MPLは改変された個別のファイル単位でのソースコードの公開を求める点が、主な相違点である。また、静的/動的リンクするプログラムはライセンス適用の対象外となる。
BSD
カリフォルニア大学バークレー校によってBSD UNIXとともに開発されたOSSライセンス。
ソースコードを改変・再頒布することが許可されており、著作権表示、ライセンス条文、無保証である旨の3点をドキュメント等に明記すれば、ソースコードを公開せずにバイナリ形式で頒布することが可能となっている。より「緩やかな」ライセンスであり、商用ソフトウェアへの組込みやライセンス変更を制限しない。
各ライセンスのプログラムについて、利用方法とソースコードの公開義務をまとめると下表のようになります。
21_1.png/image-size:368×168
以上より適切な組合せは「ア」になります。

OSSには非常に多くのライセンスがあるので、各ライセンスの詳細な内容までは把握しきれないかもしれませんが、GPLは最もコピーレフト性が強い、BSDは緩いくらいは覚えておきましょう。
© 2010- 応用情報技術者試験ドットコム All Rights Reserved.

Pagetop