オープンソースライセンスとは?定義や注意点を解説
オープンソースライセンスの定義や種類、注意点について詳しく解説していきます。
オープンソースライセンスの定義や種類、注意点について詳しく解説していきます。
知識・情報
2020/06/05 UP
- 技術
今やソフトウェア開発に欠かせない存在となっている、オープンソースソフトウェア。これを利用するために課せられるオープンソースライセンスを、無償で自由に使えると思っている人が多いようです。
しかし、オープンソースライセンスは、使用に対してさまざまな制限や条件が設けられています。そのため、オープンソースライセンスを正しく理解し、ライセンスの内容を把握しておかなければ、利用規定違反になってしまう恐れがあるのです。
過去には、利用条件を理解しないまま自社製品に組み込み、エンドユーザーからの指摘で違反が判明し、公開停止に至るケースや、利用条件違反を理由に権利が侵害されているとして訴訟になったケースもあります。こういった問題が発生すると企業の信用は失墜し、社会的にも大きな責任を問われることになるでしょう。
このようなトラブルを未然に防ぐため、この記事ではオープンソースライセンスの定義や種類、注意点について詳しく解説していきます。
オープンソースライセンスとは
オープンソースソフトウェア(OSS)は、ソースコードが無償で公開され、複製・改良・再配布が誰でも自由にできるものです。OSSの複製・改良・再配布ができる範囲はライセンスによって制限されており、これをオープンソースライセンスと呼びます。
OSSはライセンスを遵守する範囲で自由に使用できるものであり、無条件に使用できるものではありません。利用条件を遵守していないと、著作権違反やコンプライアンスの問題につながるリスクがあります。実際、オープンソースライセンスの利用規約に違反し、訴訟に発展したケースは少なくありません。
また、開発を受託したベンダーがライセンス違反に気付かないまま組み込んだ場合、企業間トラブルに発展するケースも存在します。再配布時には、ソースコードとライセンス文書を添付する、原著作者の著作権表示を削除してはならないといった制限が設けられていることもあるので、使用するOSSのライセンスをしっかり確認することが必要です。
同時に、オープンソースライセンスの定義について理解を深め、ライセンス違反に注意を向ける意識を開発現場全体に共有しなければなりません。
オープンソースライセンスの定義
オープンソースライセンスの主な定義は、以下の10項目です。以下のライセンスを持つソフトウェアがOSSとして認められ、広く利用されています。
それぞれの項目を簡単に説明していきましょう。
1.再配布は自由で、ライセンス料などは要求しない。
2.プログラムはソースコードを含み、無償で配布する。
これらは、オープンソースライセンスにおいて最も重要なポイントです。オープンソースライセンスは、必ずこの2点を含まなければなりません。
3.派生ソフトウェアの配布を許可する。
4.作者コードの完全性を保つこと(作者オリジナルのコードがわかるようにする)。
オープンソースの思想は、ソフトウェアの発展を目指すものです。そのため、派生ソフトウェアの作成と配布を禁止することはできません。
しかし、オープンソースライセンスの配布者に対する敬意を示し、どこまでが誰の名誉であるかを明確にするため、改変した場合でもオリジナルのコードがわかるようにすることが必要です。
ただし、コンパイル時にプログラムを変更する目的のソースコードが付いたパッチファイルの配布を許可している場合のみ、改変したプログラムのソースコードの配布が制限可能となっています。
5.個人やグループに対して差別をしない。
6.使用する分野に対して差別しない。
7.何らかの追加的ライセンスに同意することを必要としてはならない
8.特定製品でのみ有効なライセンスにしない。
これらの項目は、ソフトウェアの発展を妨げる可能性や、悪意を持ってライセンスを回避しようとする方法を封じるために設けられています。特定の個人やグループ、分野を差別したり使用を禁じたりすることはオープンソースライセンスの考えに反するため、ライセンスに盛り込むことが禁止されています。同様に、広く多くのユーザーが使用してソフトウェアの発展に貢献するため、特定のソフトウェアの一部に依存するものは認められません。
また、そのプログラムのライセンス範囲内で使用・配布される限り、プログラムが再配布されるすべての人が、元のソフトウェア頒布物で与えられていた権利と同等の権利を持つことを保証する必要があります。
9.他のソフトウェアのライセンスに干渉しない。
10.ライセンスは技術的に中立であること。
これらは、OSSのライセンス同士が干渉し、互いの使用を妨げたり混乱につながったりすることを避けるために設けられています。
OSSそのものを利用しやすくするために、これらは大切な要素です。また、個別の技術・インターフェース形式を前提とすることを禁じています。ポップアップウィンドウなどで同意を求めることをライセンス上で強制するライセンスは、OSSライセンスとして認められません。
オープンソースライセンスの3つの分類
OSSライセンスは、コピーレフトという概念の適応状況によって3つに分類できます。
コピーレフトとは、著作権を保持したままで、すべての利用者が改変や再配布をできなければならないという概念であり、著作物が配布され続ける限り、制限なく適用され続けます。
コピーレフト型
代表的なライセンス:GPL(GNU General Public License version2、version3)
WordPressやLinuxで採用されており、3つのオープンソースライセンスのなかで制限が最も厳しい考え方で、以下のような規定があります。
・著作権表示を保持する
・無保証
・誰でも自由に複製、改変、配布することができる
・GPLライセンスを使用した場合は、その制作物もGPLライセンスで配布する
GPLは組み込み開発の現場ではよく利用されているライセンスで、OSSライセンスのなかで最も割合が大きいライセンスです。コピーレフト型ライセンスにはGPLのほか、AGPL(GNU Affero General Public License version 3)やSleepycat Licenseがあります。
GPLは派生したソフトウェアにもGPLライセンスであることを求めるため、GPLのソースが1行でもコードに混入した場合、そのソースはすべてGPLとして公開する義務が発生します。
これは、GPLが適用されているOSSの権利を保護するためになくてはならない規約ですが、一度GPLとなった場合、あとからライセンスを変更することはほぼ不可能なので、ソースの制限の追加に大きな制約が発生します。ソースを公開しないソフトウェアを開発したい一般的なソフトウェア開発会社や、ほかのライセンスの支持者からは、不治の病に例えて「GPL汚染」と呼ばれています。
準コピーレフト型
代表的なライセンス:MPL(Mozilla Public License)
FirefoxやThunderbirdなどのMozillaソフトで採用されている、コピーレフト型から制限を緩めたライセンスです。
・再配布の際には著作権表示を残す
この点はコピーレフト型と同じですが、特徴は以下の2点です。
・派生ソフトウェアまでは同じライセンスの適用をおこなう
・OSSをほかのソフトウェアと組み合わせた場合、組み合わせ先のソフトウェアまではライセンスの適用を要求しない
このため、コピーレフト性を有しながらも、伝播性は弱くなっています。
非コピーレフト型
代表的なライセンス:BSD License
最も有名な非コピーレフト型ライセンスは、カリフォルニア州立バークレイ大学によって作成されたBSDライセンスで、特徴は以下の2点です。
・派生物にまで同じライセンスの適用を要求しない
・ほかのプログラムと組み合わせた場合も、組み合わせ先のソフトウェアにまで同じライセンスの適用を要求しない
この特徴によって、OSSを利用した派生物を配布する場合、ソースコードを非公開にすることができます。
オープンソースを使用する際の注意点
オープンソースを使用する際は、ライセンスによって規制が異なるので、使用するOSSのライセンスの確認は都度必要になります。そのなかで、特に注意すべきポイントを3つ紹介しましょう。
オープンソース=無償ではない
OSSは無償で公開されていますが、入手できるすべてのソフトウェアがOSSというわけではありません。OSSと明記されていなければ、正式なOSSではありません。OSSと明記されていないものを複製したり再配布したりすると、著作権違反などで訴えられることがあります。
派生物もオープンソースになる
OSSにおける派生物とは、改良・再配布された二次的著作物を指します。
基本的に、OSSを使用すると派生物も元の書作物と同じ条件で配布しなければならない、という義務を負います。特に、GPLのOSSを使用した場合はソースコードをすべて開示しなければなりません。
そのため、コピーレフト型のOSSを使用する際は影響を検討したうえで、適用する範囲を調整するなどの対応が必要になります。
異なるライセンス間での互換性
複数のOSSを組み合わる場合には、ライセンス間の互換性について注意しなければなりません。複数のOSSライセンスが両立するものでないと違反になるため、プログラムを再配布することができなくなります。
そのため、通常はコピーレフト型同士、あるいは非コピーレフト型同士のように、同じライセンスが適用されるOSSを使用します。
ライセンスを理解してオープンソースを使用する
オープンソースライセンスは、ソースの提供者の権利と名誉を守り、同時にソフトウェアの発展に貢献するために生まれた概念です。そのため、悪意のある利用や不正を抑制する目的で、コピーレフト型には非常に厳しい条件が設けられています。
現在、OSSは品質が向上しており、ソフトウェア開発には欠かせないものとなっていますが、これらのライセンスについての理解なくして正しい利用はできません。
オープンソースライセンスは、決して無償で自由に使えるリソースではないことを、開発現場全体に共有することが大切です。ライセンスについて理解を深め、自社の開発にとって何が必要かをよく検討したうえで利用を決めましょう。