ソフトウェアを公開するときのライセンスについて調べてみました。 私の無知を晒すだけの恥記事になってしまいました。
ライセンスとは何か
よくわかりませんでした。 法律のうち著作権に関する話だと思います。 調べだすとキリがなさそうでした。
ライセンスは作者の利益を守るためのもの、だと思います。 実際に法的効力があるかどうかもよくわかりませんでした。
少なくとも作者の要求や思想を伝える手段ではあると思います。
- 物品、金銭、利権を得たい
- オープンソースの連鎖により公益を拡大させたい
- やってみたいだけ。益はどうでもいい。でも責任の放棄は明示したい
著作権とライセンス
そもそも著作権がよくわかりません。 WikipediaとHatenaKeywordは斜め読みしましたが。
- ライセンスとは、著作権を保持したまま、利用方法の制限や利用を許可する範囲を提示したものという認識でいいのか
- ライセンスに法的効力はあるのか
- CC0における著作権の放棄は可能なのか
- 著作権の放棄によりどんなリスクがあるか
なぜライセンスが必要か
よくわかりません。 正直、周りがやっているからやったほうがいいのかな、くらいの感覚です。 そもそも、市場に影響を与えるような物など私には作れませんので、関係ない気がしてしまいます。
それでも著作権は必ず発生してしまうそうです。 ならば著作者としての意志を表明しておくほうが利用者に対して親切でしょう。 さもなくば、法的に訴えられかねない爆弾を知らぬ間に生産してしまいます。 その調査のために誰かの時間を無駄に奪うことになるかもしれません。 ライセンスは意思疎通のツールになるでしょう。
世の中を騒がしているパクリ問題や利権問題と関わってくると思います。 白黒つけがたいので難しい話になってしまうのでしょう。 自分の意志を表明するという意味で利用する価値はあると思います。
そのライセンスは相応しいか
公開するソフトウェアは、その権利を主張するに相応しい物か?
大したことないコードなのに、使用したら全コードを公開することを強要するようなライセンスを適用するのはいかがなものかとも思います。 (そのようなことが起こりえるのかどうかは知りませんが)
「なぜそのライセンスを主張するのか」という理由があったほうがいい気がします。 私の場合を考えて見ます。
私はどうするか
そもそもライセンスや法律がよくわかっていませんが、 分かっていないなりに考えてみます。
以下のようにライセンスを使い分けることにします。
ライセンス | 使い分け |
---|---|
CC0 | 学習、調査、実験用コードを公開するとき |
MIT | 汎用性、価値、独自性があるとき |
GPL | オープンソースを強要して公益の促進を図るとき |
CC0
私は当分、学習目的でコードを書いて公開するつもりです。 そのとき、CC0で公開します。
内容
CC0は無保証で何も要求しません。
なぜCC0か
- 責任の放棄をしたい
- 権利を主張するほど大したものではない
- 権利がらみの一切に関する手間を取らせないことを主張する
- 公益に貢献したい
私個人の学習目的なのでコードに対する保証などしたくありません。 同時に、権利を主張するようなものではありません。 自由にしてくれて構いません。 そこで、CC0で著作権の放棄を明示します。
適用方法
以下を参考。CC0へのリンクをソースコードやReadMeに記述すればOK。 また、GitHubならリポジトリ作成時にLICENSE.txtを作成できるようです。
http://creativecommons.org/choose/mark/results?work_title=&author_title=&author_href=&curator_title=&curator_href=&lang=ja&field1=%E6%AC%A1%E3%81%B8 http://qiita.com/spiegel-im-spiegel/items/cc3d9cc46cc931b0e921
MIT
少なくとも以下のうち1点を満たしていたらMITを用いようと思います。
- 多少なりとも汎用性や利用価値のあるソフトウェアであること
- 作者名を表示したほうがわかりやすいと思う程度の独自性があること
コピーライト
「(C) 2016 Yamada Taro」のような記述でいいそうです。 http://liginc.co.jp/designer/archives/11313
なぜ名前の表示を要求するか
- 何らかの理由で自分の作品であることを端的に伝えたいとき、コピーライトが役立つかもしれません
- コピーライトを見て「あれってお前が作ったのか」的な話になることもあるかもしれません
- 有意義な情報交換のきっかけになるかもしれません
- 仕事の話に繋がる可能性もあります
他にも考え方次第で色々あるかもしれません。顕示欲や承認欲を満たすなど。
何にせよ、どうせなら名前を表出させたほうが得になるかもしれません。 反面、あまりにもしょうもないコードに適用すると恥ずかしいかもしれません。
適用方法
- LICENSE.txtを用意する
- LICENSE.txtのコピーライト表記を書き換える
- ReadMe.mdにMITライセンスである説明文を加える
以下を参考にさせていただきました。 http://www.catch.jp/oss-license/2013/09/27/mit_license/
GPL
以下のすべてを満たしていたらGPLを用いようと思います。
- 利用されることで発展する可能性を秘めていると思えるソフトウェアであること
- オープンソースを強要することで公益を拡大させたい
私の能力ではGPLを適用するに値するソフトウェアなど作れないでしょう。 心配する必要もないかと思います。