1 名前:名前は開発中のものです。 [02/11/06 01:06 ID:NlG1/pUn] 一口にフリーソフトウエアといっても、その定義は様々。 ライセンスの種別ごとに、ゲーム製作との関係も大きく異なってきます。 GPL/LGPLをはじめとするフリーソフトウエアのライセンスと ゲーム製作のかかわりについて、ひとつ皆で議論してみましょう。 前スレ game.2ch.net/test/read.cgi/gamedev/1005818191/
772 名前:名前は開発中のものです。 mailto:sage [2008/06/21(土) 12:46:22 ID:mBgLrGhR] GPLライセンスで公開されてるアルゴリズム(LZOとか)を 全く概念の違う言語で1から組んだらそれはGPLに感染するの? アルゴリズムには著作権ないはずだし、実装方法も違うわけだから平気?
773 名前:名前は開発中のものです。 mailto:sage [2008/06/21(土) 13:45:46 ID:R1LFOhlb] GPLは著作権を前提にしたライセンスなので、アイディアは縛れない。 GPLで公開されているソースをそのまま利用した場合はアウト。 ただ、それが特許を取られていない証明にはならないので、 厳密には調査が必要だと思う。 現に、LZOの元ネタであるLZ77のいくつかの実装アイディアは既に特許を取られているらしい。
774 名前:名前は開発中のものです。 mailto:sage [2008/07/21(月) 11:23:56 ID:R3ora5jg] 初心者丸出しの質問ですみません、例えば 1. pythonとpygame(LGPL)で作ったゲームをpy2exeでexeファイルにする。 2. ゲーム内で使用する画像・音楽・面DATA等はexe外に置く。 3. 作ったゲームをシェア(又は同人)ソフトとして1000円で販売。 4. LGPLにしたがってゲームのソースをゲームに同梱し、HP等でソースのみも配布する。 とした場合、ソースの再配布は自由だが画像DATA等はライセンスに抵触しないので 再配布は禁止できる、という解釈で良いのでしょうか? それとも何処かに問題があるのでしょうか? pythonがどうだとかは置いといて、ソース公開を前提とするのなら このようなやり方は有りなのかなと思ったので・・・。
775 名前:名前は開発中のものです。 [2008/07/21(月) 15:57:01 ID:UAMfujAl] >>774 >ソースの再配布は自由だが画像DATA等はライセンスに抵触しないので >再配布は禁止できる、という解釈で良いのでしょうか? YES。例えばID SoftwareのQuakeシリーズはソースのみをGPLで配布してる。 製品やデモ版に付属するデータはGPLではない。勝手に再配布すると それぞれのパッケージのEULAに違反することになる 実行に必要な各種データのフォーマットは公開されているから自作できる
776 名前:774 mailto:sage [2008/07/22(火) 08:59:19 ID:7OOqzN2o] >>775 参考になりました、ありがとうございます。 これで少しは気楽に色々なライブラリに手が出せそうです。
777 名前:名前は開発中のものです。 mailto:sage [2008/09/20(土) 11:04:21 ID:c2Y+er4r] 便乗ですまん。 python+pygameで作ったhoge.pyや、それをpy2exeでexeにしたhoge.exeってそもそもLGPLになるの? いまひとつよくわかってないんでググってみたんだけど、やっぱりよくわからなかったです。 pygameやpy2exeに手を加えなければ大丈夫なのかなと思ったんだけど。
778 名前:名前は開発中のものです。 mailto:sage [2008/09/22(月) 01:13:30 ID:XdLfzriF] >>>777 一体化されてるので LGPL の静的リンク対象になるという解釈が妥当。 おおざっぱに言えば、それを入手したユーザが、LGPL対象の ライブラリ部分に手をいれても再構築できるかどうか、が判断基準。 もっかい py2.exe で hoge.exe が作れるようにした状態のものを 配布する必要がある。
779 名前:名前は開発中のものです。 mailto:sage [2008/09/22(月) 02:46:14 ID:PpisTzxn] レスサンクス。 ちょっと理解できたような気がする。 まだライブラリ関連の知識が足りないのもあるけど、ライセンス関連の文章は難しい。 hoge.py →「ライブラリを利用する著作物」であり、ライセンス範囲外。 hoge.exe →「ライブラリを利用する著作物にライブラリをリンクして実行形式を作成」しているので「ライブラリの派生物」 →LGPLではない好きな条件で配布できるが、リバースエンジニアリングの許可、 LGPLのライブラリを使っていることの表記、LGPLライセンスのコピー、a~eのいずれかが必要。 a) pygame、hoge.pyと一緒に配布して、pygameを改変した上でのhoge.exeの作成を可能な状態にする。(>>778 ) b) pygameをhoge.exeの外側に出しておいて、pygameを改変してもhoge.exeが動くようにする。 c~e) a の一式を簡単に手に入れらるような状態にする。 例の場合、hoge.exeがLGPLになるわけじゃないけど、pygameがhoge.exeの中に含まれる以上、ソースコードも必要になる。 動的リンク云々ってのは b のことで、LGPLにならないしソース公開する必要もない。 もちろん、リバースエンジニアリングの許可など、他の条件は守る必要があるけど。 ってことでおk?
780 名前:名前は開発中のものです。 mailto:sage [2008/09/22(月) 11:16:44 ID:XdLfzriF] LGPLになる、ってのはちょっと表現がおかしい気はするけど おおむねOkではないかと。 a) も b) も LGPL にそったライブラリの利用、ってことで。
781 名前:名前は開発中のものです。 mailto:sage [2008/09/22(月) 23:19:41 ID:PpisTzxn] ああ、すまん。 実行ファイルもLGPLライセンスを強制されるのかを訊きたかったんだ。 っていうと、 >>774 は自分の作ったゲームを、ソースや実行ファイルなどの再配布を禁止するライセンスで配布することもできるし、 別に画像や音楽がまとめてexeに入っていたとしても、それらの再配布を禁止して問題ない、ってことだよね。 そこが引っかかったもので。
782 名前:名前は開発中のものです。 [2008/09/24(水) 16:56:21 ID:kih1ABV3] >>781 >別に画像や音楽がまとめてexeに入っていたとしても、それらの再配布を禁止して問題ない、ってことだよね。 【ケース1】pygameがhoge.exeの外部にある。つまりhoge.exeがpygameを動的にリンクする。 hoge.exeを俺ライセンスで保護して再配布を禁止することができる 【ケース2】pygameがhoge.exeの内部にある。つまりhoge.exeがpygameを性的にリンクする。 hoge.exeはLGPLで保護され(or染まっ)ており、その再配布を禁止すればLGPL違反 >>774 はpygameがhoge.exeの内部にある(=【ケース2】)、という解釈でいいんだよね? で、画像や音楽をhoge.exeの外部におく(別ファイルにする)と。これなら画像や音楽にLGPLは及ばず 画像や音楽は俺ライセンスで保護できる。つまり画像や音楽の再配布は禁止できる。 もちろんhoge.exeと画像と音楽をひとつの媒体(CD-ROMやzipファイル)にまとめた製品の再配布も 禁止できる。 hoge.exe単体の再配布だけは禁止できない。 【ケース2】で「もし画像や音楽がまとめてexeに入って」いるならば、exe中の画像や音楽を (LGPLと衝突しオーバーライドするような)俺ライセンスで保護しexeの再配布を禁止しようとすればLGPL違反。
783 名前:名前は開発中のものです。 mailto:sage [2008/09/25(木) 07:54:59 ID:bEAzAkrR] おお、またわからなくなってきた。 つまり、 >例の場合、hoge.exeがLGPLになるわけじゃない(>>779 ) ってのは、 >おおむねOk(>>780 ) じゃないってこと? hoge.exeについて>>779 で合ってるなら、 ・LGPLではない好きな条件で配布できる。 ・リバースエンジニアリングを禁止しないこと。 ・LGPLのライブラリを使っていることを表記すること。 ・LGPLのライセンス文書のコピーを付けること。 ・ソース一式を公開する。あるいは、ライブラリを実行ファイルに含めないこと。 ↑になるわけで、動的か静的かっては最後の項目にしか関係しないのでは?
784 名前:名前は開発中のものです。 mailto:sage [2008/09/25(木) 11:08:26 ID:TCASe74V] だいたい人の作ったものに著作権をかぶせるなんてのがおかしい 商用で配布されたとしても、原作者は自分の作ったコード部分にしか 権利を主張できない。 また、いっしゅの特許のようなものだとしたらいつかその制限が 解除されるはずなのに、GPLというだけで感染が拡大していく。
785 名前:名前は開発中のものです。 mailto:sage [2008/09/25(木) 11:55:02 ID:mlLJBt7T] >>782 が間違い。 LGPL では、それを使った著作物を自前のライセンスにおいて頒布する場合に、 それの再頒布を禁止してはいけない、とはどこにも書かれてない 自前のソース、データ、それがふくまれた exe いずれも再配布禁止できる。 要求されてるのは、あくまで、配布をうけた人が改造して再構築できることだけ。 GPL のほうはやう゛ぁい。提供されたバイナリの再配布禁止ができないのでデータくっつけちゃうと悲惨
786 名前:名前は開発中のものです。 mailto:sage [2008/09/25(木) 11:55:45 ID:bk64QUmA] UNIX板のGPL批判スレ落ちたんだな。 >>784 前者は正しい。後者は誤り。 GPLは二次利用の許諾を与えるためのスキームに過ぎず 派生物の著作権を主張しているわけではない。 そもそも二次利用を考えるときは著作権自体に感染性があります。 GPLは著作権に基づいているので著作権が消尽すると無効になります。 そして(今のところは)著作権はいつか切れます。
787 名前:名前は開発中のものです。 mailto:sage [2008/09/25(木) 12:02:09 ID:mlLJBt7T] >>784 その通りだよ。GPL は別に他のコードに権利を主張したりはしてない。 「同じ条件で配布しないと使ってはだめ」って言ってるだけだ。 なので GPL というだけで感染が拡大するってことは決してない。
788 名前:名前は開発中のものです。 mailto:sage [2008/09/25(木) 12:42:51 ID:ogAppFVi] GPLという感染は拡大していくけどね。
789 名前:名前は開発中のものです。 mailto:sage [2008/09/25(木) 13:17:09 ID:1hNgNp0y] GPLなものを使わないという選択肢はいつでも残されている
790 名前:名前は開発中のものです。 mailto:sage [2008/09/25(木) 13:22:18 ID:Wg4d8pvr] GPLは全然フリーじゃないのにフリーソフトという誤解を招く嘘の名前を付けているのが問題
791 名前:名前は開発中のものです。 mailto:sage [2008/09/25(木) 17:34:55 ID:eHNqeVRs] Vectorや窓の杜で言うところのフリーソフトが、 改変、再頒布の権利をユーザに認めているだろうか。
792 名前:名前は開発中のものです。 mailto:sage [2008/09/27(土) 01:08:25 ID:vm9JZxou] >>785 ありがとう。 「静的リンクしたらLGPL感染。動的リンクなら適用されない。」ってよく見るけど、間違いってことでよさそうね。 静的動的に関係なく、ライブラリを使うための条件は適用されるし、LGPLは感染しない、と。 ところで、python+pygame+py2exeなゲームの配布物一式を、(ライセンス的な意味で)どうやって作ればいいのかわかんね。 ってのは、スレ違いになるんかな?
793 名前:名前は開発中のものです。 [2008/09/27(土) 13:35:39 ID:gajb+PXR] >>792 v3はしらないけどv2では『ライブラリ』(←LGPL)を含む実行形式は『ライブラリ』の派生物という扱いだと思ったけど。 v2-6を満たすことを条件に再配布の条件を設定する自由があるというだけ、LGPLと矛盾するライセンスは設定できない。 その実行形式にはずーっとLGPLは付いてまわる。逃れることはできないよ
794 名前:名前は開発中のものです。 mailto:sage [2008/09/27(土) 14:04:03 ID:gajb+PXR] >>782 の間違いは、『ライブラリ』を含む実行形式の再配布を禁止したらLGPL違反、という点。LGPLは条件付きで認めてる。 再配布条件の設定するにあたってはLGPL適合を要求されるので感染はしている
795 名前:名前は開発中のものです。 mailto:sage [2008/09/27(土) 14:48:45 ID:D3uqc7Y4] ストールマンの怨念ここに極まれり
796 名前:名前は開発中のものです。 mailto:sage [2008/09/27(土) 15:12:33 ID:i8ilkrmo] そのうちにストールマンが死んだら求心力がなくなっておもしろいことになりそうだね。
797 名前:名前は開発中のものです。 mailto:sage [2008/09/27(土) 16:49:05 ID:o9iVMcIQ] >>792 python+pygame+py2exeのコンボで結合されると予想されるコンポーネント 非GPL/LGPL: VC755.dll, python255.dll LGPL_v2: pygame *py2exeの効果により、全部静的に結合した場合。 このとき、プログラム本体を非GPL/LGPLで配布したい場合、 LGPLv2_6bを満たせないので、LGPLv2_6aを満たす必要がある。 つまり、pygameのソースと、本体のオブジェクトコード(またはソース)をセットにする必要がある。 *py2exeの効果により、LGPLの部分を別ファイルに分離できる場合 (てか、py2exe使ったことないからシラネ) LGPLv2_6bを満たせるので、お好きなライセンスでどうぞ。 (どちらの場合も改変とリバースエンジニアリングは禁止できない。) って感じだと思った。
798 名前:名前は開発中のものです。 mailto:sage [2008/09/27(土) 16:52:34 ID:o9iVMcIQ] 誤 >非GPL/LGPL: VC755.dll, python255.dll 正 非GPL/LGPL: MSVC71.dll, python25.dll
799 名前:名前は開発中のものです。 mailto:sage [2008/10/01(水) 18:26:50 ID:DbkdqbiW] >>793-794 すまん、意味がよくわからないです。 ライブラリをリンクした実行ファイル(ライブラリの派生物)を配布する上で、ライブラリの利用条件があるだけで、 その実行ファイルもLGPLを強要されるわけじゃないと理解してた。 実行ファイルもLGPLに「感染」した上で再配布禁止にできるってことなの? それってその時点でLGPLに矛盾してるような気がするんだけど。 >>797 ありがとう。 俺も下の選択肢が可能なのかよくわかってない。 「自分が書いたコード」と「pygameのソース」はどこにあるかすぐわかるけど、 例えば標準モジュールをimportした場合などにどうすればいいかわかりません。 「自分が書いたコード」だけ配布して、python2.5とpygame(他、利用した3rd partyモジュール)のDL先にリンク張っとけばいいのかな。 それと、pygameってSDL(LGPL)のラッパだよね。 SDLの扱いはどうすれば。SDLって書いてあるdllを含めなければいいの? MSVCのdllはVS.NET買ってないと再配布できないよね。たしか。 python25.dllはどうなんでしょ。 質問ばかりですんません。 ……なんかもう他のLGPLじゃないモジュール使った方が早い気がしてきた。
800 名前:名前は開発中のものです。 mailto:sage [2008/10/01(水) 21:43:24 ID:+CEnIH82] >>799 >>793-794 が言いたいのはGPLv2の6節にある、 「改変、リバースエンジニアリングの許可」とか、 「LGPLで保護されたライブラリを使用していることを告知」することを言っているのだとエスパーしてみる。 つまり、本体をLGPLで配布する必要はないけど、LGPLが提示する条件を守らないといけないってこと。 もし、MSVC71.dllの改変やリバースエンジニアリングが許可されないなら、 MSVC込みでの配布は不可能と判断される。(そして、MSVCだけ、別途インストールしてねってお願いする) あと、GPLv2の6節を守るかぎりは、自分の好きな条件で配布できるとあるので、 GPLv2_6bに従う場合に限り、一切のソースとかリンクは提供する必要が無いと思う。 SDLを含む、含まないは自由にしたらいいと思う。 pythonとその標準モジュールは一つずつ再配布要件をチェックするしかない。( PSFライセンス的にはどうしようと問題はなさそうに思える。) 自分で書いたコードだけ配布するのが一番簡単だけど、 恐らくそれはpy2exeを使おうと思った背景に反するんだろうなあ。
801 名前:名前は開発中のものです。 mailto:sage [2008/10/01(水) 23:42:40 ID: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 名前:名前は開発中のものです。 [2008/10/02(木) 01:36:00 ID:Pxy/w+vg] >>801 LGPLは『ライブラリ』(←LGPL)を含む実行形式の配布方法について明確に言及しルールを設け 「再配布するときには俺にも一枚噛ませろ。俺を無視スンナ。俺のルールに批准せよ」と言っている。 事実 : 『ライブラリ』を含む実行形式の取り扱いにはLGPLが常に関与する。切り離すことはできない。 まぁ、「感染」についての言葉遊びには興味ないんで この事実を前にして、『ライブラリ』を含む実行形式はLGPLに感染していない、と強弁するなら別にいいよ。
803 名前:名前は開発中のものです。 mailto:sage [2008/10/02(木) 01:57:33 ID:Pxy/w+vg] >>800 >つまり、本体をLGPLで配布する必要はないけど、LGPLが提示する条件を守らないといけないってこと。 それは矛盾している 本体=『ライブラリ』を含む実行形式、ならばこれの取り扱いについてLGPLは明確に言及しており 「私の言うことを聞いて。私との約束を守って。でないと髭眼鏡デブに呪われんぞ」と言っている。 LGPLの、『ライブラリ』を含む実行形式に関するルール、に則って配布するというのは即ちLGPLに則るということ。 LGPLに則って配布するということはLGPLで配布するということ。 LGPLが提示する条件を守らないといけないってことは、LGPLで実行形式を配布するということ。
804 名前:名前は開発中のものです。 mailto:sage [2008/10/02(木) 02:24:29 ID:Pxy/w+vg] では、LGPLが一切関与してこない、一切言及してこない実行形式とは何か v2-5の初っ端にあるこれ↓だけ。 >『ライブラリ』のいかなる部分の派生物も含まないが、それとコンパイルされるかリンクされることにより『ライブラリ』と共に動作するようデザインされているプログラムは >「『ライブラリ』を利用する著作物」と呼ばれる。そのような著作物は、単体では『ライブラリ』の派生著作物ではないので、この契約書の範囲外に置かれる。 具体例としては、プラグイン機構を持つアプリケーション。プラグインのインターフェースはアプリケーション作者が定義しており アプリケーション作者はプラグインSDKを配布している。アプリケーションにもプラグインSDKにもLGPLなコードはヘッダ情報の欠片も含まれない。 『ライブラリ』(←LGPL)を含むプラグインを配布するプラグイン作者はいるかもしれない。しかしそれはアプリケーションにとって不可欠なものではなく 無くてもアプリケーションとしての体をなす。 このアプリケーションの実行形式はv2-6には該当せず、当然v2-6bにも該当しない。v2-5によってLGPLは明確に「俺はお前の取り扱いなんざ興味ない」と言っている。
805 名前:名前は開発中のものです。 mailto:sage [2008/10/02(木) 03:05:10 ID:nTtv8xAj] >>802-803 800でも801でもないけれど、そのあたりは単に言葉遊びというか 言葉の解釈の食い違いや言葉から受ける印象の違いなだけの感じがする。 たぶん>800の言う本体は自分自身で書いた部分の事だと思う。 そして>802で事実として挙げた部分については ここまで誰も異論を唱えていないように思う。 いずれにしても >786 にある通り著作権自体に感染性があるのだから 感染という言葉にこだわるのはやめようよ>ALL
806 名前:名前は開発中のものです。 mailto:sage [2008/10/02(木) 04:36:25 ID:Pxy/w+vg] >>799 >その実行ファイルもLGPLを強要されるわけじゃないと理解してた。 ソフトウェアライセンスの文書ってのは基本的に ライセンサーが定義する「保護する対象」の取り扱いについての約束事と その約束事を守ることでライセンシー(あなた)に許可する権利を書き並べたもの。 LGPLが「保護する対象」はソースコードだけでない。実行形式も「保護する対象」。 LGPLは、『ライブラリ』を含む実行形式を「保護する対象」としており、その取り扱いに ついての約束事を守ることを要求している v2-5抜粋「そこで、実行形式はこのライセンスで保護される。」 再配布にあたってはv2-6の条件を必ず飲めと言っている。 v2-6はLGPL適用除外規定ではない。(※←ここ重要) >実行ファイルもLGPLに「感染」した上で再配布禁止にできるってことなの? 「感染」 = 「LGPLの保護の対象となりその取り扱いにあたってはLGPLへの批准を求められる」 ならばそのとおりだね。LGPLはv2-6を満たすことを条件に、『ライブラリ』を含む実行形式の再配布条件を 設定していいとしている。実行形式の再配布を禁止してはならない、とは一言も書かれていない。 LGPLに批准したうえで実行形式の再配布を禁止することは当然できる。それはあなたの自由。 >それってその時点でLGPLに矛盾してるような気がするんだけど。 矛盾しない。
807 名前:名前は開発中のものです。 mailto:sage [2008/10/02(木) 04:43:02 ID:Pxy/w+vg] たかがライセンスに対して「批准」はおかしいな。 守るとか遵守とでも読み替えてくれ
808 名前:名前は開発中のものです。 mailto:sage [2008/10/02(木) 14:22:06 ID:buXSXhI8] >>805 えーと、言葉にこだわってるつもりじゃなかったんだ。 「ライブラリをリンクした実行形式の配布にあたって、実行形式のライセンスをLGPLにしなければならないのか」 というつもりで使ってた。 (LGPLライセンスを守らなければならないのか、ではない) 誤解を招くようなので控えます。 >>802-804 なんというか、もう少し文書をまとめてほしい。 よくわからんとです。 >LGPLに則って配布するということはLGPLで配布するということ。 例えば「このライブラリをリンクしたソフトを配布するときは、このライブラリを使ってることを明記してね」 のようなライセンスのライブラリを使ったソフトを配布するとして、 そのソフトは上記のライセンスに「則って」配布されなければならない訳だけど、上記のライセンス「で」配布しないといけないわけじゃないよね? (LGPLもこういうことじゃないか、と思っていた) 結局のところ「そこで、実行形式はこのライセンスで保護される」ってのは、 「実行形式もLGPLライセンスで配布されなければならない」ということであって、 LGPLライセンスに「加えて」あなたが選んだ条件の下で配布できる。 っていう話なのかな。 で、例えば再配布禁止にして配布した場合なんだけど、それって1節と矛盾しないの?
809 名前:名前は開発中のものです。 mailto:sage [2008/10/02(木) 16:40:54 ID:Pxy/w+vg] >LGPLライセンスに「加えて」あなたが選んだ条件の下で配布できる。 >っていう話なのかな。 そういうことだね。『ライブラリ』(←LGPL)を含む実行形式の再配布に関しては LGPLを守らなければならないという大前提の上で成り立つ ライセンスを追加できるということ。 このライセンスの文書にはLGPLを守れという一文が入る。 このライセンスとLGPLのは常に1セット。切り離せない。 このライセンスは、『ライブラリ』を含む実行形式の取り扱いについて LGPL100%互換。衝突・矛盾はひとつもあってはならない。 >で、例えば再配布禁止にして配布した場合なんだけど、それって1節と矛盾しないの? v2-1はLGPLで保護されたソースコードについての話。ここでの保護の対象はソースコード。 実行形式ではない
810 名前:名前は開発中のものです。 mailto:sage [2008/10/02(木) 17:57:34 ID: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 名前:名前は開発中のものです。 mailto:sage [2008/10/02(木) 19:15:45 ID:buXSXhI8] >>809 つまり、同じLGPLでも「ライブラリ」か「ライブラリとリンクした実行形式」かで挙動が違うってことなのかな。 とすると、「このソフトウェアはLGPLライセンスで配布されています」ってのは、 再配布が可能なことや、ソースが公開されていることを必ずしも意味しているわけじゃないのか。 ややこしいんだな……。 >>810 >DLL っていうと、実行ファイルのみならず、それと動的リンクしたDLLに対してもリバースエンジニアリングを禁止できないのか? >モジュール pure Pythonモジュールとかパッケージって、PythonスクリプトであってDLLじゃないよね? (拡張モジュールについてはよくわかってない) Pythonとpy2exeに関する知識がもっと必要なのかな……。 スクリプトファイルはあくまでインタプリタへの入力(データ扱いだよね?)であって、 exe自体のソースじゃないのが余計に問題を面倒なことにしてるのかね。 コンパイラ言語ならもっとシンプルなんだろうか。
812 名前:名前は開発中のものです。 mailto:sage [2008/10/02(木) 20:23:42 ID: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 名前:名前は開発中のものです。 mailto:sage [2008/10/03(金) 00:41:15 ID:QAGMz35r] >> MSVCR GPLもLGPLもOSや処理系のランタイムについては例外規定があるよな?
814 名前:名前は開発中のものです。 mailto:sage [2008/10/03(金) 15:00:02 ID:v+KSFbEP] >>813 確かにGPLv2の3節及び、LGPLv2の6b節にそのような記述があるけど、 あくまでも「頒布されるものの中に、含んでいる必要はないとする。」と書かれているだけで 配布物に含めてしまうとGPL/LGPLの要件を満たす必要が出てくるんじゃね。
815 名前:名前は開発中のものです。 mailto:sage [2008/10/03(金) 18:59:34 ID:SaI5Cu++] >>808 「加えて」という表現は誤解を招きやすいかな。 ライセンスの追加は10項違反になるよ。 使用した各コンポーネントそれぞれのライセンスを「組み合わせる」感じ。 実行形式のライセンスはそれら全てのライセンスを列挙したものになる。 その中に再配布禁止のコンポーネントがあれば全体として 再配布禁止になるというだけ。
816 名前:名前は開発中のものです。 mailto:sage [2008/10/03(金) 21:37:53 ID:QAGMz35r] >>814 そういう解釈するとプロプラなOSや言語処理系を一切使えなくなりそう。 GPLもLGPLもv3だと"System Libraries"や"Major Component"の 定義があってそもそも作品の一部とみなさないし www.gnu.org/licenses/gpl-faq.ja.html#WindowsRuntimeAndGPL FAQにもこうあるから問題ないと思うんだが。
817 名前:名前は開発中のものです。 mailto:sage [2008/10/04(土) 13:02:10 ID:GbMLjyBh] >>816 動的リンクするのはいいんだけど、プログラム本体とランタイムをzipでくるんで配布しちゃうと、まずいんじゃね?
818 名前:名前は開発中のものです。 mailto:sage [2008/10/04(土) 19:21:55 ID:UqzJDgcy] LGPL v3の4.a〜4.eに関しては問題ないって認識は一致してるが 4の頭の部分の解釈が違うってこと?
819 名前:名前は開発中のものです。 mailto:sage [2008/10/04(土) 20:29:37 ID:GbMLjyBh] >>818 多分そうだと思う。 -- 以下、俺の解釈-- MSVCR71.dllとプログラム本体をzipでまとめて配布する場合に、 MSVCR71.dllがリバースエンジニアリング/改変/再頒布禁止と仮定したとする。 このとき、 *「単なる集積」と「二つのモジュールを一つのプログラムに結合すること」の違いは何ですか? www.gnu.org/licenses/gpl-faq.ja.html#TOCMereAggregation 上により、zipにまとめた場合のMSVCR71.dllは単なる集積ではなく、プログラムの結合であり、作品の一部であると思われる。 GPLv2だと2節「全体としての頒布物は、この契約書が課す条件 に従わなければならない。」が満たせない。 GPLv3だと5c節「作品の全部分を、総体として、コピーを所有するに至った人全員に、本許諾書の下でライセンスしなければならない。」が満たせない。 LGPLv2だと6節のリバースエンジニアリングの許可が満たせない。 LGPLv3だと4節のリバースエンジニアリングの許可が満たせない。 これを回避するために、「システムライブラリ」に相当するMSVCR71.dllを、 本体とは別に配布する必要があるのではないかと俺は思っている。
820 名前:名前は開発中のものです。 mailto:sage [2008/10/04(土) 21:14:32 ID:UqzJDgcy] > 「対応するアプリケーションコード」には、〜「結合された作品」の「システムライブラリ」は除く。 とはあるが4の冒頭で問題にされてる 「結合された作品」から「システムライブラリ」の 部分を除くとは書いてないってことか。 実務上そういうことにはまずならないんじゃないかと思うが確かに文面では示せないわ。
821 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 12:45:36 ID:lSGQKSk3] >>816 v2も6項のa-dの後にそのFAQ項目に対応する文章があるよ。 >>819 ,820 その解釈だとどう配布しようが関係なくリバースエンジニアリングできない ランタイムは使えないことにならないかな。
822 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 13:26:35 ID:v7IsXRIY] >>821 >その解釈だと…… うーん、俺も混乱してきたぞw LGPLv2の6節の後ろの方に、「しかし特別な例外として……含んでいる必要はないとする」とあるので、 LGPLv3で言われるようなシステムライブラリに相当するものを配布物に含める必要は無い。 配布物に含まれていなければ、それは結合もリンクにも該当しない。 結合もリンクもしていない以上、それはLGPLの影響力は及ばない=リバースエンジニアリングを許可する必要はない。 と解釈してみた。 しかしながら、MSVCR71.dllを使うためのヘッダファイルがリバースエンジニアリング禁止とか言われたらアウトなのだろうか。
823 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 13:43:38 ID:Vc0IrAL9] 慎重だなw MinGW版のヘッダーでも使うか? そういえば基本的にヘッダーには著作権を主張できないないって判例なかったか?
824 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 22:24:46 ID: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 名前:名前は開発中のものです。 mailto:sage [2008/10/06(月) 00:38:14 ID: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 名前:名前は開発中のものです。 [2008/10/06(月) 16:54:03 ID:iGpFKYHn] リバースエンジニアリングって何するのか知らないんだけど LGPL部分を改変するのにMSVCR71.dllを解析する必要があるものなの?
827 名前:名前は開発中のものです。 mailto:sage [2008/10/06(月) 18:42:43 ID:v1+FYr/C] 所詮素人なので同じくツッコミ歓迎。 >>824 GPLのライブラリを使った場合は自分で書いた部分も含めて 全体をGPLにしなければならないのに対して、LGPLでは 自分で書いた部分を「選んだ条件の下で頒布することもできる」。 >>825 GPL互換の訳語は微妙だな。GPLからPSFLにできないから。 GPLと矛盾しないの方がいいな。 >>826 デバッグのためらしい。 万が一MSVCR71.dllに原因があるとしか考えられない状況に なったときに最後まで追求できるようにかな。
828 名前:名前は開発中のものです。 mailto:sage [2008/10/06(月) 20:32:02 ID:aunpyxlL] >>826 デバッガを使ったときに部分的に逆アセンブルしたり、変数内容を監視したりってのはあるかもしんない。 ……無いかもしんない。 >>827 >GPL互換 LICENSE.txtに"GPL-compatible"って書いてあったので、「GPL互換」って訳してみた。 確かに、「GPLと矛盾しない」の方がわかりやすいかも。
829 名前:名前は開発中のものです。 mailto:sage [2008/10/09(木) 22:42:30 ID:L4HG265F] えーと >結局のところ「そこで、実行形式はこのライセンスで保護される」ってのは、 >「実行形式もLGPLライセンスで配布されなければならない」ということ(>>808 ) が正しいとして、 >ライセンスを追加できる(>>809 ) と >ライセンスの追加は10項違反になる(>>815 ) が食い違ってるように見えたんですよ。 で、 >実行形式のライセンスはそれら全てのライセンスを列挙したものになる(>>815 ) のなら、確かに再配布は禁止できるような気がするけど、 >「その著作物をあなたが選んだ条件の下で頒布することもできる」ってのはどう解釈すれば(>>824 ) と。 というわけで、そもそも「実行形式もLGPLライセンスで配布されなければならない」が間違ってるんじゃないか、 と思った訳なんだけど……正直もうわけわからん。 v3の和訳見た感じ、「実行形式もLGPLで保護される」のような文面もないし、 (ライブラリと「その利用」が保護されるって書き方されてる) >同じLGPLでも「ライブラリ」か「ライブラリとリンクした実行形式」かで挙動が違う(>>811 ) のなら、やっぱり違和感ある。
830 名前:名前は開発中のものです。 mailto:sage [2008/10/09(木) 22:59:14 ID:L4HG265F] ctypesのsourceforgeページを見たら、MITライセンスって書いてあった。 python25に含まれるのとはライセンス違うのか、それともどっかに書いてあるのか……。 >>825 SDLもLGPLだけど、pygameのパッケージ自体もLGPLなんじゃないの? >GPLv2_5における「アクセス機構」 ってのがよくわからないけど。 >>828 要は、(GPLと矛盾するようなライセンスとは違って)GPLなプロジェクトに組み込んでも大丈夫ですよ、ってことか。 PSFL自体は「権利表記してね」な感じの、BSDっぽいライセンスだよね?(あまりよくわかってない)
831 名前:名前は開発中のものです。 mailto:sage [2008/10/09(木) 23:44:10 ID: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 名前:名前は開発中のものです。 mailto:sage [2008/10/10(金) 00:12:27 ID:URfib3Sz] >>831 間違えた。 ×これの定義と注意事項については ×序文(はじめに)の末尾で言及されている。抜粋↓ × × 「ライブラリを基にした著作物」と「ライブラリを利用する著作物」の違いによく注意してください。 × ×『ライブラリ』を含む実行形式(LGPLで保護された実行形式)は「ライブラリを利用する著作物」である。 「ライブラリを基にした著作物」の注意事項についてはv2-序文(はじめに)の末尾。 抜粋 : 「ライブラリを基にした著作物」と「ライブラリを利用する著作物」の違いによく注意してください。 「ライブラリを基にした著作物」の定義についてはv2-2に書かれている。ここでv2-2aに注目。 抜粋 : 「a) 改変された著作物はそれ自身がソフトウェアライブラリでなければならない。」 以上よりv2-10は実行形式の話ではなくソフトウェアライブラリの話ということがわかる。 実行形式はソフトウェアライブラリではない。v2-10は実行形式については言及していない。
833 名前:名前は開発中のものです。 mailto:sage [2008/10/10(金) 00:28:41 ID:eRI/vGXD] >>832 ん? ライブラリとリンクした実行形式は、ライブラリを利用する著作物+ライブラリなわけで、 ライブラリを利用する著作物じゃなくてライブラリの派生物だよね? ライブラリの派生物だということは、0項によればライブラリを基にした著作物になると思うんだけど。 序文末尾の通りライブラリから採られたコードを含んでいるわけだし。 2節は、「ライブラリを基にした著作物」のうち、ライブラリ自体に手を加えたものの配布についての話であって、 「ライブラリを基にした著作物」であれば「ライブラリ」である、と書いてあるようには読めないけど。 実際、4節ではわざわざ「第2節における派生物」って書き方してるし。
834 名前:名前は開発中のものです。 mailto:sage [2008/10/10(金) 00:48:11 ID:URfib3Sz] >>833 >ライブラリを利用する著作物じゃなくてライブラリの派生物だよね? そう。そこは>>832 で×として撤回している。 ※話はそれるが、v2はv3に比べて極めて見通しが悪く、重複する意味合いの言葉が 散在してるからムカツク。v2→v3で文書が一変して全くの別物じゃねーかこれ、というのが俺の個人的印象。 で、『ライブラリ』を含む実行形式というのは言われたとおり、これは 『ライブラリ』の派生物 という扱いだ。 v2では、『ライブラリ』の派生物に関する取り扱いには分岐がある。 ・ソフトウェアライブラリ ・実行形式 前者はv2-2の定義。後者はv2-5の定義に従う。 v2-10は前者の話。 v2-6は後者の話。
835 名前:名前は開発中のものです。 mailto:sage [2008/10/10(金) 00:52:57 ID:m++HPt/V] >>832-833 LGPLv2の10節は作品の配布物に含まれる「LGPLなライブラリの部分」に関して、複製、頒布、リンク、改変の許可を与えよって意味だと俺は解釈した。 >>829 上記の理由で、配布物全体としては再配布禁止にできるけど、 LGPLなライブラリ部分を抜き出して再配布する行為は禁止できないんじゃなかろうか。
836 名前:名前は開発中のものです。 mailto:sage [2008/10/10(金) 01:09:19 ID:URfib3Sz] >>835 >LGPLv2の10節は作品の配布物に含まれる「LGPLなライブラリの部分」に関して、複製、頒布、リンク、改変の許可を与えよって意味だと俺は解釈した。 そうだね。 例えば 『ライブラリ』(または『ライブラリ』を基にした著作物全般) と結合された実行形式は 既にソフトウェアライブラリとしての体をなしておらず、これはアプリケーションソフト。 よってこの実行形式はv2-10の範囲外。 v2-6aに従い実行形式と共に配布される 『ライブラリ』(または『ライブラリ』を基にした著作物全般)が v2-10によって保護される。
837 名前:名前は開発中のものです。 mailto:sage [2008/10/10(金) 01:21:16 ID:eRI/vGXD] でも、ライブラリの派生物がすべて「ライブラリを基にした著作物」であるなら、10節も引っかかるんじゃ……。 ってよく見たら「再頒布」って書いてあるな。 ライブラリとリンクした実行形式のうち、「ライブラリ部分」に制限追加しちゃ駄目よ、って解釈すればいいのかな。 と思ってリロードしたらすでに言われてた。 >>834 >v2はv3に比べて 全くもって同意。 LGPL 2.1 or laterってことは、v3で話を進めても問題ないってことなのかね。 そっちの方が楽でいいよね。 あと、 >v3の和訳見た感じ、「実行形式もLGPLで保護される」のような文面もないし、 >(ライブラリと「その利用」が保護されるって書き方されてる) についても意見ほしい。 「LGPLに従った利用であれば、LGPLじゃないソフトウェアにリンクできますよ」って読めたんだけど。
838 名前:名前は開発中のものです。 mailto:sage [2008/10/10(金) 02:01:30 ID:URfib3Sz] >>837 >についても意見ほしい v3-0の冒頭より抜粋 『ライブラリ』(The Library)とは、本許諾書の下で管理された『保護された作品』のうち、 以下で定義する『アプリケーション』や『結合された作品』以外のものを指す。 より、『結合された作品』は本許諾書の下で管理された『保護された作品』の内のひとつであることがわかる。
839 名前:名前は開発中のものです。 mailto:sage [2008/10/10(金) 02:33:21 ID:URfib3Sz] >>836 補足 △ よってこの実行形式はv2-10の範囲外。 ↓ よってこの実行形式はv2-10の範囲外。 ただし実行形式が含む『ライブラリ』部分だけを何らかの方法でぶっこ抜いて それを再びソフトウェアライブラリとして利用するような変態曲芸をするなら そのぶっこ抜いた箇所はv2-10の範囲内になる。 (※どっちみち『ライブラリ』のソースコードは実行形式に添付されるんでこんな変態曲芸は全く必要ないんだが) 一旦『ライブラリ』と結合した実行形式を作ってから『ライブラリ』部分を引き剥がせば 実質的に『ライブラリ』をLGPLフリーにできるじゃん、とか考えるセコイ奴対策のためにも 実行形式はLGPLで保護されてる必要があるんだね
840 名前:名前は開発中のものです。 mailto:sage [2008/10/10(金) 02:47:17 ID:eRI/vGXD] >>838 それって『ライブラリ』の定義が ・それは『保護された作品』である かつ ・それは『アプリケーション』でない かつ ・それは『結合された作品』でない なだけであって、 ・それが『結合された作品』であれば、それは『保護された作品』である を意味しないと思うけど。 実際、『アプリケーション』はライブラリを基にしてないわけだし。 >>839 ライブラリとその利用がLGPLによって保護されている(そして、それを知らせなきゃいけない)んだから、 実行形式それ自体がLGPLじゃなくても問題ないんじゃないかな、と思った。
841 名前:名前は開発中のものです。 mailto:sage [2008/10/10(金) 03:25:45 ID:URfib3Sz] うん。>>838 の解釈は確かに怪しい。というか間違ってる。撤回する。 『アプリケーション』 は 『ライブラリ』のインターフェースを利用するだけであり これ単体はLGPLv3の範囲外。『保護された作品』ではないから。 『ライブラリ』=『保護された作品』 『ライブラリ』≠『アプリケーション』 『ライブラリ』≠『結合された作品』 という意味でしかない。
842 名前:名前は開発中のものです。 mailto:sage [2008/10/10(金) 04:06:45 ID:URfib3Sz] v3-1抜粋↓ あなたは本許諾書の第3項および第4項に従い、『保護された作品』を伝達することができる。 その際、GNU GPL第3項の第2段落に束縛される必要はない。 より、v3-4は『保護された作品』の伝達 について記述したものであることが分かる 言うまでも無く、v3-4の主体は『結合された作品』。 これらより 『結合された作品』は本許諾書の下で管理された『保護された作品』の内のひとつといえる。 ところで『アプリケーション』の伝達についてv3は一切言及してない。つまり一切関知しない =興味ない=範囲外ということ
843 名前:名前は開発中のものです。 mailto:sage [2008/10/10(金) 10:58:37 ID:m++HPt/V] >>829 実行形式をLGPLライセンスで配布する必要は無いよ。 ただ、LGPLライブラリを利用するための条件は満たす必要はある。(←この部分がLGPLからは逃れられないとか、LGPLで配布しなければならないという上記の表現につながってるだけ)
844 名前:名前は開発中のものです。 mailto:sage [2008/10/10(金) 15:32:50 ID:v68pTHSA] >>843 >実行形式はLGPLで配布する必要はない もう少し具体的に書くと v2の5項でいう『ライブラリ』の派生物としての実行形式は LGPLのみで配布する必要はないが 少なくともLGPLと組み合わせて配布する必要がある この実行形式の利用者はLGPLと、LGPLと組み合わせられた(LGPLと矛盾しない)再頒布に関するライセンス、の両方を守らなければならない
845 名前:名前は開発中のものです。 mailto:sage [2008/10/10(金) 17:03:07 ID:v68pTHSA] >少なくともLGPLと組み合わせて配布する必要がある て変だな 少なくともLGPLと組み合わされた(LGPLと矛盾しない)再頒布に関するライセンスで配布する必要がある かな
846 名前:名前は開発中のものです。 mailto:sage [2008/10/14(火) 20:34:15 ID:CXbQScGn] LGPLを子とすると 基本的に「親」はLGPLで配布しないといけないが 兄弟(OSや別ライセンスのdll等)は違うと明言して ひとつのzipにして配布して告発されることはないはず。 ぐたぐだいっている内容は結局「別途インストールしてください」でもすむ つまりLgplのライブラリー一式のインストーラーと非GPL・LGPLのソフトを 別配布にしつつ動的に両方インストールする一つの配布ソフトがあった場合 LGPLでもGPLでも縛れないし ユーザーがインストール済みであることを前提としたGPL・LGPLなdllに静的リンクする アプリを別途配布したとして責める法的根拠はない。 これは午後のコーダが特許問題回避策のためにminGWとソースを動的にビルドして 「実行ファイルは配布していない」 というのに似ているがより問題は少ないはず それ以前に「ゲーム」というジャンルでは著作権侵害のほうが多かったり ゲーム自体がほとんどないほうが問題。 さらにいうならGPLで配布されているソフトに広告つけてソース公開せず ベクターにだしているやから「glestとかtorcsとか」もいるくらいだから 些細なライセンスに妄想レベルでこだわっている暇あったら まず自分が正しいという形でゲーム出して LGPL違反だと言われてから素直に対応するほうが正しい道筋ではないだろうか
847 名前:名前は開発中のものです。 mailto:sage [2008/10/15(水) 00:02:27 ID:ZurO+f0n] 『プログラム』であれば『保護された作品』だけど、『保護された作品』であれば『プログラム』なのか? GPLv3和訳も読み直したけど、やっぱりよくわからん。 >>846 自分がよく理解していないライセンスで配布はしたくないな、と。 個人的には、もはや「LGPLなライブラリを使わない」のが正解だと思ってるけど、 他の「LGPL使いたいけどよくわからん」って人のヒントになればと思って質問してた。 (ググってもいまひとつよくわからないし、ここでも意見割れてるし、そういう人もわりといるんじゃないかと) # pythonの2Dゲームライブラリって、あまり選択肢ないんだな。 # pygletはWin2kで動かないっぽいし、どうしたものか。
848 名前:名前は開発中のものです。 mailto:sage [2008/10/15(水) 02:37:21 ID:RAfaqevB] >>846 >LGPLを子とすると >基本的に「親」はLGPLで配布しないといけないが その『親』が何を指しているのかイマイチ自信がないのだが、それは v2の6項の冒頭でいうところの「『ライブラリ』の一部を含む著作物」でいいのかな >兄弟(OSや別ライセンスのdll等)は違うと明言して >ひとつのzipにして配布して告発されることはないはず。 これについては、LGPLv2の2項の末尾より抜粋 ------------------------------------------------------------------ また、『ライブラリ』を基にしたわけではないその他の著作物を『ライブラリ』 (あるいは『ライブラリ』を基にした著作物)と一緒に集めただけのものを 一巻の保管装置ないし頒布媒体に収めても、その他の著作物まで この契約書が保護する対象になるということにはならない。 ------------------------------------------------------------------ ひとつにまとめたzip = 一巻の保管装置ないし頒布媒体 ひとつにまとめたzipはCD-ROMと同様の扱い。 そのzipそのもの を再頒布禁止するのも自由だし、どんな値段を付けて売りつけようが自由。 そのzipの中の 「『ライブラリ』の一部を含む著作物」 をLGPLと矛盾しないライセンスで保護するのも自由。(v2の6項) そのzipの中の その他のdllやデータ等 をLGPLフリーの別ライセンスで保護するのも自由。 「告発されることはないはず。」どころか告発される根拠が全くないぜ
849 名前:名前は開発中のものです。 mailto:sage [2008/10/15(水) 03:29:31 ID:RAfaqevB] もちろん、ここで気をつけたいのはLGPLv2の2項の末尾より抜粋した上記の文章中の「一緒に集めただけのもの」について。 これは↓のリンク先で言うところの「単なる集積」に相当する。 「単なる集積」と「二つのモジュールを一つのプログラムに結合すること」の違いは何ですか? www.gnu.org/licenses/gpl-faq.ja.html#TOCMereAggregation 私の独占的なシステムに、GPLで保護されたソフトウェアを組み入れたいのですが、それは可能ですか? www.gnu.org/licenses/gpl-faq.ja.html#TOCGPLInProprietarySystem >そのzipの中の その他のdllやデータ等 をLGPLフリーの別ライセンスで保護するのも自由。 zipの中の 「その他のdll」 がOSのシステムファイルとして独立してインストールされ、他のアプリケーションからも 利用される汎用的なコンポーネントならば、これは「単なる集積」であり「一緒に集めただけのもの」といえる。 しかし例えば、「その他のdll」 が 「『ライブラリ』の一部を含む著作物」 の存在なしには価値の無いものならば 「単なる集積」の関係ではなくなってしまう。 「単なる集積」の関係でない場合、v2-6に従いリバースエンジニアリングの自由が認められないといけない
850 名前:名前は開発中のものです。 mailto:sage [2008/10/15(水) 04:31:07 ID:RAfaqevB] >しかし例えば、「その他のdll」 が 「『ライブラリ』の一部を含む著作物」 の存在なしには価値の無いものならば >「単なる集積」の関係ではなくなってしまう。 これの典型的な例としては、 「その他のdll」 が 「『ライブラリ』の一部を含む著作物」 と同じローカルなディレクトリに インストールされる場合。これはその他のアプリケーションからは全く利用できない。 >「単なる集積」の関係でない場合、v2-6に従いリバースエンジニアリングの自由が認められないといけない ここ訂正 「単なる集積」の関係でない場合、一緒に頒布する = 「『ライブラリ』の一部を含む著作物」の一部 とみなされる恐れがあり そうなるとv2の6項に従い改変の自由やそのためのリバースエンジニアリングを認める必要が出てくる。
851 名前:名前は開発中のものです。 mailto:sage [2008/10/15(水) 04:38:18 ID:RAfaqevB] もし 「その他のdll」 が ・単なるプラグイン。無くても著作物の動作自体に何も支障がない ・改変とかリバースエンジニアリングを認めていない ならば、著作物と一緒の媒体に入れないほうがいい。 もし 「その他のdll」 が ・著作物にとって必要不可欠な存在。これが無いと著作物は起動すらしない。 ・改変とかリバースエンジニアリングを認めていない ならば、著作物は 「『ライブラリ』の一部を含む著作物」 ではなく 「『ライブラリ』を利用する著作物」(LGPLフリー) であるべき。ところで「『ライブラリ』を利用する著作物」(LGPLフリー) って何すか?それって例えばこんなもんだろ↓ ・著作物は『ライブラリ(dll形式)』を動的にリンクし、『ライブラリ』のインターフェースを使うだけである。 ・著作物のパッケージと『ライブラリ(dll形式)』のパッケージは別途配布される。 ・『ライブラリ(dll形式)』はオペレーティングシステムのシステムフォルダにインストールされ 他のアプリケーションからも利用できる汎用的なコンポーネントである。 これらを全て満たしていれば、『ライブラリ』を利用する著作物」(LGPLフリー) といえると俺は思う。
852 名前:名前は開発中のものです。 mailto:sage [2008/10/15(水) 04:51:17 ID:RAfaqevB] >>851 における 「その他のdll」 ってのはOSのシステムファイルじゃない (他のアプリケーションからは全く利用されない代物)ね
853 名前:名前は開発中のものです。 mailto:sage [2008/10/15(水) 18:31:22 ID:aK9x9icn] ぐぐれば一発で見つかるものだけど本家MLでのやりとり mail.python.org/pipermail/python-list/2004-June/266189.html よく読んだわけじゃないがとりあえずDLLに分けとけという感じか。 >>847 著作権は曖昧で親告制だから著作権者の胸先三寸なところがあるし 最後は裁判するしかない。だから明らかにセーフかアウトかが わかる場合以外のグレーゾーンについての結論はここでは出せない。 細かく見ていくとわからなくなるのはある意味当然なんだな。 >>851 かなり安全側にしているね。別途配布については曖昧だが、 ライブラリ開発者やOSベンダが配布しているものを ユーザ自身で取得してもらうようにすれば安全かな。
854 名前:名前は開発中のものです。 mailto:sage [2008/11/12(水) 05:40:30 ID:WJnRzYAb] >著作権は曖昧で親告制だから著作権者の胸先三寸なところがあるし >最後は裁判するしかない。だから明らかにセーフかアウトかが >わかる場合以外のグレーゾーンについての結論はここでは出せない。 自分で判断して決めなきゃいけないってのは分かるんだけど、 グレーゾーンで公開するとなんか犯罪者扱いされそうで嫌なんだよな…
855 名前:名前は開発中のものです。 mailto:sage [2008/11/12(水) 12:32:44 ID:TrMY5FS0] >>854 何らかの社会的な活動をするにあたって、 事前にトラブルを回避しようとするのは至極真っ当な行為であると思う。 一方で、完全にトラブルを無くすことは不可能でもある。 ただ、>>854 みたいに真面目な人にとっては >>846 みたいな「とりあえずやってみて、問題があれば謝って対処すればいいじゃん」的な 考え方を受け入れられないのは良くわかる。 最終的にはそこんところのバランスを見極めることが重要になってくると思う。 相手に悪意さえなければ、多少のトラブルは話合いと時後のフォローでなんとかなる場面もあると思う。
856 名前:名前は開発中のものです。 mailto:sage [2008/12/01(月) 18:10:13 ID:oawJyFgc] しばらく間が空いてしまった。 GPL/LGPLの和訳読み返してみてるけど、『「結合された作品」はLGPLでライセンスしなければならない』 ってのはやっぱり違う気がするんだが。 「結合された作品」は、「プログラム」である「ライブラリ」を含むから、「保護された作品」ではあるみたいだけど、 それはLGPLでライセンスされているって意味じゃないよね。 GPLの場合ではGPLにしないといけないわけだけど。 ところで、py2exeで作られたexeってアーカイブなのか? 解凍できたんだが。
857 名前:名前は開発中のものです。 mailto:sage [2008/12/01(月) 21:02:21 ID:Z+fjavwF] LGPLの場合、ライブラリ部分がユーザ側で差し替え可能なら、本体のライセンスは何でも良いんじゃね (ライブラリ部分は別途ソースも配布する必要があるのかな)
858 名前:名前は開発中のものです。 mailto:sage [2008/12/02(火) 02:23:10 ID:ors0Pl52] py2exeは必要なモジュールをパッキングしてるだけだからなぁ
859 名前:名前は開発中のものです。 mailto:sage [2008/12/02(火) 06:52:30 ID:JVSFvZoV] 調べてみたけど、exe内に必要なモジュールをZIP圧縮しておいて、 起動するとメインのスクリプトを内蔵インタプリタで実行、モジュールはZIPからimportする、って仕組みみたいね。 つまり、py2exeしても動的リンクなのは変わらない、と。 元から入ってるライブラリを利用する仕組みじゃないから別にあれなんだけど、 LGPLが「動的/静的」って書き方をしてないのはこういう理由なのかな。 >>857 あくまで「俺のゲームのライセンスは○○ライセンス、××ライブラリのライセンスはLGPL」であって、 「俺のゲームに××を(動的静的問わず)リンクしたもの」にライセンスを設定しようとすること自体が変、ってことなのかな。 そのレスを読んでふと思った。 「俺のゲームに××を(静的)リンクして出来た単一の実行ファイル」のライセンスについて強いて言うなら、 「俺のゲームは○○ライセンス、××はLGPL」みたいな感じで。 (いままでのレスにあった「組み合わせる」っていうのは、こういうことだったのかな) 思い込みで「ひとつのファイルの部分部分に別々のライセンス」って発想がなかったんだけど、 つまりは「非LGPLのファイルとLGPLのファイルをまとめて圧縮したZIPファイル」と同じようなもんなのかな。
860 名前:名前は開発中のものです。 [2008/12/02(火) 16:50:23 ID: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 名前:名前は開発中のものです。 mailto:sage [2008/12/02(火) 16:56:50 ID:VDtsWa1y] >>860 しつこく書いたが流石に最後の一行は意味不明だな。ここは不要
862 名前:名前は開発中のものです。 mailto:sage [2008/12/02(火) 18:10:28 ID:VDtsWa1y] >>859 >「ひとつのファイルの部分部分に別々のライセンス」って発想 その通り 『結合された作品』は色んなライセンスの他人の著作物が一緒の実行形式に入ってる。 『結合された作品』はあなたの技術的な都合により他人の著作物を引き剥がして配布できない。 『結合された作品』に含まれる著作物のひとつが『ライブラリ』(LGPL(v3))ならば 『結合された作品』のライセンシーになるということは『ライブラリ』のライセンシーにもなるということ。 あなたのライセンスに同意するということはLGPL(v3)にも同意するということ。 >つまりは「非LGPLのファイルとLGPLのファイルをまとめて圧縮したZIPファイル」と同じようなもんなのかな。 ただ単に一緒に配布すること と 組み込むこと は違うとされている。 私の独占的なシステムに、GPLで保護されたソフトウェアを組み入れたいのですが、それは可能ですか? www.gnu.org/licenses/gpl-faq.ja.html#GPLInProprietarySystem 「単なる集積」と「二つのモジュールを一つのプログラムに結合すること」の違いは何ですか? www.gnu.org/licenses/gpl-faq.ja.html#MereAggregation py2exeでパックされた実行形式では『ライブラリ』は『組み込まれている』と言える。『結合された作品』といえる。 あなたの著作物をLGPL(v3)フリーのライセンスで配布したいならばpy2exeを使わないほうがいい。 あなたの著作物が『結合された作品』ではなく『アプリケーション』であると胸を張れる形で配布すべきだ。 ここでの『アプリケーション』の定義についてはLGPL(v3)に準拠する。
863 名前:名前は開発中のものです。 mailto:sage [2008/12/02(火) 18:14:37 ID:jOvSg1Ph] ゲームにGPLって明らかに悪意だろw オープンであるというイメージを利用できて、さらにパクられない強み
864 名前:名前は開発中のものです。 mailto:sage [2008/12/02(火) 20:45:02 ID:ipbl4vxU] Python+Pygame+py2exeの話だから、LGPLのSDLをどうするかって話か。 LGPLv2_6d的に考えると、ゲーム本体を配布してる場所で、SDLのソースも配布すれば基本的な条件は満たせる。 問題はゲーム本体のライセンスに「リバースエンジニアリング禁止」という条件があるかどうか。 実際問題として、ゲーム本体のソースを添付しない&再配布禁止ということにすれば、 リバースエンジニアリングの問題はどうでもいいように思う
865 名前:名前は開発中のものです。 mailto:sage [2008/12/02(火) 22:53:14 ID:JVSFvZoV] 相変わらずなんか噛み合ってない気がするけど、大体掴めたからいいや。 LGPLはリンク先に感染しない、で合ってるわけね。 >>864 pygame自体もLGPLじゃね? あと、ライブラリ部分以外のソースかオブジェクトコードも必要だよね。 ……って、importしたモジュールの依存関係チェックして、手動でコピペするしかないのか?
866 名前:名前は開発中のものです。 mailto:sage [2008/12/02(火) 23:13:45 ID:ipbl4vxU] >>865 pygameもLGPLだったかw py2exeのオプションでpygameとSDLの部分を別ファイルにできない? できるならそれでおkな気がするんだけど。
867 名前:名前は開発中のものです。 mailto:sage [2008/12/02(火) 23:54:01 ID:C6bdME1L] >>865 >LGPLはリンク先に感染しない、で合ってるわけね。 君のソースコードと君のソースコードをコンパイルして生成されたオブジェクトは誰のものでもなく 君の著作物だしLGPLは口出ししない LGPL V2-5より > 『ライブラリ』のいかなる部分の派生物も含まないが、それとコンパイルされるかリンクされることにより > 『ライブラリ』と共に動作するようデザインされているプログラムは、「『ライブラリ』を利用する著作物」と呼ばれる。 > そのような著作物は、単体では『ライブラリ』の派生著作物ではないので、この契約書の範囲外に置かれる。 でも『結合された作品』は 君のソースコードをコンパイルして生成されたオブジェクトと『ライブラリ』(オブジェクト)を結合した実行形式。 これは君だけの著作物じゃない。実行形式の取り扱いについてLGPLは口出しする。 実行形式のどこからどこまでが君の著作物で、どこからどこまでがLGPLで保護された著作物だから 実行形式中のこの部分だけLGPLを守ってね、という線引きをLGPLはしてくれない。 実行形式については、その全体についてLGPLは口出ししてくる。実行形式はLGPL感染しているといえる LGPL V2-5より > しかし、「『ライブラリ』を利用する著作物」に『ライブラリ』をリンクして実行形式を作成すると、>それは > 「『ライブラリ』を利用する著作物」ではなく、『ライブラリ』の派生物となる(なぜならそれは『ライブラリ』の一部を含んでいるから)。 > そこで、実行形式はこのライセンスで保護される。第6節ではそのような実行形式の頒布の条件を述べる
868 名前:名前は開発中のものです。 mailto:sage [2008/12/03(水) 03:11:39 ID:6ImcjsM6] >>866 py2exeの詳しいところがよく分かってないんだ……。 それが可能なら、pygameを別に再配布しつつ、v2_6bで配布できるのかな。 >>867 やっぱり通じてなかったわ。 「口出ししてくるかどうか」と「ライセンス感染するか」は別の問題じゃない? 「リンクについてv3_4(v2_6)の条件を満たす必要がある」であって、 「LGPLなアプリケーションにしかリンクできない」じゃないよね? GPLのライブラリだと、全体通してGPL適合を要求されるから、GPLのアプリケーションにしかリンクできないでしょ。 それに対して、LGPLのライブラリだとLGPLじゃないアプリケーションにもリンクできるよね? で、「俺ライセンスのアプリケーションに、LGPLのライブラリをリンクしたら、実行形式のライセンスは?」ってのが疑問で、 >859がそれに対する思い付き。 だから、実行形式のうち「ライブラリ部分が」LGPLで、その「リンク先」の非ライブラリ部分は俺ライセンスなんじゃないの、と。 それが正しいかは置いておいて、全く意図が理解されてないのはわかった。 なんか部分だけ拾ってレス返されてる感じ。
869 名前:名前は開発中のものです。 mailto:sage [2008/12/03(水) 11:19:28 ID:YzqEx1FO] >>868 >>867 は、 基本的にはLGPLとリンクしたものはLGPLで配布しないといけないのだけれど、 例外としてLGPLv2_6を満たすのなら、他のライセンスで配布してもいいよって意味だと思う。
870 名前:名前は開発中のものです。 mailto:sage [2008/12/03(水) 14:03:50 ID:i6YK/vbX] 横レスだけど >>868 >「口出ししてくるかどうか」と「ライセンス感染するか」は別の問題じゃない? ザッと目を通してみたけどLGPLなライブラリを丸ごと含んじゃてる実行ファイルはばっちり感染だと思うよ LGPLのv3では実行ファイルにはLGPLとGPLの文書を同封しろって念押しまでしてる 実行ファイルの孫コピーの受領者もひ孫コピーの受領者もみんなLGPLとGPLの文書を受け取るし それら全ての内容を承諾できなきゃ実行ファイル使っちゃいけないんだもの 実行ファイルに「僕のソフトライセンス」を設定してもその中身は頭のてっぺんから爪の先まで 舐めるように眺めてもLGPLに矛盾点はひとつもないし 実行ファイルの孫コピーの受領者もひ孫コピーの受領者もみんなLGPLとGPLと「僕のソフトライセンス」の文書を 受け取るし、それら全ての内容を承諾できなければ実行ファイルを使っちゃいけないんだもの >で、「俺ライセンスのアプリケーションに、LGPLのライブラリをリンクしたら、実行形式のライセンスは?」ってのが疑問で、 >>859がそれに対する思い付き。 >だから、実行形式のうち「ライブラリ部分が」LGPLで、その「リンク先」の非ライブラリ部分は俺ライセンスなんじゃないの、と。 リリースビルドされた実行ファイルはバイナリーのスープなんだし 「実行ファイルの中のこっからここまではLGPLで保護されてるんだからね、ちゃんと守ってよね!」 「こっからここまでが喪前のライセンスで保護されてるんだからね、面倒みないんだからね!知らないんだからね!」 という境界線が策定できなくね? リンカーを使ってリリースビルドを作るとき再配置可能オブジェクトが実際にどうやってマップされるかは ぶちゃーけリンカー次第だし。未定義。綺麗に腑分けできる保証どこにもないべ リリースビルド版にマップファイル同封なら話は別かもだけどLGPLはそれを必須としてるのかな。してなかったような… なわけで実行ファイルは一塊としてLGPL感染してるというのは自然な解釈だなとはおもた
871 名前:名前は開発中のものです。 mailto:sage [2008/12/03(水) 14:07:04 ID:i6YK/vbX] >>870 ×LGPLに矛盾点 ○LGPLとの矛盾点
872 名前:名前は開発中のものです。 mailto:sage [2008/12/03(水) 14:17:59 ID:YzqEx1FO] 基本的に、どんなライブラリとリンクしてもそのライブラリの派性物(二次著作物)になる。 もちろん、自作部分の著作権は自分にある。