Contenu connexe
Similaire à Software license (19)
Software license
- 2. Copyright
Copyright = 著作権
著作権とは
著作権(ちょさくけん)とは、言語、音楽、絵画、建築、
図形、映画、写真、コンピュータプログラムなどの表現
形式によって自らの思想・感情を創作的に表現した者に
認められる、それらの創作物の利用を支配することを目
的とする権利をいう。-wikipedia引用
著作権は著作者に対して付不される財産権の一種であり、
著作者に対して、著作権の対象である著作物を排他的に
利用する権利を認めるものである。-wikipedia引用
著作権者は、他人に対し、その著作物の利用を許諾する
ことができる。-著作権法第63条1項
- 3. License
ライセンスとは
ライセンス(米: license、英: licence)は、それが存在
しなければ違法となる行為をすることを許可すること、
あるいはその許可を称する書面のことをいう。–
wikipedia引用
運転免許証 → 持ってなければ車運転しちゃダメ
医師免許証 → 持ってなければ医業しちゃダメ
etc...
- 4. Software License
ソフトウェアライセンスとは
ソフトウェアライセンス (software license) は、コン
ピュータのソフトウェアについて、ソフトウェア利用者
が遵守すべき事項を記載した文書である。-wikipedia引
用
要するにソフトウェアの利用上やっていいこととダメな
ことを書いたもの
ソースコードを公開している場合はソースコード
のライセンスも含まれる
オープンソースライセンスが有名である
- 5. Open Source License
GPL (2系,3系) - Linux Kernel (GPL2.0)
LGPL (2系,3系) - OpenOffice.org (LGPL3.0)
New BSD License - FreeBSD, PostgreSQL
Apache License - Apache HTTP Server
MIT License - X11, jQuery
etc....
- 6. Open Source Software(OSS)
書いたソースを公開するだけで「オープンソー
ス」というわけではない
オープンソースとはOSDに準拠していることを意
味する
すなわちオープンソースソフトウェアとはOSDに
準拠したライセンスの下で公開されているソフト
ウェアのこと
OSD準拠のライセンス*1は
OSI認定マークによって証明できる→
Open Source Initiative
*1 http://opensource.org/licenses/alphabetical
- 7. Open Source Definition(OSD)
1. 再頒布を許可すること
2. ソースコードの再頒布も許可すること
意図的にわかりづらくしたコードとかはダメ
3. 派生ソフトを同じライセンスでの頒布を許可すること
4. 派生ソフトの再頒布はパッチ形式を義務付けても良い
派生ソフトを別の名前で再頒布することを義務付けても良い
5. 個人(団体)への差別禁止
6. 利用分野への差別禁止
兵器利用は丌可とか制限できない
7. 再頒布時に別のライセンスの付加を求めてはいけない
8. 特定ソフトにおいてのみ有効なライセンスとしてはいけない
それが何かの一部であるとき、全体と一緒のときだけOSSとかはダメ
9. 共に頒布するソフトを制限してはいけない
こんなソフトと一緒に頒布したらダメ、とかいう制限はできない
10. 特定技術に依存したライセンスであってはならない
windows上で動かす場合のみOSSとかはダメ http://opensource.org/osd
http://www.opensource.jp/osd/osd-japanese.html
- 8. Redistributions
更に改良
再頒布とは? できるぞ
この人から見て
(Modified)
Source Source
Code Code
再頒布
Binary (Modified)
Code Binary
OSS OSS Code
ですよ ですよ
便利だ!
- 9. Redistributions
再頒布とは?
頒布→丌特定の人に配ること
この人から見て 配布→特定の人に配ること
Source
Code
再頒布
Binary (Modified)
Code Binary
プロプラ Code
OSS
イエタリ
ですよ
ですよ
便利だ!
- 10. Free Software?
フリーソフトウェアの定義*1
0. いかなる目的に対しても、プログラムを実行する自由
1. プログラムがどのように動作しているか研究し、必要
に応じて改造する自由
2. 身近な人を助けられるよう、コピーを再配布する自由
3. 改変した版を他に配布する自由
Proprietary Software
OSDとの違いは? フリーソフトウェアではないもの
思想がずれているようです*2
“Open source is a development methodology;
free software is a social movement.”*3
*1 http://www.gnu.org/philosophy/free-sw.html
*2 http://www.gnu.org/philosophy/open-source-misses-the-point.html
*3http://www.gnu.org/philosophy/free-software-for-freedom.html
- 11. Copy Left
FSF*1が提唱した著作権に対する考え方
コピーレフトの定義
著作物の利用、コピー、再配布、翻案を制限しない
改変したもの(二次的著作物)の再配布を制限しない
二次的著作物の利用、コピー、再配布、翻案を制限して
はならない
コピー、再配布の際には、その後の利用と翻案に制限が
無いよう、全ての情報を含める必要がある(ソフトウェ
アではソースコード含む)
翻案が制限されない反面、原著作物の二次的著作物にも
同一のコピーレフトのライセンスを適用し、これを明記
しなければならない
-wikipedia引用
*1 Free Software Foundation
- 13. New BSD License
BSDライセンスを修正したライセンス
頒布時にはソースコードやドキュメント等に
Copyrightと本条件と無保証である旨の免責事項
を含めること
派生ソフトの広告に貢献者や団体の名前を許可
なく記述していい
以上の条件の下で改変の有無・形式を問わず
頒布してOK
URL先を見ると早い
http://opensource.org/licenses/BSD-3-Clause
- 14. Original BSD License
修正される前のBSDライセンス
New BSD Licenseの
“派生ソフトの広告に貢献者や団体の名前を
許可なく記述していい”
が
“派生ソフトの広告に貢献者や団体の名前を
記述すること”
だった
広告が大量の貢献者の名前で埋め尽くされるので
この条項を消した
- 15. MIT License(X11 License)
MITで開発されたX11(X Window System)の
配布に使われているライセンス
内容はNew BSD Licenseと同じ
http://opensource.org/licenses/MIT
BSDライセンスはNewとOriginalを混同しやすい
ため、MITライセンスを用いる人は多い
- 16. Apache License 2.0
Apache HTTP Serverの配布に使われている
ライセンス
内容はNew BSD Licenseとほぼ同じ
“無料の特許ライセンスを不えること”
“派生ソフト及びその広告にソフトの名前やト
レードマークを勝手に使わないこと”
“変更箇所を変更したとわかるようにすること”
などが加えられている
- 17. GPL 2.0
コピーレフトなライセンス
そのまま頒布する場合
著作権・本条件・免責事項を書く
派生ソフトを頒布する場合
変更点を明示する
同じライセンス(GPL2.0)で頒布する
プログラム実行時の対話的な部分で著作権・ライセンス
条項を表示する
バイナリコードを再頒布する場合
ソースコード(又はその入手方法)を添付する
- 18. GPL 3.0
技術等の進歩に伴ってライセンスも更新した
用語の選別、他ライセンスとの互換性、 Tivo化
への対処、DRMへの対処、ライセンス違反時の対
処法、などを修正した
Tivo化
GPLであるにも関わらずハードウェアの制限によって
ユーザの派生ソフトの作成を妨害するようなもの
- 19. LGPL 2.1, 3.0
GPLに比べて自由を守る力が弱い(Lesser)ライ
センス、限定的にコピーレフト
オープンソースなソフトウェアを利用して開発す
るとき、自分のコードには制約は課されない
emacs, Eclipse等
しかしライブラリの場合は話は別、派生ソフトと
みなされてしまう
jQuery, FuelPHP等(どちらもGPL系ではないが)
そのライブラリの動的リンクを派生ソフトとみな
さないのがLGPL
lddコマンドで出るやつが動的リンクされてるもの
- 21. OSS Use
個人的に使う(再頒布(再配布)しない)
基本的に使用方法は問われない
AGPLの場合に限り例外あり
ライブラリとして利用して作ったものを頒布する
or 修正して頒布する
or リンクして利用するものを頒布する
基本的に派生ソフトと見做され、コピーレフトであれば
ソースコードの頒布も必要
○ 配布であれば、配布対象者へのコードの配布でOK
- 22. License Compatibility
2つのソフトを組み合わせる時に、両者のライセンスに
互換性があるかどうか
GPL互換性
特にGPLとの互換性があるかないかが重要*1
GPLコードの含まれるコードは全てGPLになる
○ GPLが許していることを禁止しているライセンスとは
互換性がない
○ e.g. Apache License x GPL2.0は非互換(特許権停止について)
GPL互換性リスト
http://www.gnu.org/licenses/license-list.html
*1 http://www.dwheeler.com/essays/gpl-compatible.html
- 23. GPL汚染
GPL汚染とは?
GPLは再頒布物にGPLを適用することを強制するため、
GPLのコードを1行でも含んでしまったソフトウェアは
ソースコードを全て公開する必要がある
現状では実質的にGPLのコードをビジネスに使うのは
難しいということになっている
GPLのコードをビジネスに使っている例
RedHat*1
GPLのコードをこっそり使っちゃった例
ElecomルータGPL違反*2
*1 http://jp.redhat.com/
*2 http://slashdot.jp/story/04/06/23/0624231/
- 24. Multi Licensing (e.g. MySQL)
マルチライセンシングとは複数種類の
ライセンスで配布する手法
利用者はどのライセンスを適用するか選べる
(1つだけ選べる)
MySQLのライセンス
GPL
Commercial License
MySQLを内包したようなプログラムを配布するにはGPLとし
て公開するかコマーシャルライセンスを購入する必要がある
MySQLのライブラリを使用したソフトを配布する場合等は
特に気にする必要無し*1
*1 http://www.mysql.gr.jp/
- 25. Creating OSS
OSSとして公開する場合はOSI認定ライセンスの下で
公開すると良い
ライセンスの記載方法はOSIサイトにテンプレが
あるのでそれを使う
e.g. MITライセンスで公開する場合
1. http://opensource.org/licenses/MIT にアクセス
2. ライセンス記述用のテキストファイルやソースコードの
ヘッダ部分等にテンプレの必要個所を埋めて貼り付ける
3. ソースコードを添付してどこかしらにアップロードして公開する
○ githubやらbitbucketやら自分のサーバやら