(第43回)ライセンスについて考える

2009/04/10

あなたは 人目のお客様です.

実は今までちょ〜重要なのだけどあまり考えていなかった点について, 今回は考えてみよう.それは,「ライセンス」だ.

日本国の法律では,著作物は作成した時点で自動的に著作権が発生し, それを放棄することはできない(のだと思った). なので,「このソフトウエアは著作権を放棄しています」といういわゆる 「パブリック・ドメイン」というものは,日本の法律ではあり得ない.

で,KOZOSはオープンソースでありフリーソフトウエアなので使いたい人が自由に 使ってしまって構わない. なのだけど,KOZOSではいままではとくにライセンス条項は明記していなかった. なので,厳密に言うと「使いたくてもライセンスが明記していないので使っていいのか よくわからないので,作者である坂井に確認してからでないと使えないもの」 であったわけだ.(まあ,使ってしまって構わないけどね)

で,まあ今後発展させていくことも考えると,やっぱしここらでライセンスを はっきり決めておかないといけない.ということでライセンスをどうしようか, ちょっと考えてみた.

まずGPLについてなのだけど,これはもともとFSFの主宰者である Richard Stallman 氏 が提唱したライセンスだ. もともとぼくは昔フリーソフトウエアを何本か書いていた時代があったのだけど, 最初は適当な独自ライセンスにしていたのだけど,そのうちGPLにするようになった. 理由は,単にライセンスを考えるのが面倒だったのと,とりあえずGPLにしておけば, フリーソフトウエアであることが保証されるからだ.

ただ,組み込み系ではGPLはちょっと難しい点がある.というのはGPLにすると, そのソースコードを静的リンクしたすべてのソースコードについて,ソースコード 公開の義務が発生する.で,これは企業では嫌がられることが多い (ノウハウが流れ出てしまったり,セキュリティホールが丸見えだったり, 改造ファームを作られてしまったりするから).

これはモジュールを別にしてダイナミックローディングしたりすることで回避できたり するようなのだけど,KOZOSはOSなのでファームウエアの根幹部分にあり, そんなことは当然できない. まあKOZOSは実用OSというよりホビー用途という意味合いが強いので, これをそのまま実用OSとして組み込んで使うような企業もないとは思うけど, そーいう理由でKOZOSにGPLは望ましくない.

こういった理由で組み込みの世界では,GPLがけっこう嫌がられたり悪く言われたり することは多いのだけど,個人的にはそういうのはどうかと思う. というのは,フリーソフトウエアの製作者というのは,その人なりのいろんな思いが あって,ソフトウエアを作っている.ライセンスというのは,その人がその ソフトウエアをどのように使ってほしいのかという,思いの結晶なのだ.

GPLにそのような制限があるのは,フリーソフトウエアがフリーソフトウエアのままで あり続けられるようにという理念があるためだ.なので悪く言うのは筋違いだし, そんなに嫌なら使わずに,自分で作るべきだ.

フリーソフトウエアって,どうしても製作者の顔が見えないというか,それを作って いる人がいるということを意識しないで(はじめからそのへんにあるものとして) 使ってしまうひとがけっこう多いものだけど,それを作っている人は必ずいる. なので,他人がそのライセンスについて,どうこう言うのは見当違いだ. 「あのソフトは糞」とか「あのソフトはGPLだから役に立たねー」なんて気軽に 言っていいものではない.

たとえば,ボランティアで公園の掃除をすることを考えてほしい. 掃除してくれている人に対して,「あの掃除のしかたじゃ効率悪すぎ,バカ」とか 「あんな掃除のしかたじゃキレイにならねーよ」なんて言っている人がいたとしたら, それって最低だとおもうじゃあないですか.

で,ライセンスをどうするかに話を戻すと,次に考えられるのはBSDライセンスだ. これはカリフォルニア大学バークレー校がBSDの公開の際に付加したライセンスで, こちらにはソースコード公開の義務は無い.ただ,使ったら使ったということを 明記しなければならないというものだ.

次にKL-01なのだけど,これはOSASKで使用されている ライセンスなのだけど,ライセンス条項としてはかなり緩い. ただ特許の悪用には注意が配られていて,特許の取得は禁止されている. まあ各ライセンスについては,ぼくも法律的なことはあまり詳しくないのと, あまり無責任なことは書きたくないので,詳しくはそれぞれ調べてほしい.

最後に独自ライセンスにする,という手もある. まあでも法律的なことまで考えて書くとなるとちょっと難しい面があるので, 既存のライセンスを流用するのがいいだろう.

で,KOZOSのライセンスをどうしようかいろいろ考えたのだけど,結局KL-01に することにした.というのは,すでにライセンスを付加せずに公開してしまって いるので,いまさらGPLとかにしてしまうと,すでに使っている人に対してなんか 微妙だし,なによりも,自由に使ってほしいと思うからだ.

ただしデバッグスタブに関しては GDB からの流用なので,そのままのライセンス (パブリック・ドメインとして,著作権が放棄されている)とする. ただ,著作者情報くらいは入れておいたほうがいいかも.

本来はファイルのひとつひとつすべてに先頭にライセンス条項を埋め込んでおく べきなのだけど,すでに公開してしまっているソースコードを変更するのは避けたい ので,とりあえずはディレクトリ内にライセンスに関する説明とKL-01の原文を 置くことにする.(これは,今までの公開ぶんすべてについて,そのようにしよう)

ちなみにこれらの文章はすべて日本語だ.まあ英語で書いてあるとかっこいいの だけど,個人的には,やはり日本語で書くべきだと思う. ていうか,製作者が自身の母国語で書くべきだと思う. というのは,ライセンスというのは法律文書なので,一言一言の正確さが非常に 重要だ.見ぶり手ぶりでなんとかニュアンスが伝わればいい,というものではない. なので,製作者自身がきちんと内容を理解できて,言葉のニュアンスなどもわかる ネイティブな言葉で書くべきだ.

まあ日本語で書くと,ライセンスくらい英語で書けとか,英訳したものも添付しろとか 言われそうだけど,そーいう意味で,個人的には日本語のみで書くべきだと思う. 英語に不慣れな人が書いて,日本語版と英語版に違いがあったりしても困るからね. 製作者自身もライセンス条項を正確に読めないのでは話にならんし. 英語じゃないと外国の人が使いたいときに困るよとかいう人もいるかもしれないが, 製作者が日本人なのだから,使いたいなら日本語を読むべきだ. 逆の立場のときは,日本語訳なんて親切につけといてくれるわけではないわけだしね.


メールは kozos(アットマーク)kozos.jp まで