この記事では、
「オープンソースは全て無料で商用利用可という意味だと思っていて、著作権法を理解しておらずトラブルに巻き込まれてしまった」
「Githubに転がってるライブラリを使いたいが中々権利関係が怖くて手が出せない」
という方へ向けて、OSS(オープンソースソフトウェア)のライセンスの種類について解説していきます。(※この記事ではexeなどにパッケージングされていないソースコードのライブラリも、総括して「ソフトウェア」と呼称します)
この記事を読むことで、各種ライセンスの違いを理解し、自分で適切なライセンスを選ぶことが出来るようになります。
ライセンスについて理解を深め、創作活動にガンガン活用できるようになりましょう。
※この記事の所要時間は5分です。
オープンソースソフトウェア(OSS)とは
まず初めに、オープンソースソフトウェア(OSS)とはソースコードが無償で公開され、複製・改変・再配布が誰でも自由にできるソフトウェアのことです。OSSの複製・改変・再配布が可能な範囲はライセンスによって制限があり、これをオープンソースライセンスと呼びます。
OSSは利用条件を守らないと、著作権違反やコンプライアンスの問題に発展することがあります。実際にオープンソースライセンスの利用規約違反により、訴訟に至った事例もあるくらいです。開発の受託者がライセンス違反を見落とし、組み込んだ場合、企業間トラブルに発展することも珍しくありません。
また、再配布時には、ソースコードとライセンス文書の添付、原著作者の著作権表示を削除を禁止するなどの制限が設定されていることもあり、利用するOSSのライセンスを確認して利用することはもはや必須と言えます。
フリーソフトウェアとOSSの違い
“フリーソフトウェア”という言葉を、皆さん一度も聞いたことあるのではないでしょうか。
OSSとの共通点もありますが、異なる点が多いため、まったく異なるソフトウェアであることを理解する必要があります。
フリーソフトウェア | オープンソース(OSS) | |
ソースコード | 非公開 | 公開 |
再配布 | 禁止の場合もある | 可能 |
費用 | 有償の場合もある | 無償 |
フリーソフトウェアとOSSの違いとしては、フリーソフトウェアはソースコードが非公開であることが挙げられます。ソースコードが非公開な場合、ユーザーはブラックボックスなアルゴリズムのままソフトウェアを使うことになり、精度や信頼性に疑問が残ってしまいます。また、OSSはソースコードの再配布が可能である一方、フリーソフトウェアでは再配布は認められていない場合もあります。
フリーソフトウェアは利用者がいかように扱うのも「自由」(free)であることが重んじられている概念であり、開発者が有償で販売している場合もその後の取り扱いを「自由」(free)と定めていればフリーソフトウェアであると考えられます。
OSSはソースコードを公開し、再配布を認めることがフリーソフトウェアとの大きな違いです。OSSは、ソースコードの脆弱性対策やバグの修正、機能追加・拡張などを常に継続・維持するために、多くの開発者が世界中から参加するOSSコミュニティや開発元企業でソースコードが開発されています。これらの仕組みを使い、OSSはOSやデータベースといった企業の利用を目的とし、企業が要求する利用環境に耐える性能や機能、品質を実現しています。OSとして有名なLinuxなども、ほとんどのディストリビューション(派生バージョンのようなもの)がOSSとなっています。
なぜライセンスを正しく理解する必要があるのか?
絵画や制作物に著作者が著作権を主張するのと同じように、プログラムやソースコードにも著作権が発生します。著作者の許諾がなく、利用すると著作権侵害により、訴訟やトラブルに発展する可能性があります。その著作物を著作者が指定する条件をもとに利用する権限を与える許諾にあたるものをライセンスと呼びます。
つまり利用者はライセンスの決まりを遵守することで、正式にその著作物を利用することができます。ライセンスは著作者の権利を守るために存在しているのです。
オープンソースライセンスの定義
「オープンソース」であるプログラムの頒布条件は、ある基準を満たさなければなりません。オープンソースライセンスの主な定義は、以下の10項目です。以下のライセンスを持つソフトウェアがOSSとして認められ、広く利用されています。
以下2点はオープンソースライセンスにおいて最も重要なポイントです。
- 再配布の自由
- ソースコード
以下はほかの項目です。
- 派生ソフトウェア
- 作者のソースコードの完全性(integrity)
- 個人やグループに対する差別の禁止
- 利用する分野(fields of endeavor)に対する差別の禁止
- ライセンスの分配(distribution)
- 特定製品でのみ有効なライセンスの禁止
- 他のソフトウェアを制限するライセンスの禁止
- ライセンスは技術中立的でなければならない
オープンソースの定義の10項目
OSSライセンス「コピーレフト」の概念を知ろう
OSSライセンスは、「コピーレフト」という概念の適応状況によって3つに分類できます。
コピーレフトとは、著作権を保持したままで、すべての利用者が改変や再配布をできなければならないという概念であり、著作物が配布され続ける限り、制限なく適用され続けます。
以下、3つのコピーレフトの「型」にわけて、それぞれ有名なライセンスを紹介します。
コピーレフト型
代表的なライセンス:GPL(GNU General Public License version2、version3)
その他:AGPL(GNU Affero General Public License version 3)やSleepycat License
主にWordPressやLinuxで採用されており、オープンソースライセンスのなかで制限が最も厳しいとされ、以下のように定められています。
- 著作権表示を保持する
- 無保証
- 誰でも自由に複製、改変、配布することが可能
- GPLライセンスを使用した場合は、その制作物もGPLライセンスで配布する
GPLライセンス
GPLは組み込み開発の現場ではよく利用されているライセンスです。
こちらがGPLの「GNU 一般公衆利用許諾契約書」となります。
GPLは派生したソフトウェアにもGPLライセンスの適用を求めるため、GPLのソースが1行でもコードに混入している場合、そのソースはすべてGPLとして公開することが必要です。
一度GPLとなった場合、あとからライセンスを変更することは原則できないため、ソースの制限の追加に大きな制限となります。ソースコードを非公開にするソフトウェアを開発したいと考える一般的なソフトウェア開発会社やほかのライセンスの支持者からは、「GPL汚染」と呼ばれています。
準コピーレフト型
代表的なライセンス:MPL(Mozilla Public License)
その他:LGPL(GNU Lesser General Public License)
主にFirefoxやThunderbirdなどのMozillaソフトで採用されており、コピーレフト型から制限を緩めたライセンスです。
- 再配布する場合は著作権表示を残す
この点はコピーレフト型と同じですが、準コピー型の特徴は以下の2点です。
- 派生ソフトウェアまでは同じライセンスを適用する
- OSSをほかのソフトウェアと組み合わせた場合、組み合わせ先のソフトウェアまではライセンスの適用を要求しない
このため、コピーレフト性を有しながらも、伝播性は弱くなるのが特徴です。
MPLライセンス
MPLライセンスの原文はこちらです。
MPLはビジネス、オープンソースコミュニティ双方で利用に配慮したライセンス形態です。
また、特許を含まない場合、MPLでライセンスされたコードの利用、改変、再配布は自由です。しかし、特許で保護されたコードを含む場合には、改変に関しては特別な許可がない限り認められていないことにくわえて、被許諾者に対して貢献者の商標関連の権利は付与されません。
非コピーレフト型
代表的なライセンス:BSD(Berkeley Software Distribution)
その他:MIT(Massachusetts Institute of Technology)、Apache
最も有名な非コピーレフト型ライセンスは、カリフォルニア州立バークレイ大学によって作成されたBSDライセンスで、以下の2点が特徴です。
- 派生物にまで同じライセンスの適用を要求しない
- ほかのプログラムと組み合わせた場合も、組み合わせ先のソフトウェアにまで同じライセンスの適用を要求しない
修正BSDライセンス
修正BSDライセンスの原文はこちらです。
修正BSDライセンスはMITライセンスに近い制限の緩いライセンスの一つです。MITライセンスとの違いは派生物の宣伝に開発者や配布者の名前を無断で使用することを禁じている点です。
MITライセンス
MITライセンスの原文はこちらです。
BSDライセンスに類似していますが、ザブライセンスや著作権者の許諾に関する内容が細かく記載されている点が異なります。
Apacheライセンス
Apacheライセンスの原文はこちらです。
Apacheとは、世界的に最も普及しているWebサーバ(HTTPサーバ)ソフトウェアの一つ。Apache Software Foundation(Apacheソフトウェア財団)が開発しているオープンソースソフトウェアです。
最新のバージョンは、Apache License v2.0ですが、Apache Software License v1.1も多数存在しています。v1.1では、ドキュメントへの謝辞の記載義務がありましたが、v2.0では、記載義務が削除され、開発者による著作権や特許権の許諾が明確になりました。
これらの特徴により、非コピーレフト型のOSSを利用した派生物を配布する場合、ソースコードを非公開にできます。こちらのリンクに掲載されている、ある調査では、近年は非コピーレフト型のライセンスが多く好まれる傾向があり、その中でも MIT License や Apache License 2.0 が上位にきていることがわかります。
以上3つの分類をまとめると下のような表となります。
類型 | ライセンス | 利用 | 改変 | 複製 再配布 | 改変部分の ソース公開の必要性 | 商品利用 |
コピーレフト型 | GPL | 〇 | 〇 | 〇 | 公にする場合はGPLライセンスで 公開が必要 | △ |
準コピーレフト型 | MPL | ○ | ○ | ○ | 〇 (ほかのコードと組み合わせた場合は不要) | 〇 |
非コピーレフト型 | 修正BSD | ○ | ○ | ○ | × | 〇 |
MIT | 〇 | 〇 | 〇 | × | 〇 | |
Apache | 〇 | 〇 | 〇 | × | 〇 |
【コピペOK】MITライセンスの記載例
ここでは一番よく使用されるであろうMITライセンスの記載例を紹介しておきます。
当サイトの「まにゅまるスクリプト」のMITライセンスの英語版と日本語版、それぞれ記載しておきます。
それぞれご自由に使用いただいて構いませんのでどうぞご活用ください。
英語版
こちらを右クリックして「名前を付けてリンク先を保存…」でダウンロードできます。
MIT License
Copyright (c) 2023 Manumaruscript.com
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
日本語版
こちらを右クリックして「名前を付けてリンク先を保存…」でダウンロードできます。
Copyright © 2020-2023 まにゅまるスクリプト
MITライセンスにて公開
本ソフトウェアおよび関連文書ファイル(以下「本ソフトウェア」)の複製を取得する
すべての者に対して、本ソフトウェアの使用、複製、変更、結合、出版、配布、
サブライセンス、および/または複製物の販売に関する権利を含むがこれに限定されない、
無制限の取引を行い、また本ソフトウェアを提供される者に対しても、
以下の条件の下でこれを許可することを、ここに無償で許可する。
この場合、本ソフトウェアは、以下の条件に従って使用することができます。
本ソフトウェアは「現状のまま」提供され、
商品性、特定目的への適合性および非侵害の保証を含むがこれに限定されない、
明示または黙示のいかなる種類の保証もない。本ソフトウェアの使用またはその他の取引に起因する、
契約、不法行為、その他の行為のいずれであっても、著者または著作権者は、いかなる場合も、請求、損害賠償、
その他の責任を負わないものとします。
短縮例
ちなみに短縮しての記載も可能で、その場合の記載例は以下になります。
Copyright (c) 2023 Manumaruscript.com
Github
Released under the MIT license
https://opensource.org/licenses/mit-license.php
CC(クリエイティブ・コモンズ)ライセンスは非推奨!
その他ライセンスとして有名なものに、CC(クリエイティブ・コモンズ)ライセンスがあります。
皆さんも一度は耳にしたことがあるのではないでしょうか。
ソフトウェアにCCライセンスを適応することは可能ですが、オススメはできません。CCライセンスは、ソースコードとオブジェクトコードについては、適用の対象として考慮されていないからです。CCライセンスはプログラムでは使わず、Free Software Foundationや、Open Source Initiativeがリストに挙げているライセンス(日本語参考訳)など、ソフトウェアに適したライセンスの利用を検討しましょう。
ライセンスを理解した上で正しく活用しよう
オープンソースライセンスは、著作者の権利と名誉を守ると同時にソフトウェアの発展のために生まれた概念です。
現在、OSSは飛躍的に品質が向上しており、ソフトウェア開発に不可欠なものとなっており、これらのライセンスについての理解なくして正しい利用はできません。
OSSには利用する側だけでなく、公開者にも多くのメリットがあります。例えば多くの人が利用するほど多くの人にメンテナンスしてもらえる、ソースコードを公開することで透明性を確保できる、ソースコードの質によってはブランディングが生成できるなど、さまざまです。
オープンソースプロジェクトは人々の努力と貢献により発展してきました。それらの思いを踏みにじらないよう、ライセンスを守って正しく利用しましょう!