ということで本日の記事は、オープンソースソフトウェア(OSS)ライセンスについて、
- オープンソースソフトウェア(OSS)ライセンスとは
- OSSの共通条件
- OSSライセンスの種類
の3つの観点から、詳しく説明していきます。
オープンソースソフトウェア(OSS)ライセンスとは
オープンソースソフトウェア(OSS)ライセンスとは、プログラムのソースコードが公開されていることが前提となります。
そして、
- 第三者がそれを入手して使用して改変して使用することができ
- 開発者等がプログラムの著作権を保有している
- OSSの利用者は、開発者らが定めたライセンス条件に従ってプログラムを複製、改変及び頒布できるソフトウェア
のことをオープンソースソフトウェア(OSS)ライセンスといいます。 現在ではOSSが豊富にあり、様々な機能がOSSで利用可能です。
例えば、最近注目されているAIの機能を実装したOSSも多数公開されています。
ですから、こういったオープンソースソフトウェア(OSS)ライセンスを利用することにより短期間で人工知能をシステムに実装することが可能になっています。
ここで、OSSライセンスで最も注意が必要な点があります。それは、OSSは著作権が放棄されていないので、原作者の定めるライセンス条件に従う必要がある点です。
そのライセンス条件は、原作者が定めることができますが、オープンソースソフトウェア(OSS)ライセンスに共通する条件があります。
ただし、それぞれの条件の詳細は、個々のOSSライセンス条件によって異なっていますので、詳細については使用するOSSライセンスの中身を確認しましょう。
次に、OSSの共通条件について解説していきましょう。
OSSの共通条件
OSSには、下記のような共通の条件があります。
- 再頒布の自由
- ソースコードの公開
- 派生ソフトウェア
- 差別の禁止
- 他のソフトウェアの制限の禁止
それぞれについて詳しく説明していきましょう。
再頒布の自由
オープンソースソフトウェアについては、再頒布の自由が保証されている必要があり、第三者の再頒布に対して料金や報酬を課すことはできません。
但し、自分自身が頒布する際には、販売(つまり有償での頒布)も禁止されてはいませんが、その頒布先(購入者)が無料で再頒布することは禁止できません。
ソースコードの公開
オープンソースソフトウェアについては、ソースコードが公開されている必要があります。
また、オープンソースソフトウェアの頒布については、コンパイル済の実行形式とともにソースコードでの頒布も許可されている必要があります。
例えば、原ソフトウエアのライセンス条件として、頒布の際にソースコードの公開が義務付けられていたとしたら、ソフトウェア内でオープンソースソフトウェアを使用している場合には、ソフトウェアの頒布時に、ソースコードも公開する必要があります。
なお、サーバのプログラムについては頒布することがないので、サーバのプログラムにオープンソースソフトウェアを使用していたとしても、ソースコードを公開する必要はないと思われます。
派生ソフトウェア
自らが頒布するソフトウェアにオープンソースソフトウェアを使用している場合には、自らが頒布するソフトウェアについて、その変更と、自らが頒布するソフトウェアを改変した派生ソフトウェアの作成を許諾する必要があります。
また、派生ソフトウェアを、原ソフトウェアと同じライセンス条件で頒布することを許諾する必要があります。
差別の禁止
ライセンスにおいて、特定の個人、団体、グループを差別してはならないとされています。また、特定の分野に対し、ライセンスを制限することも許されていません。
他のソフトウェアの制限の禁止
派生ソフトウェアとともに頒布するソフトウェアについて、制限を設けることはできません。例えば、同じ媒体で頒布する他のすべてのプログラムがオープンソースソフトウェアであることを要求することはできません。
OSSライセンスの種類
OSSライセンスの数は世界中に無数にありますが、ライセンス条件の制約の強弱で大きく次の3つのグループに分けられます(表1)。
OSS ライセンスの類型 | ①改変部分のソースコードの公開義務 | ②他のソースコードの公開義務 | 各類型のOSS ライセンス |
---|---|---|---|
コピーレフト型 | ○ | ○ | GPL, AGPL, EUPL 等 |
準コピーレフト型 | ○ | × | LGPL, CPL, MPL 等 |
非コピーレフト型 | × | × | BSD, Apache, MIT 等 |
それぞれについて詳しく説明していきます。
コピーレフト型
GPL(GNU General Public License)、AGPL(GNU Affero General Public License)などに代表されるグループであり、伝搬性の最も強い「コピーレフト型」とも言われています。
コピーレフトとは、著作者が著作権を保有したまま、著作物の配布条件として、利用者に著作物を複写・改変・再配布する自由を与える一方で、複写・ 改変・再配布された派生物(二次的著作物)の配布者に対しても、全く同じ条件で派生物を配布することを義務付けるという考えです*1。
このグループでは、
- ソフトウェアの再配布の自由
- 改変と改変物の配布の自由
が保証されている必要があります。
またコピーレフト型の場合、第三者がソースコード(改変後のソースコードも含む)を入手できるよう公開されていなければなりません。
さらに、GPLソフトウェア をその一部に使用したソフトウェアについては、当該GPLソフトウェアの派生物として、GPLが適用されることになるなど、最も制約の強いライセンス条件です。
そして、GPLで提供されるOSS又はその改変物を使用してネットワーク上のサー ビスを提供する場合、そのサービスをネットワーク経由で利用するエンドユーザは、 ソースコードへアクセスする権利を持つとは解釈されていません。
他方、GNU AGPL(GNU Affero General Public License)においては、こうした場合にもユー ザにはソースコードにアクセスする権利を認める必要があります。
*1 情報処理推進機構:OSSライセンスの比較及び利用動向ならびに係争に関する調査報告書 (2010)
準コピーレフト型
準コピーレフト型は、GPLよりも制約の緩い、コピーレフト性を弱めたライセンスです。
MPL(Mozilla Public License)などがあります。
このグループでも、
- ソフトウェアの再配布の自由、改変
- 改変物の配布の自由
が保証されている必要があります。
またMPLで提供されるOSSを改変した場合には、 改変物は元のOSSと同じライセンス条件を適用しなければなりません。
MPLにおいては、ライセンサーは、OSSに含まれる特許権などの知的財産権を、ライセンシーに対して無償でライセンスする必要があるという点が特徴です。
すなわち、MPLにおいては、OSSを含むアプリを開発した場合に、このOSSに実装されている特許発明については、このアプリを改変しようとする第三者に対して無償で特許権のライセンスを許諾する必要があります。
ですから、この場合には、 この特許発明の特許権を第三者に対して行使することができなくなるという制約がついてしまいます。
仮に、特許発明が、競合企業との間で差別化を図り、技術的な優位性を担保する部分であるとしたら、このMPLで提供されるOSSを使用してしまうと、競合会社もこの技術を使用できてしまうので、このMPLで提供されるOSSを使用することは避けましょう。
時間及びコストがかかったとしても、その部分については自社で最初から実装するか、そのような制約がないOSSを使用するかする必要があります。
非コピーレフト型
非コピーレフト型は、コピーレフト性をなくしたライセンスで、MIT License、 Apacheソフトウェア財団(ASF)によるソフトウェア向けライセンス規定である Apache Licenseなどがあります。
このタイプの大きな特徴は、OSSのライセンシーに対し、
- ソースコードの開示
- 再配布
を求めない点にあります。つまり、オブジェクトコードのみの再配布でも許されます。
ただし、再配布の際には、ライセンス本文、著作権表示、Disclaimer条項を含める必要があります。
また、このタイプのライセンスの中には、ライセンサーが、OSSに含まれる特許権などの知的財産権を、ライセンシーに対して無償でライセンスする義務を課す条項が含まれる場合もあります。
ですから、ライセンス条項を確認する必要があります。
仮に、ライセンスの中に、ライセンサーが、OSSに含まれる特許権などの知的財産権を、ライセンシーに対して無償でライセンスする義務を課す条項が含まれている場合には、上述したように、特許発明が含まれる部分については自社で最初から実装するか、そのような制約がないOSSを使用するかする必要があります。
例えば、Apache License 2.0には、以下の特許ライセンスの付与に関する規定が 存在します。携帯電話端末向けOSであるAndroidの大部分がApache License 2.0でライセンスされています。
和訳
3.特許ライセンスの付与 本ライセンスの諸条件に従って、各コントリビュー ター(貢献者)は、永続的、世界的、非独占的、無償、ロイヤリティフリー、取消不能(本節に記載の場合を除く)の特許ライセンスであって成果物の製造、製造完了、 使用、販売の申し出、販売、輸入、およびその他の方法による譲渡するための特許ライセンスを付与する。
ただし、このようなライセンスは、コントリビューターによってライセンス可能な特許クレームのうち、コントリビューション(派生物)単独によって、または、コントリビューション(派生物)が提出される成果物とコントリビューション(派生物)との組み合わせによって必然的に侵害されたもののみに適用される。あなたが誰かに対して、成果物あるいは成果物に組み込まれたコントリビューションが直接または間接的な特許侵害を構成するとして特許侵害訴訟 (交差請求、反訴を含む)を起こした場合、本ライセンスに基づいてあなたに付与された特許ライセンスは、そうした訴訟が提起された時点で終了する。
ここでいうコントリビューターは、ライセンスを受けて改変し、派生物を再頒布する者(プログラマー)です。
例えば、A社が、プログラムの特許を保有しており、このApache Licenseに基づいて作成した特許発明に係るプログラムを含むアプリを配信し、Apache License規定に基づいてソースプログラムを公開します。
これにより、A社は、Apache Licenseに基づいてソースプログラムを公開した時点で、そのソースプログラムに 係る特許のライセンスも許諾したことになります。
この場合において、B社が、A社によって公開されたソースプログラムを改変して別のアプリを配信していた場合において、仮にA社がB社を特許侵害で訴えた時には、訴えた時点においてA社に対するApache Licenseに基づく特許ライセンスは終了します。すなわちA社はB社を特許侵害で訴えた時、Apache Licenseの特許に抵触した状態に置かれてしまいますので、事実上、訴えることができません。
そのため、特許発明に係るプログラムについては、Apache Licenseを用いて作成してしまうと、事実上、特許権利行使ができなくなってしまいます。
このプログラムの特許が他社に対する差別化要因であり、優位性を保持できるものであるとするならば、他社の使用を許諾すべきものではないので、このプログラムについては、Apache Licenseを使用せずに、自社で独自に開発すべきでしょう。