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

Tadamasa Teranishi yw3t-trns @ asahi-net.or.jp
2004年 12月 4日 (土) 13:06:20 JST


寺西です。

# 引用が前後します。

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

丁寧な解説ありがとうございます。いろいろ有益な情報が得られて感謝
しております。
PHP で普通に Namazu が使える環境を整えたいというのが趣旨ですので、
現状の把握をしたいと考えております。

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

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

このことについて頭が回っておりませんでした。
ソースの段階では、どのようなライセンスのライブラリを使うかは
確定していませんから、問題が起こりませんね。

GPL ライセンスの libnmz(libnamazu というのは間違い) とリンクした時点で 
PHP モジュールが初めて GPL の派生物となりますから。

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

理解いたしました。

php_namazu.c のライセンスは二者選択ですので、
PHP Namazu モジュールのバイナリのライセンスとしては、GPL ライセンスの 
libnmz を使った場合に GPL が選択でき、PHP ライセンス(または PHP
ライセンスと矛盾しないライセンス)の libnmz(実在しないと思いますが)
を使った場合に PHP ライセンスが選択できるということですね。
 
> そうしますと、ソースコードの状態において、いわゆる「まぜるな危険」
> 問題が存在するとすれば PECL のモジュールを GPL ライセンスの下で配布
> しないでくださいと開発者に釘をさしておいたほうが混乱が少なくなります。
...
> 動的リンクに関しては (私の知る限りでは) 灰色ゾーンと言われています。
> 問題が生じる可能性があるということさえわかれば十分だと思いますので、
> これについての議論は避けたいと思います。

モジュールのソースが PHP ライセンスならコンパイルしたモジュールは
PHP ライセンスの派生物になり、問題なく使えるが、ソースが GPL ライセンス
ならコンパイルしたモジュールは GPL ライセンスの派生物になり、
(動的にしろ静的にしろ)リンクすると GPL の影響を受けることになるから
ではないかと思います。
# 文面からすると動的リンクについて議論があるようですが...。

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

ライセンスの異なる PHP の別実装があるならば、問題は起きないのでしょう
けれども、今の PHP では GPL ライセンスのバイナリの PHP モジュール
を使うと他のモジュールや PHP スクリプトに GPL の影響を受けるので、
避けたいのでしょう。
# 動的リンクについて議論があるようですが、GPL だとアウトだという
# ことになっていますので、アウトという前提で書いています。
# (LGPL は OK なので、PECL の文書の中に LGPL が入っているのでしょう。)

> > 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
> > とは矛盾が起こるのではないかと思われます。

ここの「GPL ライセンスの libnamazu ライブラリを使われていますので」
という前提(決め付け)が間違っているわけですね。

結局、

> 1. namazu モジュールのライセンス形態には問題ない。よって
>     モジュール自体の存在は妥当。

ソースのモジュールのライセンスは妥当。だが、

> 2. だが、PHP と組み合わせて使うと問題が発生する可能性がある。

GPL の libnmz しか今のところないので、バイナリの PHP Namazu モジュール
は、事実上、GPL ライセンスのものしか選択できず、
PHP も別実装がないことから、GPL ライセンスの PHP モジュールを使う
と、他のモジュールや PHP スクリプトに GPL の影響を受けてしまい、
多大な問題が発生する。

> 3. 心配ならば namazu モジュールは使わないに越した事はない。

現在のところ、PHP Namazu モジュールを使える環境は整っていない。
といったところだということでしょうか。

となると、PHP で Namazu を普通に使えるようにしようとすると、
バイナリの PHP Namazu モジュールのライセンスが PHP ライセンス
となるものを作る必要があるということですね。

ひとつの方法としては、現在の php_namazu.c の PHP ライセンスを
使えるように PHP ライセンスの libnmz 互換ライブラリを作成するか、
あるいは バイナリの PHP Namazu モジュールのライセンスが PHP ライセンス
となる(GPL ライセンスの libnmz を間接的に使うなどして) PHP Namazu 
モジュールを作成するかですね。
前者はいろいろ大変そうですが、後者は(パフォーマンスはともかく)何とか
なりそうな気がします。
-- 
=====================================================================
寺西 忠勝(TADAMASA TERANISHI)  yw3t-trns @ asahi-net.or.jp
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint =  474E 4D93 8E97 11F6 662D  8A42 17F5 52F4 10E7 D14E



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