GPL/LGPL等ライセンスとゲーム製作_2
at GAMEDEV
[前50を表示]
800:名前は開発中のものです。
08/10/01 21:43:24 +CEnIH82
>>799
>>793-794が言いたいのはGPLv2の6節にある、
「改変、リバースエンジニアリングの許可」とか、
「LGPLで保護されたライブラリを使用していることを告知」することを言っているのだとエスパーしてみる。
つまり、本体をLGPLで配布する必要はないけど、LGPLが提示する条件を守らないといけないってこと。
もし、MSVC71.dllの改変やリバースエンジニアリングが許可されないなら、
MSVC込みでの配布は不可能と判断される。(そして、MSVCだけ、別途インストールしてねってお願いする)
あと、GPLv2の6節を守るかぎりは、自分の好きな条件で配布できるとあるので、
GPLv2_6bに従う場合に限り、一切のソースとかリンクは提供する必要が無いと思う。
SDLを含む、含まないは自由にしたらいいと思う。
pythonとその標準モジュールは一つずつ再配布要件をチェックするしかない。( PSFライセンス的にはどうしようと問題はなさそうに思える。)
自分で書いたコードだけ配布するのが一番簡単だけど、
恐らくそれはpy2exeを使おうと思った背景に反するんだろうなあ。
801:名前は開発中のものです。
08/10/01 23:42:40 DbkdqbiW
>エスパー
それのことを「ライブラリを使うための条件」って書いたつもりだったんだけど伝わってなかったのかな。
ライブラリを使ったモノの配布について条件があることを「感染」とは言わない気がしたんだけど……。
まあ、なんにせよ自分の理解が大幅に間違ってるわけじゃないみたいで安心した。
>MSVCR71.dll
bundle_filesを 2 にすれば勝手にexeと別ファイルになるけど、それでもLGPL的にアウト?
(どっちにしろVS持ってないからアレだけど)
>後半
えっと、すまん。まず「py2exeで6bの方が可能か」がよくわかってないんだ。
6a(あるいはc~e)の方だと思って読んでほしい。
一つ目は、例えば(python標準の)sysとosをimportしたとして、sysとosをどうやって「ソースコード一式」に含めるか。
(6a,c,d,e的な意味で。「自分で揃えて動かしてね」って意味じゃないです)
そもそもpythonが入ってないとexeをビルドできないよね。pythonのDL先にリンクしておけば6dを満たす?
二つ目は、SDLを配布一式に含めた場合、SDLの分のライセンス文書と、SDLのソースコードが必要になるんじゃないか。
また、(6bに出来るのであれば)SDLの部分は全てexe外に出すことになりそうだけど、
dllのうち名前にSDLが含まれるもので全てなのか。
って質問でした。
言葉足らずで申し訳ない。
802:名前は開発中のものです。
08/10/02 01:36:00 Pxy/w+vg
>>801
LGPLは『ライブラリ』(←LGPL)を含む実行形式の配布方法について明確に言及しルールを設け
「再配布するときには俺にも一枚噛ませろ。俺を無視スンナ。俺のルールに批准せよ」と言っている。
事実 : 『ライブラリ』を含む実行形式の取り扱いにはLGPLが常に関与する。切り離すことはできない。
まぁ、「感染」についての言葉遊びには興味ないんで
この事実を前にして、『ライブラリ』を含む実行形式はLGPLに感染していない、と強弁するなら別にいいよ。
803:名前は開発中のものです。
08/10/02 01:57:33 Pxy/w+vg
>>800
>つまり、本体をLGPLで配布する必要はないけど、LGPLが提示する条件を守らないといけないってこと。
それは矛盾している
本体=『ライブラリ』を含む実行形式、ならばこれの取り扱いについてLGPLは明確に言及しており
「私の言うことを聞いて。私との約束を守って。でないと髭眼鏡デブに呪われんぞ」と言っている。
LGPLの、『ライブラリ』を含む実行形式に関するルール、に則って配布するというのは即ちLGPLに則るということ。
LGPLに則って配布するということはLGPLで配布するということ。
LGPLが提示する条件を守らないといけないってことは、LGPLで実行形式を配布するということ。
804:名前は開発中のものです。
08/10/02 02:24:29 Pxy/w+vg
では、LGPLが一切関与してこない、一切言及してこない実行形式とは何か
v2-5の初っ端にあるこれ↓だけ。
>『ライブラリ』のいかなる部分の派生物も含まないが、それとコンパイルされるかリンクされることにより『ライブラリ』と共に動作するようデザインされているプログラムは
>「『ライブラリ』を利用する著作物」と呼ばれる。そのような著作物は、単体では『ライブラリ』の派生著作物ではないので、この契約書の範囲外に置かれる。
具体例としては、プラグイン機構を持つアプリケーション。プラグインのインターフェースはアプリケーション作者が定義しており
アプリケーション作者はプラグインSDKを配布している。アプリケーションにもプラグインSDKにもLGPLなコードはヘッダ情報の欠片も含まれない。
『ライブラリ』(←LGPL)を含むプラグインを配布するプラグイン作者はいるかもしれない。しかしそれはアプリケーションにとって不可欠なものではなく
無くてもアプリケーションとしての体をなす。
このアプリケーションの実行形式はv2-6には該当せず、当然v2-6bにも該当しない。v2-5によってLGPLは明確に「俺はお前の取り扱いなんざ興味ない」と言っている。
805:名前は開発中のものです。
08/10/02 03:05:10 nTtv8xAj
>>802-803
800でも801でもないけれど、そのあたりは単に言葉遊びというか
言葉の解釈の食い違いや言葉から受ける印象の違いなだけの感じがする。
たぶん>800の言う本体は自分自身で書いた部分の事だと思う。
そして>802で事実として挙げた部分については
ここまで誰も異論を唱えていないように思う。
いずれにしても >786 にある通り著作権自体に感染性があるのだから
感染という言葉にこだわるのはやめようよ>ALL
806:名前は開発中のものです。
08/10/02 04:36:25 Pxy/w+vg
>>799
>その実行ファイルもLGPLを強要されるわけじゃないと理解してた。
ソフトウェアライセンスの文書ってのは基本的に
ライセンサーが定義する「保護する対象」の取り扱いについての約束事と
その約束事を守ることでライセンシー(あなた)に許可する権利を書き並べたもの。
LGPLが「保護する対象」はソースコードだけでない。実行形式も「保護する対象」。
LGPLは、『ライブラリ』を含む実行形式を「保護する対象」としており、その取り扱いに
ついての約束事を守ることを要求している
v2-5抜粋「そこで、実行形式はこのライセンスで保護される。」
再配布にあたってはv2-6の条件を必ず飲めと言っている。
v2-6はLGPL適用除外規定ではない。(※←ここ重要)
>実行ファイルもLGPLに「感染」した上で再配布禁止にできるってことなの?
「感染」 = 「LGPLの保護の対象となりその取り扱いにあたってはLGPLへの批准を求められる」
ならばそのとおりだね。LGPLはv2-6を満たすことを条件に、『ライブラリ』を含む実行形式の再配布条件を
設定していいとしている。実行形式の再配布を禁止してはならない、とは一言も書かれていない。
LGPLに批准したうえで実行形式の再配布を禁止することは当然できる。それはあなたの自由。
>それってその時点でLGPLに矛盾してるような気がするんだけど。
矛盾しない。
807:名前は開発中のものです。
08/10/02 04:43:02 Pxy/w+vg
たかがライセンスに対して「批准」はおかしいな。
守るとか遵守とでも読み替えてくれ
808:名前は開発中のものです。
08/10/02 14:22:06 buXSXhI8
>>805
えーと、言葉にこだわってるつもりじゃなかったんだ。
「ライブラリをリンクした実行形式の配布にあたって、実行形式のライセンスをLGPLにしなければならないのか」
というつもりで使ってた。
(LGPLライセンスを守らなければならないのか、ではない)
誤解を招くようなので控えます。
>>802-804
なんというか、もう少し文書をまとめてほしい。
よくわからんとです。
>LGPLに則って配布するということはLGPLで配布するということ。
例えば「このライブラリをリンクしたソフトを配布するときは、このライブラリを使ってることを明記してね」
のようなライセンスのライブラリを使ったソフトを配布するとして、
そのソフトは上記のライセンスに「則って」配布されなければならない訳だけど、上記のライセンス「で」配布しないといけないわけじゃないよね?
(LGPLもこういうことじゃないか、と思っていた)
結局のところ「そこで、実行形式はこのライセンスで保護される」ってのは、
「実行形式もLGPLライセンスで配布されなければならない」ということであって、
LGPLライセンスに「加えて」あなたが選んだ条件の下で配布できる。
っていう話なのかな。
で、例えば再配布禁止にして配布した場合なんだけど、それって1節と矛盾しないの?
809:名前は開発中のものです。
08/10/02 16:40:54 Pxy/w+vg
>LGPLライセンスに「加えて」あなたが選んだ条件の下で配布できる。
>っていう話なのかな。
そういうことだね。『ライブラリ』(←LGPL)を含む実行形式の再配布に関しては
LGPLを守らなければならないという大前提の上で成り立つ
ライセンスを追加できるということ。
このライセンスの文書にはLGPLを守れという一文が入る。
このライセンスとLGPLのは常に1セット。切り離せない。
このライセンスは、『ライブラリ』を含む実行形式の取り扱いについて
LGPL100%互換。衝突・矛盾はひとつもあってはならない。
>で、例えば再配布禁止にして配布した場合なんだけど、それって1節と矛盾しないの?
v2-1はLGPLで保護されたソースコードについての話。ここでの保護の対象はソースコード。
実行形式ではない
810:名前は開発中のものです。
08/10/02 17:57:34 w9HLsMHu
>>801
>>MSVCR71.dll
>bundle_filesを 2 にすれば勝手にexeと別ファイルになるけど、それでもLGPL的にアウト?
動的リンクしてるから、リバースエンジニアリング等を許可できないのならアウトじゃね?
LGPL_v2の6aで行く場合、pythonはソースである必要はなくて、オブジェクトコードでもOkなわけだから、
bundle_filesを2にして各モジュールのdllがついてくるなら他に何かする必要はないように思える。
6bならpythonのソースもオブジェクトも要らない。
SDLはpygame自体が6bを満たして配布してるんだろう(と予測する)から、SDLのソースもオブジェクトも要らないと判断する。
811:名前は開発中のものです。
08/10/02 19:15:45 buXSXhI8
>>809
つまり、同じLGPLでも「ライブラリ」か「ライブラリとリンクした実行形式」かで挙動が違うってことなのかな。
とすると、「このソフトウェアはLGPLライセンスで配布されています」ってのは、
再配布が可能なことや、ソースが公開されていることを必ずしも意味しているわけじゃないのか。
ややこしいんだな……。
>>810
>DLL
っていうと、実行ファイルのみならず、それと動的リンクしたDLLに対してもリバースエンジニアリングを禁止できないのか?
>モジュール
pure Pythonモジュールとかパッケージって、PythonスクリプトであってDLLじゃないよね?
(拡張モジュールについてはよくわかってない)
Pythonとpy2exeに関する知識がもっと必要なのかな……。
スクリプトファイルはあくまでインタプリタへの入力(データ扱いだよね?)であって、
exe自体のソースじゃないのが余計に問題を面倒なことにしてるのかね。
コンパイラ言語ならもっとシンプルなんだろうか。
812:名前は開発中のものです。
08/10/02 20:23:42 w9HLsMHu
>>811
>>DLL
>っていうと、実行ファイルのみならず、それと動的リンクしたDLLに対してもリバースエンジニアリングを禁止できないのか?
LGPLv2の2節において、
>『ライブラリ』を基にした著作物全体の一部として頒布するならば、全体としての頒布物は、この契約書が課す条件に従わなければならない。
という文面があるため、
特定のDLLが著作物に含まれる = 同一パッケージに存在するなら、
LGPLv2の6節のリバースエンジニアリングの項目を満たす必要があると判断した。
>pure Pythonモジュールとかパッケージって、PythonスクリプトであってDLLじゃないよね?
スクリプトにもライセンスの記述があると思うよ。プログラムであり、著作物だから。
だからその個々のモジュールのライセンスは一応確認しておく必要があると思う。
ただ、インタプリタがGPL/LGPLだからって、そのスクリプトはインタプリタのライセンスの影響を受けない。
(GPLの文面には影響を受ける場合があることを匂わせる部分があるけど)
あと、py2exeがpure pythonなスクリプトをどういう形でexeファイルに組み込むのかが分からないけど、
LGPLのライブラリだけいじっても、再コンパイルできる状況があるなら、
つまり、スクリプトが本体に埋め込まれていたとしても、
LGPLなdllを差し替えたときにきちんと動作するようになっているなら
スクリプトを別途添付する必要は無いんじゃね?(LGPLv2-6a的な意味で)
813:名前は開発中のものです。
08/10/03 00:41:15 QAGMz35r
>> MSVCR
GPLもLGPLもOSや処理系のランタイムについては例外規定があるよな?
814:名前は開発中のものです。
08/10/03 15:00:02 v+KSFbEP
>>813
確かにGPLv2の3節及び、LGPLv2の6b節にそのような記述があるけど、
あくまでも「頒布されるものの中に、含んでいる必要はないとする。」と書かれているだけで
配布物に含めてしまうとGPL/LGPLの要件を満たす必要が出てくるんじゃね。
815:名前は開発中のものです。
08/10/03 18:59:34 SaI5Cu++
>>808
「加えて」という表現は誤解を招きやすいかな。
ライセンスの追加は10項違反になるよ。
使用した各コンポーネントそれぞれのライセンスを「組み合わせる」感じ。
実行形式のライセンスはそれら全てのライセンスを列挙したものになる。
その中に再配布禁止のコンポーネントがあれば全体として
再配布禁止になるというだけ。
816:名前は開発中のものです。
08/10/03 21:37:53 QAGMz35r
>>814
そういう解釈するとプロプラなOSや言語処理系を一切使えなくなりそう。
GPLもLGPLもv3だと"System Libraries"や"Major Component"の
定義があってそもそも作品の一部とみなさないし
URLリンク(www.gnu.org)
FAQにもこうあるから問題ないと思うんだが。
817:名前は開発中のものです。
08/10/04 13:02:10 GbMLjyBh
>>816
動的リンクするのはいいんだけど、プログラム本体とランタイムをzipでくるんで配布しちゃうと、まずいんじゃね?
818:名前は開発中のものです。
08/10/04 19:21:55 UqzJDgcy
LGPL v3の4.a〜4.eに関しては問題ないって認識は一致してるが
4の頭の部分の解釈が違うってこと?
819:名前は開発中のものです。
08/10/04 20:29:37 GbMLjyBh
>>818
多分そうだと思う。
-- 以下、俺の解釈--
MSVCR71.dllとプログラム本体をzipでまとめて配布する場合に、
MSVCR71.dllがリバースエンジニアリング/改変/再頒布禁止と仮定したとする。
このとき、
*「単なる集積」と「二つのモジュールを一つのプログラムに結合すること」の違いは何ですか?
URLリンク(www.gnu.org)
上により、zipにまとめた場合のMSVCR71.dllは単なる集積ではなく、プログラムの結合であり、作品の一部であると思われる。
GPLv2だと2節「全体としての頒布物は、この契約書が課す条件 に従わなければならない。」が満たせない。
GPLv3だと5c節「作品の全部分を、総体として、コピーを所有するに至った人全員に、本許諾書の下でライセンスしなければならない。」が満たせない。
LGPLv2だと6節のリバースエンジニアリングの許可が満たせない。
LGPLv3だと4節のリバースエンジニアリングの許可が満たせない。
これを回避するために、「システムライブラリ」に相当するMSVCR71.dllを、
本体とは別に配布する必要があるのではないかと俺は思っている。
820:名前は開発中のものです。
08/10/04 21:14:32 UqzJDgcy
> 「対応するアプリケーションコード」には、〜「結合された作品」の「システムライブラリ」は除く。
とはあるが4の冒頭で問題にされてる 「結合された作品」から「システムライブラリ」の
部分を除くとは書いてないってことか。
実務上そういうことにはまずならないんじゃないかと思うが確かに文面では示せないわ。
821:名前は開発中のものです。
08/10/05 12:45:36 lSGQKSk3
>>816
v2も6項のa-dの後にそのFAQ項目に対応する文章があるよ。
>>819,820
その解釈だとどう配布しようが関係なくリバースエンジニアリングできない
ランタイムは使えないことにならないかな。
822:名前は開発中のものです。
08/10/05 13:26:35 v7IsXRIY
>>821
>その解釈だと……
うーん、俺も混乱してきたぞw
LGPLv2の6節の後ろの方に、「しかし特別な例外として……含んでいる必要はないとする」とあるので、
LGPLv3で言われるようなシステムライブラリに相当するものを配布物に含める必要は無い。
配布物に含まれていなければ、それは結合もリンクにも該当しない。
結合もリンクもしていない以上、それはLGPLの影響力は及ばない=リバースエンジニアリングを許可する必要はない。
と解釈してみた。
しかしながら、MSVCR71.dllを使うためのヘッダファイルがリバースエンジニアリング禁止とか言われたらアウトなのだろうか。
823:名前は開発中のものです。
08/10/05 13:43:38 Vc0IrAL9
慎重だなw
MinGW版のヘッダーでも使うか?
そういえば基本的にヘッダーには著作権を主張できないないって判例なかったか?
824:名前は開発中のものです。
08/10/05 22:24:46 IThTz1ys
>MSVCR71.dll
わけがわからなくなってきた。
XPSP2には入ってるらしいから大した影響もないかなーと思ってたけど、そうでもないのか?
でもpygameはpy2exeの存在を踏まえた上でLGPLで配布されてるっぽいし、どうなんでしょ。
>>812
えっと、
>各モジュールのdllがついてくるなら(>>810)
に対しての
>PythonスクリプトであってDLLじゃないよね?(>>811)
というレスでした。
スクリプトは全部exeの中にまとめられるような気がするけど、py2exeの機能を全く把握してないのでよくわからん。
で、>>812にも
>LGPLなdll
ってあるけど、pygameってDLLじゃないよね?
それともSDLのことを指してる?
ってかLGPL部分が本体に埋まってないんなら、それって6bじゃないか。
>その個々のモジュールのライセンス
ああ、新たな問題がが。
Pythonについてくるやつは全部PSFLってわけでもないのね。
どこ見れば個々のモジュールのライセンスを確認できるんだろうか。
少なくともGPLではないっぽいけど。
>>815
誤解を招く、ってか自分が理解しきれてません。
ツッコミ歓迎。
じゃあ、LGPLなライブラリをリンクした実行ファイルは、ライセンスを設定できないのかな。
自分が書いたスクリプトを再配布禁止にすれば、結果として再配布になると。
とすると、ライセンスを設定できないのに「その著作物をあなたが選んだ条件の下で頒布することもできる」ってのはどう解釈すれば。
825:名前は開発中のものです。
08/10/06 00:38:14 aunpyxlL
>>824
派生物に対して、派生物の作者がライセンスの設定ができるのがLGPLのウリ。
だから再配布禁止もおkなはず。
pythonとpygameのことをよく見てみると、結構解決策が見えて来たような気がする。
>pygame (LGPL v2 or later)
こいつは、pythonスクリプトと.dllとかの混合物。そして今回の話題で唯一のLGPL物件。
pythonスクリプトがGPLv2_5における「アクセス機構」などに相当するなら、
- dllをexeから分離すればLGPLv2_6bで配布できる。
- dllをパッケージ(zip)から分離すれば、GPLv2_5によって、LGPLによる縛りが一切無い状態になる。
>MSVCR71.dll(?)
パッケージ(zip)から分離しとけば問題無い。
>pythonモジュール(PSFL)
LICENSE.txtといくつかのモジュールを見たかぎりでは、特にライセンスに関する記述がわからなかった。
これは恐らくpythonの一部として、PSFLでライセンスされてるんじゃないかなと思う。
ついでに言うと、PSFLの補足に「GPL互換」って書いてあった。
俺もツッコミは歓迎。
826:名前は開発中のものです。
08/10/06 16:54:03 iGpFKYHn
リバースエンジニアリングって何するのか知らないんだけど
LGPL部分を改変するのにMSVCR71.dllを解析する必要があるものなの?
827:名前は開発中のものです。
08/10/06 18:42:43 v1+FYr/C
所詮素人なので同じくツッコミ歓迎。
>>824
GPLのライブラリを使った場合は自分で書いた部分も含めて
全体をGPLにしなければならないのに対して、LGPLでは
自分で書いた部分を「選んだ条件の下で頒布することもできる」。
>>825
GPL互換の訳語は微妙だな。GPLからPSFLにできないから。
GPLと矛盾しないの方がいいな。
>>826
デバッグのためらしい。
万が一MSVCR71.dllに原因があるとしか考えられない状況に
なったときに最後まで追求できるようにかな。
828:名前は開発中のものです。
08/10/06 20:32:02 aunpyxlL
>>826
デバッガを使ったときに部分的に逆アセンブルしたり、変数内容を監視したりってのはあるかもしんない。
……無いかもしんない。
>>827
>GPL互換
LICENSE.txtに"GPL-compatible"って書いてあったので、「GPL互換」って訳してみた。
確かに、「GPLと矛盾しない」の方がわかりやすいかも。
829:名前は開発中のものです。
08/10/09 22:42:30 L4HG265F
えーと
>結局のところ「そこで、実行形式はこのライセンスで保護される」ってのは、
>「実行形式もLGPLライセンスで配布されなければならない」ということ(>>808)
が正しいとして、
>ライセンスを追加できる(>>809)
と
>ライセンスの追加は10項違反になる(>>815)
が食い違ってるように見えたんですよ。
で、
>実行形式のライセンスはそれら全てのライセンスを列挙したものになる(>>815)
のなら、確かに再配布は禁止できるような気がするけど、
>「その著作物をあなたが選んだ条件の下で頒布することもできる」ってのはどう解釈すれば(>>824)
と。
というわけで、そもそも「実行形式もLGPLライセンスで配布されなければならない」が間違ってるんじゃないか、
と思った訳なんだけど……正直もうわけわからん。
v3の和訳見た感じ、「実行形式もLGPLで保護される」のような文面もないし、
(ライブラリと「その利用」が保護されるって書き方されてる)
>同じLGPLでも「ライブラリ」か「ライブラリとリンクした実行形式」かで挙動が違う(>>811)
のなら、やっぱり違和感ある。
830:名前は開発中のものです。
08/10/09 22:59:14 L4HG265F
ctypesのsourceforgeページを見たら、MITライセンスって書いてあった。
python25に含まれるのとはライセンス違うのか、それともどっかに書いてあるのか……。
>>825
SDLもLGPLだけど、pygameのパッケージ自体もLGPLなんじゃないの?
>GPLv2_5における「アクセス機構」
ってのがよくわからないけど。
>>828
要は、(GPLと矛盾するようなライセンスとは違って)GPLなプロジェクトに組み込んでも大丈夫ですよ、ってことか。
PSFL自体は「権利表記してね」な感じの、BSDっぽいライセンスだよね?(あまりよくわかってない)
831:名前は開発中のものです。
08/10/09 23:44:10 RK7A1U35
>>809だが、しばらく見てなかったので適当に
>>829
>>結局のところ「そこで、実行形式はこのライセンスで保護される」ってのは、
>>「実行形式もLGPLライセンスで配布されなければならない」ということ(>>808)
>が正しいとして、
>>ライセンスを追加できる(>>809)
>と
>>ライセンスの追加は10項違反になる(>>815)
>が食い違ってるように見えたんですよ。
v2-10をよく読んでほしい。これは『ライブラリ』(または『ライブラリ』を基にした著作物全般)について言及している。
ここで【『ライブラリ』を基にした著作物】でライセンス文書全体を検索してほしい。これの定義と注意事項については
序文(はじめに)の末尾で言及されている。抜粋↓
「ライブラリを基にした著作物」と「ライブラリを利用する著作物」の違いによく注意してください。
『ライブラリ』を含む実行形式(LGPLで保護された実行形式)は「ライブラリを利用する著作物」である。
v2-10は実行形式については一切言及していない。LGPLで保護されたソースコードの話なんだよ。
繰り返すが、v2-6はLGPL適用除外規定ではない。v2-6を守ればLGPLフリーになるわけではない。LGPLは消失しない。
『ライブラリ』を含む実行形式は、
・LGPL
・LGPLと矛盾しない、あなたが定義する再配布条件についてのライセンス文書
を組み合わせることができる。これを「追加」と言うと、LGPLを改変できるような印象を与える気がするので
「組み合わせる」という言葉を使ってみた
832:名前は開発中のものです。
08/10/10 00:12:27 URfib3Sz
>>831間違えた。
×これの定義と注意事項については
×序文(はじめに)の末尾で言及されている。抜粋↓
×
× 「ライブラリを基にした著作物」と「ライブラリを利用する著作物」の違いによく注意してください。
×
×『ライブラリ』を含む実行形式(LGPLで保護された実行形式)は「ライブラリを利用する著作物」である。
「ライブラリを基にした著作物」の注意事項についてはv2-序文(はじめに)の末尾。
抜粋 : 「ライブラリを基にした著作物」と「ライブラリを利用する著作物」の違いによく注意してください。
「ライブラリを基にした著作物」の定義についてはv2-2に書かれている。ここでv2-2aに注目。
抜粋 : 「a) 改変された著作物はそれ自身がソフトウェアライブラリでなければならない。」
以上よりv2-10は実行形式の話ではなくソフトウェアライブラリの話ということがわかる。
実行形式はソフトウェアライブラリではない。v2-10は実行形式については言及していない。
833:名前は開発中のものです。
08/10/10 00:28:41 eRI/vGXD
>>832
ん?
ライブラリとリンクした実行形式は、ライブラリを利用する著作物+ライブラリなわけで、
ライブラリを利用する著作物じゃなくてライブラリの派生物だよね?
ライブラリの派生物だということは、0項によればライブラリを基にした著作物になると思うんだけど。
序文末尾の通りライブラリから採られたコードを含んでいるわけだし。
2節は、「ライブラリを基にした著作物」のうち、ライブラリ自体に手を加えたものの配布についての話であって、
「ライブラリを基にした著作物」であれば「ライブラリ」である、と書いてあるようには読めないけど。
実際、4節ではわざわざ「第2節における派生物」って書き方してるし。
834:名前は開発中のものです。
08/10/10 00:48:11 URfib3Sz
>>833
>ライブラリを利用する著作物じゃなくてライブラリの派生物だよね?
そう。そこは>>832で×として撤回している。
※話はそれるが、v2はv3に比べて極めて見通しが悪く、重複する意味合いの言葉が
散在してるからムカツク。v2→v3で文書が一変して全くの別物じゃねーかこれ、というのが俺の個人的印象。
で、『ライブラリ』を含む実行形式というのは言われたとおり、これは 『ライブラリ』の派生物 という扱いだ。
v2では、『ライブラリ』の派生物に関する取り扱いには分岐がある。
・ソフトウェアライブラリ
・実行形式
前者はv2-2の定義。後者はv2-5の定義に従う。
v2-10は前者の話。
v2-6は後者の話。
835:名前は開発中のものです。
08/10/10 00:52:57 m++HPt/V
>>832-833
LGPLv2の10節は作品の配布物に含まれる「LGPLなライブラリの部分」に関して、複製、頒布、リンク、改変の許可を与えよって意味だと俺は解釈した。
>>829
上記の理由で、配布物全体としては再配布禁止にできるけど、
LGPLなライブラリ部分を抜き出して再配布する行為は禁止できないんじゃなかろうか。
836:名前は開発中のものです。
08/10/10 01:09:19 URfib3Sz
>>835
>LGPLv2の10節は作品の配布物に含まれる「LGPLなライブラリの部分」に関して、複製、頒布、リンク、改変の許可を与えよって意味だと俺は解釈した。
そうだね。
例えば 『ライブラリ』(または『ライブラリ』を基にした著作物全般) と結合された実行形式は
既にソフトウェアライブラリとしての体をなしておらず、これはアプリケーションソフト。
よってこの実行形式はv2-10の範囲外。
v2-6aに従い実行形式と共に配布される 『ライブラリ』(または『ライブラリ』を基にした著作物全般)が
v2-10によって保護される。
837:名前は開発中のものです。
08/10/10 01:21:16 eRI/vGXD
でも、ライブラリの派生物がすべて「ライブラリを基にした著作物」であるなら、10節も引っかかるんじゃ……。
ってよく見たら「再頒布」って書いてあるな。
ライブラリとリンクした実行形式のうち、「ライブラリ部分」に制限追加しちゃ駄目よ、って解釈すればいいのかな。
と思ってリロードしたらすでに言われてた。
>>834
>v2はv3に比べて
全くもって同意。
LGPL 2.1 or laterってことは、v3で話を進めても問題ないってことなのかね。
そっちの方が楽でいいよね。
あと、
>v3の和訳見た感じ、「実行形式もLGPLで保護される」のような文面もないし、
>(ライブラリと「その利用」が保護されるって書き方されてる)
についても意見ほしい。
「LGPLに従った利用であれば、LGPLじゃないソフトウェアにリンクできますよ」って読めたんだけど。
838:名前は開発中のものです。
08/10/10 02:01:30 URfib3Sz
>>837
>についても意見ほしい
v3-0の冒頭より抜粋
『ライブラリ』(The Library)とは、本許諾書の下で管理された『保護された作品』のうち、
以下で定義する『アプリケーション』や『結合された作品』以外のものを指す。
より、『結合された作品』は本許諾書の下で管理された『保護された作品』の内のひとつであることがわかる。
839:名前は開発中のものです。
08/10/10 02:33:21 URfib3Sz
>>836補足
△ よってこの実行形式はv2-10の範囲外。
↓
よってこの実行形式はv2-10の範囲外。
ただし実行形式が含む『ライブラリ』部分だけを何らかの方法でぶっこ抜いて
それを再びソフトウェアライブラリとして利用するような変態曲芸をするなら
そのぶっこ抜いた箇所はv2-10の範囲内になる。
(※どっちみち『ライブラリ』のソースコードは実行形式に添付されるんでこんな変態曲芸は全く必要ないんだが)
一旦『ライブラリ』と結合した実行形式を作ってから『ライブラリ』部分を引き剥がせば
実質的に『ライブラリ』をLGPLフリーにできるじゃん、とか考えるセコイ奴対策のためにも
実行形式はLGPLで保護されてる必要があるんだね
840:名前は開発中のものです。
08/10/10 02:47:17 eRI/vGXD
>>838
それって『ライブラリ』の定義が
・それは『保護された作品』である
かつ
・それは『アプリケーション』でない
かつ
・それは『結合された作品』でない
なだけであって、
・それが『結合された作品』であれば、それは『保護された作品』である
を意味しないと思うけど。
実際、『アプリケーション』はライブラリを基にしてないわけだし。
>>839
ライブラリとその利用がLGPLによって保護されている(そして、それを知らせなきゃいけない)んだから、
実行形式それ自体がLGPLじゃなくても問題ないんじゃないかな、と思った。
841:名前は開発中のものです。
08/10/10 03:25:45 URfib3Sz
うん。>>838の解釈は確かに怪しい。というか間違ってる。撤回する。
『アプリケーション』 は 『ライブラリ』のインターフェースを利用するだけであり
これ単体はLGPLv3の範囲外。『保護された作品』ではないから。
『ライブラリ』=『保護された作品』
『ライブラリ』≠『アプリケーション』
『ライブラリ』≠『結合された作品』
という意味でしかない。
842:名前は開発中のものです。
08/10/10 04:06:45 URfib3Sz
v3-1抜粋↓
あなたは本許諾書の第3項および第4項に従い、『保護された作品』を伝達することができる。
その際、GNU GPL第3項の第2段落に束縛される必要はない。
より、v3-4は『保護された作品』の伝達 について記述したものであることが分かる
言うまでも無く、v3-4の主体は『結合された作品』。
これらより
『結合された作品』は本許諾書の下で管理された『保護された作品』の内のひとつといえる。
ところで『アプリケーション』の伝達についてv3は一切言及してない。つまり一切関知しない
=興味ない=範囲外ということ
843:名前は開発中のものです。
08/10/10 10:58:37 m++HPt/V
>>829
実行形式をLGPLライセンスで配布する必要は無いよ。
ただ、LGPLライブラリを利用するための条件は満たす必要はある。(←この部分がLGPLからは逃れられないとか、LGPLで配布しなければならないという上記の表現につながってるだけ)
844:名前は開発中のものです。
08/10/10 15:32:50 v68pTHSA
>>843
>実行形式はLGPLで配布する必要はない
もう少し具体的に書くと
v2の5項でいう『ライブラリ』の派生物としての実行形式は
LGPLのみで配布する必要はないが
少なくともLGPLと組み合わせて配布する必要がある
この実行形式の利用者はLGPLと、LGPLと組み合わせられた(LGPLと矛盾しない)再頒布に関するライセンス、の両方を守らなければならない
845:名前は開発中のものです。
08/10/10 17:03:07 v68pTHSA
>少なくともLGPLと組み合わせて配布する必要がある
て変だな
少なくともLGPLと組み合わされた(LGPLと矛盾しない)再頒布に関するライセンスで配布する必要がある
かな
846:名前は開発中のものです。
08/10/14 20:34:15 CXbQScGn
LGPLを子とすると
基本的に「親」はLGPLで配布しないといけないが
兄弟(OSや別ライセンスのdll等)は違うと明言して
ひとつのzipにして配布して告発されることはないはず。
ぐたぐだいっている内容は結局「別途インストールしてください」でもすむ
つまりLgplのライブラリー一式のインストーラーと非GPL・LGPLのソフトを
別配布にしつつ動的に両方インストールする一つの配布ソフトがあった場合
LGPLでもGPLでも縛れないし
ユーザーがインストール済みであることを前提としたGPL・LGPLなdllに静的リンクする
アプリを別途配布したとして責める法的根拠はない。
これは午後のコーダが特許問題回避策のためにminGWとソースを動的にビルドして
「実行ファイルは配布していない」
というのに似ているがより問題は少ないはず
それ以前に「ゲーム」というジャンルでは著作権侵害のほうが多かったり
ゲーム自体がほとんどないほうが問題。
さらにいうならGPLで配布されているソフトに広告つけてソース公開せず
ベクターにだしているやから「glestとかtorcsとか」もいるくらいだから
些細なライセンスに妄想レベルでこだわっている暇あったら
まず自分が正しいという形でゲーム出して
LGPL違反だと言われてから素直に対応するほうが正しい道筋ではないだろうか
847:名前は開発中のものです。
08/10/15 00:02:27 ZurO+f0n
『プログラム』であれば『保護された作品』だけど、『保護された作品』であれば『プログラム』なのか?
GPLv3和訳も読み直したけど、やっぱりよくわからん。
>>846
自分がよく理解していないライセンスで配布はしたくないな、と。
個人的には、もはや「LGPLなライブラリを使わない」のが正解だと思ってるけど、
他の「LGPL使いたいけどよくわからん」って人のヒントになればと思って質問してた。
(ググってもいまひとつよくわからないし、ここでも意見割れてるし、そういう人もわりといるんじゃないかと)
# pythonの2Dゲームライブラリって、あまり選択肢ないんだな。
# pygletはWin2kで動かないっぽいし、どうしたものか。
848:名前は開発中のものです。
08/10/15 02:37:21 RAfaqevB
>>846
>LGPLを子とすると
>基本的に「親」はLGPLで配布しないといけないが
その『親』が何を指しているのかイマイチ自信がないのだが、それは
v2の6項の冒頭でいうところの「『ライブラリ』の一部を含む著作物」でいいのかな
>兄弟(OSや別ライセンスのdll等)は違うと明言して
>ひとつのzipにして配布して告発されることはないはず。
これについては、LGPLv2の2項の末尾より抜粋
------------------------------------------------------------------
また、『ライブラリ』を基にしたわけではないその他の著作物を『ライブラリ』
(あるいは『ライブラリ』を基にした著作物)と一緒に集めただけのものを
一巻の保管装置ないし頒布媒体に収めても、その他の著作物まで
この契約書が保護する対象になるということにはならない。
------------------------------------------------------------------
ひとつにまとめたzip = 一巻の保管装置ないし頒布媒体
ひとつにまとめたzipはCD-ROMと同様の扱い。
そのzipそのもの を再頒布禁止するのも自由だし、どんな値段を付けて売りつけようが自由。
そのzipの中の 「『ライブラリ』の一部を含む著作物」 をLGPLと矛盾しないライセンスで保護するのも自由。(v2の6項)
そのzipの中の その他のdllやデータ等 をLGPLフリーの別ライセンスで保護するのも自由。
「告発されることはないはず。」どころか告発される根拠が全くないぜ
849:名前は開発中のものです。
08/10/15 03:29:31 RAfaqevB
もちろん、ここで気をつけたいのはLGPLv2の2項の末尾より抜粋した上記の文章中の「一緒に集めただけのもの」について。
これは↓のリンク先で言うところの「単なる集積」に相当する。
「単なる集積」と「二つのモジュールを一つのプログラムに結合すること」の違いは何ですか?
URLリンク(www.gnu.org)
私の独占的なシステムに、GPLで保護されたソフトウェアを組み入れたいのですが、それは可能ですか?
URLリンク(www.gnu.org)
>そのzipの中の その他のdllやデータ等 をLGPLフリーの別ライセンスで保護するのも自由。
zipの中の 「その他のdll」 がOSのシステムファイルとして独立してインストールされ、他のアプリケーションからも
利用される汎用的なコンポーネントならば、これは「単なる集積」であり「一緒に集めただけのもの」といえる。
しかし例えば、「その他のdll」 が 「『ライブラリ』の一部を含む著作物」 の存在なしには価値の無いものならば
「単なる集積」の関係ではなくなってしまう。
「単なる集積」の関係でない場合、v2-6に従いリバースエンジニアリングの自由が認められないといけない
850:名前は開発中のものです。
08/10/15 04:31:07 RAfaqevB
>しかし例えば、「その他のdll」 が 「『ライブラリ』の一部を含む著作物」 の存在なしには価値の無いものならば
>「単なる集積」の関係ではなくなってしまう。
これの典型的な例としては、 「その他のdll」 が 「『ライブラリ』の一部を含む著作物」 と同じローカルなディレクトリに
インストールされる場合。これはその他のアプリケーションからは全く利用できない。
>「単なる集積」の関係でない場合、v2-6に従いリバースエンジニアリングの自由が認められないといけない
ここ訂正
「単なる集積」の関係でない場合、一緒に頒布する = 「『ライブラリ』の一部を含む著作物」の一部 とみなされる恐れがあり
そうなるとv2の6項に従い改変の自由やそのためのリバースエンジニアリングを認める必要が出てくる。
851:名前は開発中のものです。
08/10/15 04:38:18 RAfaqevB
もし 「その他のdll」 が
・単なるプラグイン。無くても著作物の動作自体に何も支障がない
・改変とかリバースエンジニアリングを認めていない
ならば、著作物と一緒の媒体に入れないほうがいい。
もし 「その他のdll」 が
・著作物にとって必要不可欠な存在。これが無いと著作物は起動すらしない。
・改変とかリバースエンジニアリングを認めていない
ならば、著作物は 「『ライブラリ』の一部を含む著作物」 ではなく 「『ライブラリ』を利用する著作物」(LGPLフリー)
であるべき。ところで「『ライブラリ』を利用する著作物」(LGPLフリー) って何すか?それって例えばこんなもんだろ↓
・著作物は『ライブラリ(dll形式)』を動的にリンクし、『ライブラリ』のインターフェースを使うだけである。
・著作物のパッケージと『ライブラリ(dll形式)』のパッケージは別途配布される。
・『ライブラリ(dll形式)』はオペレーティングシステムのシステムフォルダにインストールされ
他のアプリケーションからも利用できる汎用的なコンポーネントである。
これらを全て満たしていれば、『ライブラリ』を利用する著作物」(LGPLフリー) といえると俺は思う。
852:名前は開発中のものです。
08/10/15 04:51:17 RAfaqevB
>>851における 「その他のdll」 ってのはOSのシステムファイルじゃない
(他のアプリケーションからは全く利用されない代物)ね
853:名前は開発中のものです。
08/10/15 18:31:22 aK9x9icn
ぐぐれば一発で見つかるものだけど本家MLでのやりとり
URLリンク(mail.python.org)
よく読んだわけじゃないがとりあえずDLLに分けとけという感じか。
>>847
著作権は曖昧で親告制だから著作権者の胸先三寸なところがあるし
最後は裁判するしかない。だから明らかにセーフかアウトかが
わかる場合以外のグレーゾーンについての結論はここでは出せない。
細かく見ていくとわからなくなるのはある意味当然なんだな。
>>851
かなり安全側にしているね。別途配布については曖昧だが、
ライブラリ開発者やOSベンダが配布しているものを
ユーザ自身で取得してもらうようにすれば安全かな。
854:名前は開発中のものです。
08/11/12 05:40:30 WJnRzYAb
>著作権は曖昧で親告制だから著作権者の胸先三寸なところがあるし
>最後は裁判するしかない。だから明らかにセーフかアウトかが
>わかる場合以外のグレーゾーンについての結論はここでは出せない。
自分で判断して決めなきゃいけないってのは分かるんだけど、
グレーゾーンで公開するとなんか犯罪者扱いされそうで嫌なんだよな…
855:名前は開発中のものです。
08/11/12 12:32:44 TrMY5FS0
>>854
何らかの社会的な活動をするにあたって、
事前にトラブルを回避しようとするのは至極真っ当な行為であると思う。
一方で、完全にトラブルを無くすことは不可能でもある。
ただ、>>854みたいに真面目な人にとっては
>>846みたいな「とりあえずやってみて、問題があれば謝って対処すればいいじゃん」的な
考え方を受け入れられないのは良くわかる。
最終的にはそこんところのバランスを見極めることが重要になってくると思う。
相手に悪意さえなければ、多少のトラブルは話合いと時後のフォローでなんとかなる場面もあると思う。
856:名前は開発中のものです。
08/12/01 18:10:13 oawJyFgc
しばらく間が空いてしまった。
GPL/LGPLの和訳読み返してみてるけど、『「結合された作品」はLGPLでライセンスしなければならない』
ってのはやっぱり違う気がするんだが。
「結合された作品」は、「プログラム」である「ライブラリ」を含むから、「保護された作品」ではあるみたいだけど、
それはLGPLでライセンスされているって意味じゃないよね。
GPLの場合ではGPLにしないといけないわけだけど。
ところで、py2exeで作られたexeってアーカイブなのか?
解凍できたんだが。
857:名前は開発中のものです。
08/12/01 21:02:21 Z+fjavwF
LGPLの場合、ライブラリ部分がユーザ側で差し替え可能なら、本体のライセンスは何でも良いんじゃね
(ライブラリ部分は別途ソースも配布する必要があるのかな)
858:名前は開発中のものです。
08/12/02 02:23:10 ors0Pl52
py2exeは必要なモジュールをパッキングしてるだけだからなぁ
859:名前は開発中のものです。
08/12/02 06:52:30 JVSFvZoV
調べてみたけど、exe内に必要なモジュールをZIP圧縮しておいて、
起動するとメインのスクリプトを内蔵インタプリタで実行、モジュールはZIPからimportする、って仕組みみたいね。
つまり、py2exeしても動的リンクなのは変わらない、と。
元から入ってるライブラリを利用する仕組みじゃないから別にあれなんだけど、
LGPLが「動的/静的」って書き方をしてないのはこういう理由なのかな。
>>857
あくまで「俺のゲームのライセンスは○○ライセンス、××ライブラリのライセンスはLGPL」であって、
「俺のゲームに××を(動的静的問わず)リンクしたもの」にライセンスを設定しようとすること自体が変、ってことなのかな。
そのレスを読んでふと思った。
「俺のゲームに××を(静的)リンクして出来た単一の実行ファイル」のライセンスについて強いて言うなら、
「俺のゲームは○○ライセンス、××はLGPL」みたいな感じで。
(いままでのレスにあった「組み合わせる」っていうのは、こういうことだったのかな)
思い込みで「ひとつのファイルの部分部分に別々のライセンス」って発想がなかったんだけど、
つまりは「非LGPLのファイルとLGPLのファイルをまとめて圧縮したZIPファイル」と同じようなもんなのかな。
860:名前は開発中のものです。
08/12/02 16:50:23 VDtsWa1y
>>856は用語の使い方(「結合された作品」「ライブラリ」「保護された作品」)から見ておそらくv3の話だろうと思うけど
あなたが配布する『結合された作品』には、LGPL(v3)で保護された他人の著作物『ライブラリ』が結合されている。
あなたが配布する『結合された作品』は、あなたの技術的な都合により他人の著作物を引き剥がして配布できない。
つまり他人の著作物との結合なしには動かない。常に他人の著作物と一緒。結合された状態で配布される。ところで
他人の著作物の著作権は消えない。つまり
他人の著作物を自分の著作物にすることはできない。同様に
他人の著作物の利用許諾を受けるための約束事(つまりライセンス。つまりLGPL(v3))も消えない。つまり
他人の著作物の利用許諾を受けるための約束事を勝手にオーバーライドして再定義することはできない。
他人に対する敬意があればこれは容易に理解できる
あなたが配布する『結合された作品』は『ライブラリ』と結合されている。だから『保護された作品』。LGPL(v3)によって『保護された作品』。
あなたが配布する『結合された作品』のライセンシー(利用者)となるためには、利用者はLGPL(v3)(及びその基となっているGPL(v3))も
理解してこれに同意しなければならない。これ抜きには『結合された作品』のライセンシーにはなれない。絶対になれない
ゆえに『結合された作品』のライセンサー(あなた)は、『結合された作品』のライセンス(あなたのライセンス)を作るとき
必ずLGPL(v3)と組み合わせることになる。具体的にはLGPL(v3)の第4項に従う
あなたのライセンスはLGPL(v3)なしには存在できないライセンスだ。常に1セット。
LGPL(v3)を守ることに同意できなければあなたのライセンスには同意できない。
あなたのライセンスに同意するということはLGPL(v3)にも同意するということ。
『ライブラリ』のライセンシーになれなければ『結合された作品』のライセンシーにはなれない。
『結合された作品』のライセンシーになるということは『ライブラリ』のライセンシーにもなるということ。
あなたのライセンスのライセンシーになるということはLGPL(v3)のライセンシーにもなるということ。
861:名前は開発中のものです。
08/12/02 16:56:50 VDtsWa1y
>>860
しつこく書いたが流石に最後の一行は意味不明だな。ここは不要
862:名前は開発中のものです。
08/12/02 18:10:28 VDtsWa1y
>>859
>「ひとつのファイルの部分部分に別々のライセンス」って発想
その通り
『結合された作品』は色んなライセンスの他人の著作物が一緒の実行形式に入ってる。
『結合された作品』はあなたの技術的な都合により他人の著作物を引き剥がして配布できない。
『結合された作品』に含まれる著作物のひとつが『ライブラリ』(LGPL(v3))ならば
『結合された作品』のライセンシーになるということは『ライブラリ』のライセンシーにもなるということ。
あなたのライセンスに同意するということはLGPL(v3)にも同意するということ。
>つまりは「非LGPLのファイルとLGPLのファイルをまとめて圧縮したZIPファイル」と同じようなもんなのかな。
ただ単に一緒に配布すること と 組み込むこと は違うとされている。
私の独占的なシステムに、GPLで保護されたソフトウェアを組み入れたいのですが、それは可能ですか?
URLリンク(www.gnu.org)
「単なる集積」と「二つのモジュールを一つのプログラムに結合すること」の違いは何ですか?
URLリンク(www.gnu.org)
py2exeでパックされた実行形式では『ライブラリ』は『組み込まれている』と言える。『結合された作品』といえる。
あなたの著作物をLGPL(v3)フリーのライセンスで配布したいならばpy2exeを使わないほうがいい。
あなたの著作物が『結合された作品』ではなく『アプリケーション』であると胸を張れる形で配布すべきだ。
ここでの『アプリケーション』の定義についてはLGPL(v3)に準拠する。
863:名前は開発中のものです。
08/12/02 18:14:37 jOvSg1Ph
ゲームにGPLって明らかに悪意だろw
オープンであるというイメージを利用できて、さらにパクられない強み
864:名前は開発中のものです。
08/12/02 20:45:02 ipbl4vxU
Python+Pygame+py2exeの話だから、LGPLのSDLをどうするかって話か。
LGPLv2_6d的に考えると、ゲーム本体を配布してる場所で、SDLのソースも配布すれば基本的な条件は満たせる。
問題はゲーム本体のライセンスに「リバースエンジニアリング禁止」という条件があるかどうか。
実際問題として、ゲーム本体のソースを添付しない&再配布禁止ということにすれば、
リバースエンジニアリングの問題はどうでもいいように思う
865:名前は開発中のものです。
08/12/02 22:53:14 JVSFvZoV
相変わらずなんか噛み合ってない気がするけど、大体掴めたからいいや。
LGPLはリンク先に感染しない、で合ってるわけね。
>>864
pygame自体もLGPLじゃね?
あと、ライブラリ部分以外のソースかオブジェクトコードも必要だよね。
……って、importしたモジュールの依存関係チェックして、手動でコピペするしかないのか?
866:名前は開発中のものです。
08/12/02 23:13:45 ipbl4vxU
>>865
pygameもLGPLだったかw
py2exeのオプションでpygameとSDLの部分を別ファイルにできない?
できるならそれでおkな気がするんだけど。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5337日前に更新/330 KB
担当:undef