Upload
natsuki-yamanaka
View
362
Download
3
Embed Size (px)
Citation preview
オープンソースソフトウェアライセンスについて
1. オープンソースとは
2. オープンソースライセンスの種類
3. GPL・LGPL・MIT等の違い
4. まとめ
5. 参考文献
アジェンダ
1. ・ソースコードが公開されている
2. ・ソースコードを利用・複写・改変・再配布できる
3. ・使用するには開発者により定められた条件(ライセンス)に
従う必要がある
1、オープンソースとは
・ライセンスは開発者が自由に作成できる。
↓
ライセンスは無数に存在
1、オープンソースとは
Apache v2 GPL MIT BSDLGPL No License LGPL v2.1 GPL v2
現代のほとんどのライセンスは「コピーレフト」と呼ばれる概念に
基づいて、三つに分けられている。
2、オープンソースライセンスの種類
2、コピーレフトとは
著作者が著作物に対する権利(著作権)を保有したまま著作物の配布条件として、利
�者に著作物を複写・改変・再配布する�由を与える��で、派生物(二次的著作物)の配布者に対しても、全く同じ条件で派生物を配布することを義務づけるといった考
え方のこと。
→ライセンスの継承を要求するライセンス形式
・オープンソースを商用利用する企業は技術を閉じ込めてしま
いがちだが、それをさせなくすることができる
・誰でも改変できることで、開発の継続性が確保されやすい
2、コピーレフトのメリット
2、コピーレフトの種類
コピーレフトを適用する範囲によって、下記に分けられる
・コピーレフト型
・準コピーレフト型
・非コピーレフト型
2、コピーレフトの種類
改変部分のソースコードの開示が必要
リンクして使う、他のソフトウェアのソースコード開示が必要 (詳細後述)
コピーレフト型例:GPL ◯ ◯
準コピーレフト型例:LGPL ◯ ×
非コピーレフト型例:BSD/MIT × ×
1. GNU General Public License (GPL) 2.0 25%2. MIT License 19%3. Apache License 2.0 16%4. GNU General Public License (GPL) 3.0 10%5. BSD License 2.0 (3-clause, New or Revised) License 7%6. Artistic License (Perl) 5%7. GNU Lesser General Public License (LGPL) 2.1 5%8. GNU Lesser General Public License (LGPL) 3.0 2%9. http://www.opensource.org/licenses/ms-pl 2%10. Eclipse Public License (EPL) 2%https://www.blackducksoftware.com/resources/data/top-20-open-source-licenses
3、ライセンスの割合
一番緩いライセンス。必須事項は下記の2つのみ
1. 著作権の表示
2. 無保証
3、MIT / BSD / Apache LicenseV2.0
※類似のライセンス
修正BSD、Apache License v1.1, v2.0
その他:http://ftp.heanet.ie/disk1/www.gnu.org/licenses/license-list.ja.html
・著作権さえ残せば改変自由。好きにつかってよし。
・ただし利用に際して起こった損害等について著作権者は一切保証しませんよ、とい
うライセンス
→このライセンスのライブラリなら使用して大丈夫
※ただし著作権表示消さないように
3、MIT / BSD / Apache LicenseV2.0
・著作権の表示 原則としてソースコードに含める必要がある
3、MIT / BSD / Apache LicenseV2.0
例:JQuery
3、GPL(GNU General Public License)現在世界で最も多く使われているオープンソースライセンス形式。
1. 著作権の表示
2. 無保証
3. GPLライセンスの継承(ソースコードの公開含む)
よくある疑問:
・このライセンスのライブラリやソフトウェアは商用
に使っても問題ないのか?
3、GPL(GNU General Public License)
3、GPL(GNU General Public License)
・使い方があってれば大丈夫
しかし意図せずこのライセンスが使われていると後でソースコード全公開になるケー
スがあります。
▪�GPL違反の例ソニー・コンピュータエンタテインメントのプレイステーション2用ゲーム『ICO』にGPLライセンスのライブラリ「libarc」の使用が発
見され議論に
http://japanese.engadget.com/2007/11/29/ico-gpl/
・使用にあたってはどのような場合にソースの開示を要求されるのかを認識しておくことが必要になります。
※よくある勘違いですが、GPLは商用には一切使えないという
ことはありません
3、GPL(GNU General Public License)
・例:MySQL
→GPL汚染なし
プロセス間通信はGPLに触れないとされています。
その為、Webサーバのバックエンドなどで動かす場合には商用に利用したとしてもソースを公開する義務は
一切ありません。
・配布する製品の一部にGPLの製品を含めた場合にのみその製品に GPLが適用されます。
・どのような含め方がGPL汚染につながるのかは裁判官次第
(GNU FAQ 該当箇所 )http://www.gnu.org/licenses/gpl-faq.ja.html#MereAggregation
3、GPL(GNU General Public License)
3、GPL(GNU General Public License)・例:ネイティブアプリのライブラリにGPLを組み込む場合
→GPL汚染
Google PlayやApp Storeでアプリとして公開するとして、その開発に GPLライブラリを使っていた場合。
これはバイナリに含められることで起動の際に必要とされる為、公開したアプリのソースにも基本的に GPLの制約がかかります。
例外:AndroidのIntentやスキーマによる起動など、アプリのバイナリに含めない状態でライブラリを使用す
る場合はGPL汚染なし
・例:WebサイトのページにGPLのJSライブラリを組み込む
→GPL汚染なし
・もともとサイト上のHtmlソースは公開されている
・サーバーサイドのソースは別プロセス
・Node.jsに組み込むなら多分汚染あり
3、GPL(GNU General Public License)
・例:社内専用システムに組み込む場合
→GPL汚染なし
・GPLによるソースコードの公開義務が発生するのはあくまで外部に配布・公開するときのみ
・これに使われたソースを外部に提供する、などの場合は GPLが適用される
3、GPL(GNU General Public License)
3、GPLの境界線
・プロセスが同じかどうか
例えば、Mac OS X ServerにはGPLライセンスのMySQLがバンドルされているが、Mac OS X Server自体はGPLにはなっていない
→下記を行うとGPL汚染にかかるとされている。
・元のGPLソフトウェアを改造
・GPLのライブラリをリンク
※プロセス間通信が非常に緊密な場合には結合プロセスとする、という見解もある
※あくまで目安です(GNU FAQ 該当箇所 )http://www.gnu.org/licenses/gpl-faq.ja.html#MereAggregation
3、LGPL(GNU Lesser General Public License)
・GPLを少し緩くした準コピーレフト型ライセンス
・利用の仕方によって、ライセンスの継承は必要ない場合があ
る
・GPLとの違い
→・ライブラリの派生著作物
・ライブラリを利用する著作物
か、で制限が違う
(条文)LGPL v2.1:5条「『ライブラリ』を利用する著作物」に『ライブラリ』をリンクして実行形式を作成すると、それは「『ライブラリ』を利用する著作物」ではなく、『ライブラリ』の派生物となる(なぜな
らそれは『ライブラリ』の一部を含んでいるから)。そこで、実行形式はこのライセンスで保護される。
3、LGPL(GNU Lesser General Public License)
・ライブラリの派生著作物
→LGPLライセンスの継承が必要
ソースコードの公開が必要
(条文)LGPL v2.1:2条あなたは自分の『ライブラリ』の複製物かその一部を改変して『ライブラリ』 を基にした著作物を形成し、そのような改変点や著作物を上記第1節の定める条件の下で複製
または頒布することができる。ただし、そのためには以下の条件すべてを満たしていなければならない:
c) あなたはいかなる第三者に対しても、著作物全体をこの契約書の定める条件に従って利用することを無償で許可しなければならない。
3、LGPL(GNU Lesser General Public License)
・ライブラリを利用する著作物
→継承必要なし
ソースコードの公開も必要なし
※ただしリバースエンジニアリングを許可しなければならない
(条文)LGPL v2.1:6条上記各節の例外として、あなたは「『ライブラリ』を利用する著作物」を『ライブラリ』と結合またはリンクして、『ライブラリ』の一部を含む著作物を作成し、その著作物をあな
たが選んだ条件の下で頒布することもできる。ただし その場合、あなたの条件は顧客自身の利用のための著作物の改変を許可し、またそのような改変をデバッグするた
めのリバースエンジニアリングを許可していなければならない。
3、LGPL(GNU Lesser General Public License)
・派生著作物か、利用しているだけかの見分け方
→動的リンクで、かつコンピュータに存在するライブラリを利用する場合は派生著作物にはならない
(GNU FAQ)GNUライセンスに関してよく聞かれる質問
(2) ユーザのコンピュータに既に存在するLGPLのライブラリに対し動的にリンクする場合、あなたは、ライブラリのソースを運搬する必要はありません。一方、あなたのア
プリケーションと一緒にLGPLのライブラリの実行形式をあなた自身が運搬する場合、それが静的、あるいは動的にリンクされているかによらず、LGPLが提供する方法の
一つでライブラリのソースを運搬する必要があります。
3、LGPL(GNU Lesser General Public License)
・動的リンクの定義
基本的な動的リンクの定義はリンクされるライブラリが実行ファイルと別ファイルかどうかで見分けられる。
財団法人経済産業調査会の記事
http://www.ogis-ri.co.jp/product/download/palamida/UsingOSS_Vol4.pdf
静的リンクとは、プログラムそれ自身にあるライブラリを「繋ぎあわせ」、一つのファイルとして実行可能な形式のバイナリにすることである。一方、動的リンクとはプログラ
ムの実行時に初めて他のモジュールやライブラリと結合(呼び出し)する方式である。動的リンクの場連載企画:オープンソースソフトウェアを利用した製品開発の現状と課
題2/8 Copyright(C) 2011 OGIS-RI All rights reserved.合は基本的には実行プログラムと、呼び出す先のライブラリは別のファイルである。一般的に動的リンクの方
が汎用性が高く、実行可能形式のプログラムのサイズを小さく出来るという利点がある。しかし、ライブラリを呼び出す際に必要なモジュールがなければ、そのプログラム
は動かないという欠点もある。平たく言えば関連するソフトウェアを一つのファイルとして結合したものが静的リンク、物理的には結合しないがプログラム動作時には呼び
出すことができる状態になっているものを動的リンクと呼ぶ
3、LGPL(GNU Lesser General Public License)
・商用利用
→・ライブラリの派生著作物
・ライブラリを利用する著作物
どちらもソースコードが解析・逆コンパイルされる可能性がある
ので、避けた方が無難
3、LGPL(GNU Lesser General Public License)
・商用利用
ただし、GPLと同じくライブラリとしてリンクしていなければ大丈夫。
仮に、Webサーバのソースが「ライブラリを利用する著作物」だとしても、バイナリを
配布したりしていないのでほぼリバースエンジニアリングなどはできないと思います。
ネイティブアプリ等はバイナリ配布するので解析される恐れがあり
3、LGPL(GNU Lesser General Public License)
・ネイティブアプリのプロジェクト内にGPL、LGPLを使うと後々大問題になりそう
・サーバサイドなどに使うライブラリなら検討の余地あり
・ライセンスの明記されていないライブラリは気をつけましょう
※今回の内容は自分の解釈なので、違うなと思ったら各条文・日本の法律を見て下さい
4、まとめ
・GIFの特許問題
2004年6月20日までGIF画像を作成したり表示したりする際には、Unisys社の特許技術が必要なため、例えば下記のような行
為が禁止されていました。
・非ライセンスソフトを用いてGIF画像を作成し、公開する。
・非ライセンスソフトを用いて作成されたGIF画像を入手し、公開する。
・非ライセンスのライブラリを用いたGIF画像作成・表示ソフトを開発・公開する。
フリーソフトでGIF生成ツールなどを使うと、特許違反で後からライセンス料を支払わされるなどのケースがあったようです。
http://www.tohoho-web.com/wwwxx051.htm
4、おまけ
4、おまけ
・オープンソースソフトウェア検出ツールというのもあるそうです
価格は検査対象ファイルが 50Mバイト以下,5ユーザーの場合で 378万円など。高い (2006年の記事)http://itpro.nikkeibp.co.jp/article/NEWS/20060130/228129/
▪�各ライセンス原文訳
・GPLv3 非公式日本語訳 (※日本語訳は公式がないです )http://sourceforge.jp/projects/opensource/wiki/licenses%252FGNU_General_Public_License_version_3.0・GPLv2 非公式日本語訳http://sourceforge.jp/projects/opensource/wiki/licenses%2FGNU_General_Public_License・LGPLv3 非公式日本語訳http://sourceforge.jp/projects/opensource/wiki/licenses%2FGNU_Lesser_General_Public_License_version_3.0・LGPLv2.1 非公式日本語訳http://sourceforge.jp/projects/opensource/wiki/licenses%2FGNU_Library_or_Lesser_General_Public_License▪�解釈まとめ
・OSS ライセンスの�較および利�動向ならびに 係争に関する調査http://ossipedia.ipa.go.jp/nfs/pdf_pub/1005/203/194/194.pdf・財団法人経済産業調査会記事: OSS ライセンスの特徴とその解釈の違いから発生する諸問題http://www.ogis-ri.co.jp/product/download/palamida/UsingOSS_Vol4.pdf
5、参考文献