OSASK-WikiのKの落書きの過去ログ
- 本家:OSA:K
- 過去ログにコメントしたい人も、本家のこめんと欄に突っ込んでください。
- そのうちKによって下のこめんと欄に移動しますので。
KL-01 vs GPL
- (2004.10.24)
- web上の文章にした記憶がないので適当に僕の考えをまとめておきます。
- まずKL-01をごく簡単に説明すると、著作権を放棄しないだけのPDSです。GPLとの違いは、2点に集約されると思います。
- 1.派生物に対して、ライセンスを強要しない。
- 2.派生物を生成した場合、無変更部分についても派生物作者の著作権を認める。
- この2つについて僕の意見を書きたいと思います。
- KL-01とGPLをくらべれば、KL-01のほうが自由なライセンスです。ここで言う自由と言うのは、派生物作者が選べる選択肢が多い、という意味での自由です。派生物作者は、派生物のライセンスを選べます。GPLのように強制されることはありません。また、将来に備えて非GPLな部分の権利を守るために、パッチを生成しておく手間もいりません。
- GPLが派生物に対してもGPLの継承を強要した理由として、Aがオープンソースでリリースされていて、それを誰かがバージョンアップしてBにして、そのBがオープンソースでなかったらどうしよう、というものでした。そこで継承ルールをもうけて、Bも常にオープンになるようにしたのです。
- この戦略はGPL愛好家の間ではうまくいっていると思われているようですが、僕はちっともうまくいっていないと思います。クローズドで開発したいと思う人は、GPLのソースの利用を避けているだけです。つまりもしAがKL-01であったらBが開発されたかもしれないのに、Bは開発されることすらなくなるわけです。そしてAの発展は閉ざされ、新規に作り直されたCが出て、これは全面書き直しなので時間が余計にかかり、ソフトウェア社会の進歩はその分遅れるわけです。派生物を作ってもらえるかもしれない機会を自ら減らしてしまうなんて、いったい何のためのオープンソースだったのでしょうか。
- KL-01では、クローズドな派生物が出ても一向に構いません。そんなものが出ても出なくても、Aが失われてしまうわけではないのです。GPLにしていれば出なかったはずのものです。クローズドでもいいから使う必要がある場合があるかもしれません。そんなときに使えるのはいいことです。GPLだったらそんな必要が生じても、そもそもBが存在しないのでどうしようもありません。オープンなものが必要であれば、今までどおりAをベースにバージョンアップすればいいだけなのですから。
- たとえクローズドであっても派生物Bが生まれれば、Aで使われていたデータフォーマットがそのまま利用されているかもしれません。そうであれば、Aで作ったファイルがBで読めるなんていうこともあるかもしれません。Bで作ったものだって、Aで読めるかもしれません。全面書き直しで作ったCでも、もちろんデータ互換性が保たれる可能性はありますが、その確率は派生物である場合より低いでしょう。こうしてGPLはデータフォーマット乱立をわずかに助長すらしているのです。
- そしてGPLは、非GPLのオープンソースソフトウェアの開発にも役立たなくなっています。たとえば僕は自分で作ったものをできるだけKL-01でリリースしたいので、GPLのものを改造するのをできれば避けようとしています。こうしてGPLでリリースされたソースコードは限定的な分野での普及にとどまり、KL-01で書かれたコードは(その原著作者が誰であったのかは明確ではなくなるかもしれないけど)とにかくあちこちで生きつづけるのです。KL-01だったら、僕みたいな人がオープンソースでバージョンアップ版を作ったかもしれないのに、派生物のライセンスを強要するGPLにしてしまったばっかりに、バージョンアップしてもらえなくなったのです。こういう機会損失を上回るメリットがあれば教えてほしいものです。
- 第二点を考えてみましょう。これはつまり、このソースの10行目から50行目まではDさんに著作権があってABCライセンスで、70行目から80行目はEさんに著作権があってDEFライセンスで・・・などという管理を不用にするためのものです。たとえば修正BSDLのようなライセンスは、このようなめんどっちい記述の義務を無くしたのかもしれませんが、相変わらず管理は必要です。全ての著作権は私にある、と言い切ることを(たぶん)許してはいません。でもKL-01は許します。
- KL-01では、Bの著作者が、Bの全ての部分についての著作権を主張することを許します。でもこれだってオープンソース界で失われるものは何もありません。だってBが存在してもしなくても、Aは相変わらずオープンソースなのですから。Aに由来するBの部分がBから派生できなくても、Aから直接派生することはいつだってできるのです。Aの著作権は放棄されていないので、Bの作者がAの著作権を主張するなんていう変なことももちろんできません(PDSだとそういう場合がありえるとIPAの人から注意を受けたことがあります・・・詳細はよく分かりませんでしたので、僕の誤解かもしれませんが)。
- もちろん、BのユーザがAの存在を知らなくて、そのためにBの作者にお金を払って派生物を作るための権利を購入するかもしれません。そういうことを回避したいとAの作者が願うのなら、KL-01は不適当でしょう。しかし、僕はそれはそのユーザの勉強不足であって、今の時代なら適当に検索すればAを見つけられると思うのです。だからこれが問題になるとは思っていません。勉強不足の人(もしくは検索するのが面倒な人)はお金を払えばいいのです。
- KL-01以外のほとんどのライセンスはこういう配慮がないので、派生物を作る人はとても面倒です。ドキュメントに書く義務が仮にないとしても、それはドキュメントに書かないだけで、ライセンスがパッチワークになっているという事実に変わりはないのですから。それはつまり、必要に応じてライセンスを管理をしなければいけないということであります。で、あまりにもうっとうしくなると、該当部分を書き直したりすることになり、またソフトウェアの生産性が低下するわけです。
- これはGPLとは無関係ですが、僕は商用利用についでもほぼ同様の考えをもっています。自分が苦労して書いたソフトウェアをほぼそのまま使って、ちゃっかりと多額の利益を他人に稼がれたりしたら、それはずるいよと思うのかもしれませんが、僕はそのようには考えません。分け前をよこせというつもりももちろんありません(まあくれたらうれしいですけどね)。
- メディア代や送料以上の金品の受け渡しを禁ずるとか何とかいうのは、話をややこしくているだけだと思います。僕に言わせれば、誰かが僕のソフトウェアに心酔してしまい、大々的に広告を打って、売上で広告費を回収する、ついでに自分のふところも豊かにする、なんていうのがあったらすてきだと思います。そうすればきっと速く普及します。どうせ暴利なら売れないだけですし、勉強する人はやはり検索してKL-01版を発見し、無料でありがたく使うのです。だから問題はないのです。
- そもそも他の人があなたのソフトウェアを売って儲けたところで、あなたが失うものはなにひとつないんですけどね。それでもとにかく他人に儲けられるのがずるいとか思うのなら、最初からクローズドにして自分で売ればいいでしょう。
- ここではGPLを槍玉に挙げていますが、僕は1.や2.の点を満たさない全てのライセンスが、KL-01よりも非生産的なライセンスだと思っています。