【プログラマ必見】MIT,GPL..OSS(オープンソースソフトウェア)のライセンスの種類と違いについて解説

この記事では、

「オープンソースは全て無料で商用利用可という意味だと思っていて、著作権法を理解しておらずトラブルに巻き込まれてしまった」

「Githubに転がってるライブラリを使いたいが中々権利関係が怖くて手が出せない

という方へ向けて、OSS(オープンソースソフトウェア)のライセンスの種類について解説していきます。(※この記事ではexeなどにパッケージングされていないソースコードのライブラリも、総括して「ソフトウェア」と呼称します)

この記事を読むことで、各種ライセンスの違いを理解し、自分で適切なライセンスを選ぶことが出来るようになります。

ライセンスについて理解を深め、創作活動にガンガン活用できるようになりましょう。

※この記事の所要時間は5分です。

オープンソースソフトウェア(OSS)とは

プログラミングにおけるライセンスの種類

まず初めに、オープンソースソフトウェア(OSS)とはソースコードが無償で公開され、複製・改変・再配布が誰でも自由にできるソフトウェアのことです。OSSの複製・改変・再配布が可能な範囲はライセンスによって制限があり、これをオープンソースライセンスと呼びます。

OSSは利用条件を守らないと、著作権違反やコンプライアンスの問題に発展することがあります。実際にオープンソースライセンスの利用規約違反により、訴訟に至った事例もあるくらいです。開発の受託者がライセンス違反を見落とし、組み込んだ場合、企業間トラブルに発展することも珍しくありません。

また、再配布時には、ソースコードとライセンス文書の添付、原著作者の著作権表示を削除を禁止するなどの制限が設定されていることもあり、利用するOSSのライセンスを確認して利用することはもはや必須と言えます。

フリーソフトウェアとOSSの違い

“フリーソフトウェア”という言葉を、皆さん一度も聞いたことあるのではないでしょうか。
OSSとの共通点もありますが、異なる点が多いため、まったく異なるソフトウェアであることを理解する必要があります。

フリーソフトウェアオープンソース(OSS)
ソースコード非公開公開
再配布禁止の場合もある可能
費用有償の場合もある無償

フリーソフトウェアとOSSの違いとしては、フリーソフトウェアはソースコードが非公開であることが挙げられます。ソースコードが非公開な場合、ユーザーはブラックボックスなアルゴリズムのままソフトウェアを使うことになり、精度や信頼性に疑問が残ってしまいます。また、OSSはソースコードの再配布が可能である一方、フリーソフトウェアでは再配布は認められていない場合もあります。

フリーソフトウェアは利用者がいかように扱うのも「自由」(free)であることが重んじられている概念であり、開発者が有償で販売している場合もその後の取り扱いを「自由」(free)と定めていればフリーソフトウェアであると考えられます。

OSSはソースコードを公開し、再配布を認めることがフリーソフトウェアとの大きな違いです。OSSは、ソースコードの脆弱性対策やバグの修正、機能追加・拡張などを常に継続・維持するために、多くの開発者が世界中から参加するOSSコミュニティや開発元企業でソースコードが開発されています。これらの仕組みを使い、OSSはOSやデータベースといった企業の利用を目的とし、企業が要求する利用環境に耐える性能や機能、品質を実現しています。OSとして有名なLinuxなども、ほとんどのディストリビューション(派生バージョンのようなもの)がOSSとなっています。

フリーソフトウェアとフリーウェアの違い

フリーソフトウェア:利用者が自由に使用、複製、改変、再配布などを行える。
フリーウェア:入手や利用は無料だが、利用者はソースコードを自由に扱えない。

引用:IT用語辞典 e-Words 「フリーソフトウェア【free software】フリーソフト」

なぜライセンスを正しく理解する必要があるのか?

ライセンスを正しく理解する訳

絵画や制作物に著作者が著作権を主張するのと同じように、プログラムやソースコードにも著作権が発生します。著作者の許諾がなく、利用すると著作権侵害により、訴訟やトラブルに発展する可能性があります。その著作物を著作者が指定する条件をもとに利用する権限を与える許諾にあたるものをライセンスと呼びます。

つまり利用者はライセンスの決まりを遵守することで、正式にその著作物を利用することができます。ライセンスは著作者の権利を守るために存在しているのです。

オープンソースライセンスの定義

「オープンソース」であるプログラムの頒布条件は、ある基準を満たさなければなりません。オープンソースライセンスの主な定義は、以下の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ライセンスの英語版と日本語版、それぞれ記載しておきます。
それぞれご自由に使用いただいて構いませんのでどうぞご活用ください。

英語版

こちらを右クリックして「名前を付けてリンク先を保存…」でダウンロードできます。

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
Released under the MIT license
https://opensource.org/licenses/mit-license.php

Github

CC(クリエイティブ・コモンズ)ライセンスは非推奨!

CCライセンスはプログラムには非推奨

その他ライセンスとして有名なものに、CC(クリエイティブ・コモンズ)ライセンスがあります。
皆さんも一度は耳にしたことがあるのではないでしょうか。

ソフトウェアにCCライセンスを適応することは可能ですが、オススメはできません。CCライセンスは、ソースコードとオブジェクトコードについては、適用の対象として考慮されていないからです。CCライセンスはプログラムでは使わず、Free Software Foundationや、Open Source Initiativeがリストに挙げているライセンス(日本語参考訳)など、ソフトウェアに適したライセンスの利用を検討しましょう。

ライセンスを理解した上で正しく活用しよう

ライセンスを正しく活用する

オープンソースライセンスは、著作者の権利と名誉を守ると同時にソフトウェアの発展のために生まれた概念です。

現在、OSSは飛躍的に品質が向上しており、ソフトウェア開発に不可欠なものとなっており、これらのライセンスについての理解なくして正しい利用はできません。

OSSには利用する側だけでなく、公開者にも多くのメリットがあります。例えば多くの人が利用するほど多くの人にメンテナンスしてもらえる、ソースコードを公開することで透明性を確保できる、ソースコードの質によってはブランディングが生成できるなど、さまざまです。

オープンソースプロジェクトは人々の努力と貢献により発展してきました。それらの思いを踏みにじらないよう、ライセンスを守って正しく利用しましょう!

まる。

━━━━━━━━━━━━━━━━━
■未経験OK!大学生インターン募集中!
プログラミングやITなど
興味ある方ご連絡ください‎。
(๑ > ﻌ <`)و✧
━━━━━━━━━━━━━━━━━
Python歴5年のフルスタックエンジニア&ヨギー。
大学は心理学専攻、趣味はヘルスケア全般。
最近は自作脳波デバイスの設計とそれを使ったインタラクティブアート生成に勤しみ中。

↓アートとか日常。
Instagram:@malmal0v0

お仕事のご依頼はDM又はメールにて。

まる。をフォローする
その他の記事はこちら
【最新版】DMM WEBCAMP徹底比較!就業両立・専門技術・短期集中コースのどれがおすすめ?タイプ別に解説
世界初!?はんだ用卓上リフロー炉で「リフローたこ焼き」は調理できるのか
【エンジニアのキャリアを伸ばす】tech boostの持つ、2つのコースとは?特徴やメリットを解説!【未経験からフリーランスになろう】
【ネタバレ】2024年しろたん新春福袋を購入したので中身を紹介します!【限定品は?総額いくら?】
[Touchdesigner]CHOPの波形グラフをオーバーレイ(重ねて表示)する方法

※当サイトはプロモーションリンクを使用しています。

GitProgramming
まにゅまるスクリプト。
タイトルとURLをコピーしました