プロが教える店舗&オフィスのセキュリティ対策術

現在、取引先の社内で使うアプリケーションをphpで作成しております。

で、そのプログラムではSmartyを利用しているのですが、SmartyのライセンスLGPLについて疑問が出てきたので、質問したいと思います。

LGPLのプログラムを、商用で利用しても問題はないのでしょうか?
もっと言えば、私の作成したphpプログラムにはLGPLの配布における制約は影響しないでしょうか?

LGPLですが、非公式ですが日本語訳がこちらで公開されてます。
http://www.opensource.jp/lesser/lgpl.ja.html

この中で、「複製、頒布、改変に関する条件と制約」では、
-----------------
5. 『ライブラリ』のいかなる部分の派生物も含まないが、それとコンパイルされるかリンクされることにより『ライブラリ』と共に動作するようデザインされているプログラムは、「『ライブラリ』を利用する著作物」と呼ばれる。そのような著作物は、単体では『ライブラリ』の派生著作物ではないので、この契約書の範囲外に置かれる。
-----------------
とあります。

つまり、phpでSmartyを利用するプログラムを作成しても、顧客に渡すとき、パッケージにSmartyが含めなければ(そして、顧客側で、Smartyをサーバに入れて頂くようお願いすれば)OKなのではないかと考えているのですが、認識違いはありますでしょうか?

LGPLの事を色々と調べている内に、人によって解釈が結構違うので混乱してきました。
ライセンスに詳しい方、ご回答の程、よろしくお願いいたします。

A 回答 (2件)

LPGL(やGPL)は本来Cのようなコンパイルしてバイナリを作るような言語を念頭においているっぽいところがあるので、


PHPのようなスクリプト言語だと微妙な部分があるとは思いますが、基本的には

> つまり、商用とした場合でも、単に「require_once ($SMARTY_DIR . >
> "Smarty.class.php");」でSmartyを呼び出してその機能を使うだけなら、
> 作成したプログラム部分ではLGPLを適用させなくても良いのか、という事です。

このような使い方であれば、質問者さんの作ったプログラムは「派生物」にはあたらないと
考えるのが自然でしょうから、LPGLの縛りは受けません。
ですから、

>例として、顧客の改良・改変などを禁止するようにしても問題はないのか

ライブラリそのものは改変していない。上記のように呼び出しているだけ。
ということであれば問題ないと思いますが、PHPのような言語でそのようにすることに
意味があるのかなあという気はします。
    • good
    • 0
この回答へのお礼

ご回答、ありがとうございます。自分でも、また調べてみましたが、大丈夫そうですね。Smarty利用したWEBアプリを商用で売っている例もあったので。

お礼日時:2008/08/18 11:36

GPLやLPGLが要求しているのは基本的に、これこれこういうときはあなたの書いた分の


ソースコードも公にアクセスできるようにしなさい。
ってなことですから、商用に使うかどうかは問題ではありません。

お客さんにあなたの作った(Smarty使用の)PHPプログラムを引き渡すということは
ソースコード丸見えなわけですから、気にするようなことはないと思います。

>認識違いはありますでしょうか?
引用している部分で述べられているのは簡単にいうと、
・ライブラリのコードを改変したものは「派生物」である
・ライブラリを単に呼び出して使っているのは「派生物」ではない
ということです。
使用しているライブラリが支障なく入手できる状態になっていれば問題ありません。

この回答への補足

申し訳ございません。若干、質問が曖昧で分かりづらかったです。

つまり、商用とした場合でも、単に「require_once ($SMARTY_DIR . "Smarty.class.php");」でSmartyを呼び出してその機能を使うだけなら、作成したプログラム部分ではLGPLを適用させなくても良いのか、という事です。

例として、顧客の改良・改変などを禁止するようにしても問題はないのかなと思って質問させていただきました。LGPLの場合、リバースエンジニアリングは許可しなくてはいけないという情報を見たもので、少し気になっております。

補足日時:2008/07/03 11:57
    • good
    • 0
この回答へのお礼

どうやら、問題はないようです。
ご回答、ありがとうございます。

お礼日時:2008/08/18 11:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!