20160321

ライセンスに関して

*私は、法律の専門家ではないので、損害を受けても責任は持ちません。
 あくまでも、自己責任、参考程度で。

コンピュータソフトをプログラミングするとき、ちょっと難しいことをしようと思うと、全部自分でプログラムするのが難しくなってくる。
例えば、「マウスでボタンをクリックする」、「ボックスに値を入力して、その値を使って計算する」、などを実現する(GUI)とか。
例えば、フーリエ変換などの計算とか。
こういう時、ライブラリ(とか、モジュールとか言ったりする)を使う。

私は、Pythonをメインで使用するので、pythonでの例を出すと、
GUIを作るときPythonでは、wxとかQtとかのGUIを実現するためのモジュールがいろいろある。
フーリエ変換をしたいなら、scipyや、numpyといったモジュールに、fftのコマンドが入っている。
これらのモジュールを使用すると、GUIソフトが作れたり、FFTの計算結果が得られたりする。
ただ、このライブラリも、誰かが書いた著作物だ。

ソフトが出来上がって、ソフトを公開しようとすると、このライブラリも、一緒に公開することになる(再配布、Redistribution)。
自分が作ったものではないソフトを、勝手にアップロードすることになる。
これは、まずそうだ。

「他人が作ったものだから、何がなんでも勝手にアップしちゃダメ」ではないらしい。
ルールを守れば、場合によっては、アップロードしてもいい場合がある。

ソフトウェアの利用、公開の条件は、ライセンスと呼ばれている。
ライセンスには、「このソフトをどう扱ってほしいか」とか、「再配布するなら〇〇をして。」とかが書いてある。
特に、MITとかLGPLとか言われているライセンスのソフトは、一定のルールの元、公開してもいいらしい。
そのルールに、「ライセンスに関する表記を、明示しなければならない」と、よくある。

何を、表示すればいいかは、ライセンスを読めば、分かりそうだったが、
どこに、表示すればいいのかよく分からなかった。

自分のwindowsに入っている、複数のソフトに関して、プログラムファイルフォルダの中身を見てみた。
blenderは、ライセンスごとに、ファイルを分けていた。
埋め込み画像 1

このあと、他のソフトも見てみたけど、このBlenderの構成が、一番わかりやすかった。
・copyright.txt                自分で作ったソフトの著作権表示。
・LICENSE-hoge.txt      他人が作った再配布物のライセンス表示。
この二つを入れる。

もちろん、ライセンスによっては、
・自分が作ったソースコードの公開(GPLの場合)
・再配布物のソースコードの公開(LGPLなどのライブラリ等を、改造した場合)
が必要になってくる。

じゃあ、『LICENSE-hoge.txt』は、どうやって作るのか。自分で書くのか?
おそらく、ライブラリ自体についている『License.txt』のコピペすることになるのではないかなぁと思う。
実際に再配布するときは、ソフトウェアによって微妙に違うらしいので、よく読んで使わないと、まずい。

埋め込み画像 2

日本のソフトでは、使用許諾契約書.txtとか、製品使用許諾契約書.txtとかに書いてある。
3DCGのshade13の使用許諾契約書には、BSDライセンスのモジュールが使用されているとか、動作保証されないとか日本語でちゃんと書いてあった。
その下に、英語でも書いてあった。

ただ、日本語は、あくまでもおまけ。
日本語だけじゃなく、英語でも書かないとだめらしい。

下記を参考にした。
ここにはないけど、他にも、いろいろ検索した。記録し忘れた。
posted by yuchan at 15:25 | Comment(1) | python