[PHP-dev 1042] Re: PHP Namazu モジュールのライセンスについて

Moriyoshi Koizumi moriyoshi @ at.wakwak.com
2004年 12月 4日 (土) 03:50:26 JST


小泉です。

丁寧なメールでのご連絡、ありがとうございます。

かつてのようにフレーム気味の議論はもうこりごりなので、
ずるいようですが私からの深い言及は避けたいと思います ^^;

ただ、議論のたたき台として、意見を述べられればと思います。

On 2004/12/03, at 23:36, Tadamasa Teranishi wrote:

> php_namazu.c に
>    This program is free software; you can redistribute it and/or modify
>    it under the terms of one of the following licenses:
>     - the GNU General Public License version 2
>     - the PHP License version 2.02
> と書かれているようにデュアルライセンスになっていますが、
> GPL ライセンスの libnamazu ライブラリを使われていますので、PHP Licese
> とは矛盾が起こるのではないかと思われます。

これに関して、私の立場をまとめると、

1. namazu モジュールのライセンス形態には問題ない。よって
    モジュール自体の存在は妥当。
2. だが、PHP と組み合わせて使うと問題が発生する可能性がある。
3. 心配ならば namazu モジュールは使わないに越した事はない。

です。あと、

> ちなみに kakasi モジュールの方は、GPL ライセンスの kakasi を使用
> していますが、kakasi コマンドを呼び出すという使い方ですので、
> GPL の影響を受けないため、こちらはデュアルライセンスで何ら問題ないと
> 思います。

えーと、これに関してですが、kakasi モジュールはちゃんと libkakasi と
リンクするように作られていますので、 (存在するとすれば) namazu に関して
ご指摘のものと同様の問題が発生すると思われます。

あと、上記の結論について以下長い理屈が続きます。

屁理屈のようですが、まずは php_namazu.c 自体のライセンス形態について。

デュアルライセンスを行うのは、php_namazu.c の著作者の塚田さんです。
仮にライセンスの条項が互い違いになるものが含まれていても、それは
問題になりません。利用者がどちらかを選択してもよいということを
塚田さんがおっしゃっているのであれば、どちらかを選べばよいという
ことになります。

次に、この拡張モジュールは PHP の特定の実装と使うことを何らかの
契約 (contract の意) によって利用者に強要したりせず、かつ配布者に
そのような契約を利用者と配布者や著作権者などとの間に結ばせることも
強要していませんから、
libnamazu とまったくアプリケーションインターフェイスが同一で、
かつ PHP License と「互換性」のある *1 ライブラリ
(例えとしては悪いですが libreadlineに対する libedit のようなもの) が
存在しえるならば、当該拡張モジュールの利用にあたり PHP License を
選択することができます。

また同様に、PHP の言語エンジンとアプリケーションインターフェイスが
同一の実装が存在し、その実装が GPL でライセンシングされているとすれば、
当該拡張モジュールの利用には GPL の適用を選択するのが妥当と考えます。

したがって私は php_namazu.c 自体のライセンス形態に問題はないものと
考えたいと思います。

また、上記のように考えると「PECL 拡張モジュールを GPL でリリースすると
GPL に違反する」ということは必ずしも真ではないと思います。

*しかしながら* 現実問題として現在のところ PHP の実装は PHP License
によりライセンシングされているもののみと考えられますし、
仮に他の実装があったとしても、最も認知されており広く利用されている
ものについては一つしかないと考えたいと思います。

そうしますと、ソースコードの状態において、いわゆる「まぜるな危険」
問題が存在するとすれば PECL のモジュールを GPL ライセンスの下で配布
しないでくださいと開発者に釘をさしておいたほうが混乱が少なくなります。

というのも、「まぜるな危険」問題は、拡張モジュールが静的に
リンクされた場合において明白だからです。

動的リンクに関しては (私の知る限りでは) 灰色ゾーンと言われています。
問題が生じる可能性があるということさえわかれば十分だと思いますので、
これについての議論は避けたいと思います。

思うに、「混乱が少なくなる」というのが、Rasmus 氏や Wez 氏の本意で *2、
PECL の文章はそれを暗示するものではないでしょうか。


(注)
*1 ライセンス間の「互換性」(compatibility) という言葉は便利なので広く
    使われていますが、そんな言葉一つで片付けられるような単純な問題では
    ないだろうという向きもあると思います。

*2 ライセンスに関連する案件で 2 人とディスカッションしたのは事実ですが、
    その際に両氏がそう述べていたという事実を示唆しているわけでは
    ありません。



PHP-dev メーリングリストの案内