- - PR -
LGPLについて
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2003-07-23 01:01
みなさんこんにちは。はじめて書き込ませていただきます。
タイトルの通り LGPL について悩んでいることがありまして、 Linuxに限ったことではないとは思ったのですが、 こちらに書かせていただきました。 ぜひ、みなさんのお知恵をお貸しください。 現在、業務の一貫で GPL について調べております。 GPL についてはおおむね理解できたと思うのですが、 LGPL は資料が少なく、2つの疑問ができました。 1つ目は、例えば LGPL なライブラリ(A)を使用してオリジナルなソフトウェア(B)を 作成するとします。すると、B のソースを公開したくない場合は、 リンクの動/静関係なく B のリバースエンジニアリング(以下 RE)を 許可する必要があると思います。 それで、さらにオリジナルなライブラリ(C)も使用したとすると、 この C についても動/静関係なくREを許可する必要があるのでしょうか? 2つ目ですが、C言語の標準ライブラリ stdio なども LGPL のようですが、 やはりこれらを使用すると、例外なく RE許可。ってことになるのでしょうか? もしそうだとするとLinuxソフトを開発されている方々は、 みなさん、標準ライブラリまで自作して置き換えられているのでしょうか? 開発をする企業の担当者としてたいへんお恥ずかしい質問なのですが、 うちの社の今後のポリシーを決める調査ですので、あいまいは許されません。 どうかよろしくお願いいたします。 | ||||
|
投稿日時: 2003-07-23 01:44
動的な場合はわかりませんが、少なくとも静的な場合はリバース・エンジニアリングなどを許可する必要があるような気がしますね。単に LGPL の日本語訳を読んだだけなので、あいまいなことしか書けませんが。
Linux 上で使用できる C 標準ライブラリは GNU 純正のもの(glibc)以外にもあったような気がします。それらの利用を考えられてもよいと思います。 | ||||
|
投稿日時: 2003-07-23 09:50
あくまでも個人的な見解として御参考にしていただければ幸いです。
まずは http://www.opensource.gr.jp/lesser/lgpl.ja.html の内容を精査する必要があります。 リバースエンジニアリングに関する記述は6章となります。 1) 利用者が自分自身で利用するために変更を加えることとの許可 2) 利用者のおこなった変更がきちんと動作するよう、リバースエンジニアリングを行なうことの許可 が必要であると読めます。 だたし以下の事項を行なう事は禁止されていません。 1) (利用者が自分で行なった) 変更について公開・配布することの禁止 2) (目的を限定して行なわれた) リバースエンジニアリングの結果として得られた情報を公開・配布することの禁止 アメリカでは実質個人のリバースエンジニアリングは許可されています http://linux.ascii24.com/linux/linuxtoday/2000/03/22/416032-000.html よってそれを明示しているにすぎないのでしょう。 ただし、glibcに問題がないとはいえません。 lgpl 14章の検討を行なうか、newlibなどの代替を検討する必要もあるかもしれません。 参考になれば。 | ||||
|
投稿日時: 2003-07-24 01:34
IZUMIさん、sakitoさん、ご意見ありがとうございます。
まず、(2)の件ですが、代替のライブラリを用意すべきのようですね。 例外などあればよいと思ったのですが。やはりダメですか... 14章の検討はどういう場合に認められるかの例がないだけにツラいですね。 最後の手段かと思います。 (1)の件ですが、自作ライブラリ C は静的な場合は B と同じバイナリなので RE を許さざるを得ないですよね。 問題なのは動的な場合で、A のLGPLが C まで及ぶか?って事なんです。 個人的には B がLGPLでライセンスされる訳ではないので、 C は大丈夫(REも不可)だと考えています。しかし、 解釈によっては、C が B に依存するならば C は B の派生物だという考えもあるらしく、 では、C に代わる C' を用意してやれば依存していないことにならないかな?(Cは公開可) とまで考えてしまいました。 A の著作権者に許してもらうという奥の手があるようですが、 この手が成功した事例ってあるのでしょうか?(涙) 相談できるほど知識を持った同僚もおらず、社外の方に聞くわけにもいかず 困っていましたので、助かりました。 本当にありがとうございました。 | ||||
|
投稿日時: 2003-07-24 09:12
正直な所、リバースエンジニアリングは禁止してもあまり意味がないかと思います。
# やる人はやってしまう。。 いろいろとリバースエンジニアリングを阻止する手法がありますので、リバースエンジニアリングを許可しながらも、そうとうの高度な知識がないと意味を持つリバースエンジニアリングできないように製品を作成するという手もあるといえばあります。 # ただし作成する方の負荷がそうとうに高くなる わすれてはいけないのは、LGPLのリバースエンジニアリングの許可規定は 「顧客自身の利用のための」に限定されているという事です。 そのあたりは忘れないようにする必要があるかと思います。 参考になれば。 | ||||
|
投稿日時: 2003-09-01 00:50
このタイトルに沿うかどうか分かりませんが、便乗させてもらいます。
フトン王子氏の例はLGPLでとのことですが、これがGPLになった場合はどうなるんでしょうかねえ。 今回の例で行きますと、 GPLなライブラリ(A)を使用してオリジナルなソフトウェア(B)を 作成するとします。すると、リンクの動/静関係なくBのライセンスはGPLです。 それで、さらにオリジナルなライブラリ(C)も使用したとすると、 CにもGPLが及ぶかどうかです。 # 一部引用 BがフルスクラッチならBの著作権は製作者がもっていますから、 例外的に、GPLではない(プロプライエタリな)Cとのリンクを許可する という条項をGPLに追加して良いものなのでしょうか。 もちろん、B-C間は動的リンクです。 # 個人的には出来そうな気がしてます 要約すると、ソフトウェアなGPLがライブラリまで感染するのか。 ってことになりますか。 識者の方々の、お知恵を拝借。 [ メッセージ編集済み 編集者: ててて 編集日時 2003-09-04 01:11 ] | ||||
|
投稿日時: 2003-10-06 01:02
うーん、レスが付かないようなので、
その後自分で勉強して到達した(?)結論を自己レスしたいと思います。 (GPLってLinux版ソフトで商売しようとかっていう人じゃない限り関心ないんですかねえ。 という前に、もしかしてレス付けるまでも無い分かりきったことだったり) まず、前回の書き込みに2つ誤りがあったと思います。 (1)ソフトウェアのGPLがライブラリに伝播する事 (2)例外GPLの作り方 まず(1)ですが、GPLなライブラリ(A)とオリジナル(にならないが)なソフトウェア(B)を 結合したものを1つのGPLなソフトウェア(D)と考えると、 オリジナルなライブラリ(C)は(D)から独立した著作物と合理的に考えられますから、 (B)にわざわざ例外を設けるまでも無く、プロプライエタリなものと言えるはずです。 (B)はライブラリがなければ動きませんが、ライブラリはそれ単体で独立した機能をもち 他のいろいろなソフトウェアにも使えますから。 で、(2)ですが、今回は別に例外を設ける必要がなかった訳ですが、 仮に例外を設けたい場合について考えると、GPLによると例外を付加できるのは そのソフトウェアの著作権者だそうですから、著作権者が誰か?という問題に収束する訳です。 それで、(B)は(A)の派生物と認められてGPLが伝播したわけですから、 (D)の著作権者は、(A)の著作権者と、(B)の著作権者(自分)の2名になります。 ですから、例外を設けたい場合は、(A)の著作権者にも許可を得る必要があります。 結論として、勝手に例外を設けることは出来ません。 とまあ、自分ではこのように結論付けて、この認識でやっていこうと思っている訳ですが、 もし、違う!とかオカシイ!というツッコミがあれば歓迎いたします。 ページも変わったスレに浦島レスで、申し訳ありませんでした。 # さらに誤字がありましたので修正しました。 # 感染 → 伝播 に修正しました。 [ メッセージ編集済み 編集者: ててて 編集日時 2003-10-07 13:13 ] | ||||
|
投稿日時: 2003-10-07 00:23
# 個人的にはあまりGPLには近寄りたくないのですが…![]()
いえ、少なくともFSFの主張によれば「出来ません」。 この場合、リンクが動的か静的かは関係ありません。 # もちろんFSFの主張が法的に有効かどうかまでは裁判になるまでわかりませんが。 GPL FAQにも、上記のような「抜け穴」は許さないと明記されています。 http://www.gnu.org/licenses/gpl-faq.ja.html#MoneyGuzzlerInc # 以下削除 [ メッセージ編集済み 編集者: yamasa 編集日時 2003-10-09 13:05 ] |