アカウント名:
パスワード:
そのGPLコードの権利を持ってる開発者自身が(自分で移植するか、誰かにやってもらって権利を譲り受けるかして)AppStoreに出すぶんには何も問題ないのでは。
他人が権利を持つGPLコードを利用したい、っていうなら、そりゃ権利者の意志を尊重しなきゃ。たとえその意志が「『ビジネスを考えたらクソ以下な』ライブラリを敢えて公開する」ことだったとしても。
開発者自身と言えど、自分自身で決めたライセンスは守る必要があるだろが。自分で自分のライセンス違反を犯すってのは、自分自身の著作物を自身で権利侵害してるって事だ。自分自身を自分の著作権侵害で訴える義務がある。
もしかすると良くある誤解かもしれないのでわかりやすく書いておきます。
権利者である開発者はそのコードをいつどんなライセンスでもリリースすることができます。GPLで既に公開しているコードに、後からプロプラにも使える別のライセンスを設定して自分で使ったり公開したりすることに何ら問題はありません。同一コードをGPLと別のライセンスとで平行して公開しつづけても構いません利用者が、利用する時点でどちらかライセンスに合意することになります。
一方、「既にGPLとして公開してしまったコード」に対して「GPLやっぱやめ」と別のライセンスにしたり引っ込めたりすることはできません。利用者はGPLであった時点のライセンスに合意して既に使っているので、その合意を一方的に破棄することはできないのです。
ただし、「次のバージョンからGPLやめます」というのは、次のバージョンに含まれるコードの全ての権利者が合意すれば可能です。単にそれまでのGPLで出したバージョンについてGPLを引っ込められない、というだけです。
やっぱりGPL、というかライセンスってものを誤解してると思うなあ。
Aさんが権利を持ってるものをBさんが使う時に取り交わす約束がライセンスね。「Bさんは仕事に使ってもいいけど他の人に配っちゃだめ」とか「Bさんは非商用目的なら使っていいよ」とかいろいろある。
Aさんは、利用者ごとにライセンスしてもいい。Bさんにはこういう条件で、Cさんにはこういう条件で、ってな具合。
でもそれは大変だから、GPLみたいな配布が自由なやつの場合、誰でもアクセスできるところにライセンスと一緒にあげておいて、「このライセンスに合意できる人は使っていいよ (使ったら、
その場合、Bさんは「Aさんより個別のライセンスを受けている」と言えばいいだけのことです。
実際、GPL版が公開されているけど商用版も売っている、ってソフトウェアはたくさんありますよ。MySQLもそうだし、Qtもそうですね。プロプラソフトに組み込んで配りたい人は、商用ライセンスを受ければ良いのです。
先走って「GPL違反だ」と騒ぐ人もいるかもしれませんが、大きな騒ぎになったものって、だいたい騒ぎの早い段階から権利者がライセンスした覚えがないということが明らかになってるか、商用ライセンスなんて無いコミュニティベースのGPLソフトウェアが含
うーん、あなたがどこに引っかかっているのか未だに良くわからないんですが。
GPL版と全く同じ商用版が存在し得る以上、コードの一致はGPL違反の必要条件ですが十分条件ではありません。
> 組み込んだ物がGPL版ではないと証明出来なければならんですよね?
ですから、ライセンスはコードそのものの属性ではなく、権利者と利用者の間の約束なんです。大事なことなので何度も言いますが。全く同じコードでも、ライセンスが違うことはあるのです。「組み込んだものがGPL版かどうか」というのはコードを見ただけでは判断できないんですよ。原理的に。判断の基準になるのは、権利者の
可能です。その「私がGPLですっげープログラム」が
・全て私一人で書いた・あるいは他の著作者がいた場合その全員がプロプラで売ることに同意している
場合にプロプラで売り出せます。
それは何度も何度も書かれているとおりです。
プロプラにするときに別にローカル変数の名前を変える必要さえありません。GPLのコードと全く同一であってもいいのです。
そして騒ぎになったとしましょう。そのときは著作権を持っている人が「ええ確かにプロプラで売ることにしました」「その件は同意しています」と言えばいいのです。それがそんなに難しいことですか?
別にFSF信奉者だったりFSFだったりが出る
他のコメントで既に述べられています [srad.jp]が,噛み砕いて説明します.
> >プロプラにするときに別にローカル変数の名前を変える必要さえありません。> >GPLのコードと全く同一であってもいいのです。>> これはさすがにおかしすぎるだろ。
おかしくありません.
ソフトウェアライセンスというのは,ソフトウェアプロダクトの提供者と被提供者の間で取り交わされる契約です.提供者は,自身が持つ権利の範囲内ならば,どのような条件で
あーもう。一番根本が伝わってないなあ。というかこっちの理解を試すdevil's advocateと話してるんじゃないかって気がしてきた。
同一のコードを、GPLとプロプラの両方で提供することが出来るんだよ。そうしてるプロジェクトも現実にいくらでもある。
ライセンスはコードの属性じゃなくて、権利者と利用者の間の個別の合意なんだから。利用者によって、あるいは状況によって変わってもかまわないの。
権利者Aと利用者BがGPLで合意したなら、利用者Bからその時点のGPLを引き上げることはできない (GPLにそういう条項がある)。けれども、それは権利者Aと別の利用者Cとがプロプラのライセンスで合意することを妨げるものではない。利用者Cは自分のプロプラ製品に組み込みたいからGPLじゃ困る、とかいう場合なら、GPL版と全く同じコードでも、プロプラのライセンスを欲しいってことはあるし、現実にそういうことはいくらでも行われている。
出来る限り付き合いましょうぞ。
> GPLのコードを配布する時はGPLでなければならない、ってのがGPLで、それを利用者Bと契約したわけだよな?
そうです。それは権利者AとBとの契約です。「GPLのコード」というのは紛らわしい言い方で、正確には、「Bがそれを利用するにあたって、GPLに合意したコード」ということです。 元のコード自体にGPLという属性が不可分に刻まれるわけではありません。 GPLが効力を発揮するのは、Bがそれに合意して受け取ったからであり、またGPLの条項により、Bから間接的にコードを受け取る人たちへと影響を及ぼします。(従って、BやBからコードを受け取っ
ごめんちょっと紛らわしかった。
> Bに提供したバージョンのコードをGPLでなくする、とか、
これは、Bに対して「あ、あれGPLで出すっていったけどやっぱ止めるわ。再配布も止めて」ということは出来ない、という意図です。Bの権利はirrevocableである、ということがGPLに書かれています。
同じバージョンをAがCに別ライセンス提供することを縛る条項はGPL内にはありません。
GPLに書かれていることをかいつまんでまとめると:
- GPLは、権利者Aが利用者Bに以下の条件でソフトウェアの利用を認めるよ、という文書
- Bの権利:-- ソフトウェアを自由に使ったり改変したりすることができる
端的に書けば
BがGPLに反するライセンスで他人に渡すのはライセンス違反です。Bはコードの所有者ではないからです。
AがGPLに反するライセンスで他人に渡すのは何ら問題ありません。なぜならAはコードの所有者だからです。
ということです。
#1854221 の方に書いたことで解決しないかな?
Aが「GPL違反」になるのは、Bにソースを請求されて渡さなかったか、Bができること(利用、改変、条件に従った再配布)を止めた時のみ。上の2点は、「Bができること」として契約に記されているから、それをしなければ違反になる。けれども、Bとの上記の契約を保持したまま、Cに別ライセンスでソフトを渡すのは契約とは何ら矛盾しない。
なお、「GPLの再配布物はGPL」という縛りはあくまで「Bが再配布する場合や、Bから配布を受けた人が再配布する場合にのみ適用される。契約にそう書かれている。Aが別の人に配布する場合にどうするかということはGPLには一切書いてない。したがって権利者であるAが自由に決められる。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
192.168.0.1は、私が使っている IPアドレスですので勝手に使わないでください --- ある通りすがり
GPLの終わりの始まりかも (スコア:-1, 荒らし)
つまり、xGPLを使って作ってしまったプログラムはもうiOS/Macには真っ当には移植出来ないと言う事です。(Jailbreak前提の違法アプリにするしかない)
格段に使いにくくなりましたねえ。今後のビジネスを考えたら、iOSに移植出来ないライブラリなんてクソ以下でしょう。
このスマートフォンの時代にはunixベッタリのGPLという仕組み自体が古臭いんだと思いますけどね。FSFは何かしら動くのかしら。
Re: (スコア:0)
そのGPLコードの権利を持ってる開発者自身が(自分で移植するか、誰かにやってもらって権利を譲り受けるかして)AppStoreに出すぶんには何も問題ないのでは。
他人が権利を持つGPLコードを利用したい、っていうなら、そりゃ権利者の意志を尊重しなきゃ。たとえその意志が「『ビジネスを考えたらクソ以下な』ライブラリを敢えて公開する」ことだったとしても。
Re: (スコア:0)
開発者自身と言えど、自分自身で決めたライセンスは守る必要があるだろが。
自分で自分のライセンス違反を犯すってのは、自分自身の著作物を自身で権利侵害してるって事だ。
自分自身を自分の著作権侵害で訴える義務がある。
Re: (スコア:3, 参考になる)
もしかすると良くある誤解かもしれないのでわかりやすく書いておきます。
権利者である開発者はそのコードをいつどんなライセンスでもリリースすることができます。
GPLで既に公開しているコードに、後からプロプラにも使える別のライセンスを設定して
自分で使ったり公開したりすることに何ら問題はありません。
同一コードをGPLと別のライセンスとで平行して公開しつづけても構いません
利用者が、利用する時点でどちらかライセンスに合意することになります。
一方、「既にGPLとして公開してしまったコード」に対して「GPLやっぱやめ」と
別のライセンスにしたり引っ込めたりすることはできません。
利用者はGPLであった時点のライセンスに合意して既に使っているので、
その合意を一方的に破棄することはできないのです。
ただし、「次のバージョンからGPLやめます」というのは、次のバージョンに
含まれるコードの全ての権利者が合意すれば可能です。単にそれまでのGPLで出した
バージョンについてGPLを引っ込められない、というだけです。
Re: (スコア:0)
派生著作物になっちゃうんだから。
「次のバージョンからGPLやめます」じゃないです。「GPLじゃない別の物を丸ごと作り直します」という、極めて手間のかかる全く別の作業です。ミスリードはやめて下さい。
Re: (スコア:2, 興味深い)
やっぱりGPL、というかライセンスってものを誤解してると思うなあ。
Aさんが権利を持ってるものをBさんが使う時に取り交わす約束がライセンスね。「Bさんは仕事に使ってもいいけど他の人に配っちゃだめ」とか「Bさんは非商用目的なら使っていいよ」とかいろいろある。
Aさんは、利用者ごとにライセンスしてもいい。Bさんにはこういう条件で、Cさんにはこういう条件で、ってな具合。
でもそれは大変だから、GPLみたいな配布が自由なやつの場合、誰でもアクセスできるところにライセンスと一緒にあげておいて、「このライセンスに合意できる人は使っていいよ (使ったら、
Re: (スコア:0)
その例え話で、Bさんが商品に組み込んだコードを開示してなくて、Cさんどもが「GPL違反だー!」ってわめき散らすことなんて日常茶飯事じゃないか。
アレは一体何なんだ?本当はBさんは公開しなくていいものを公開させられてるって事なのか?
Re: (スコア:0)
その場合、Bさんは「Aさんより個別のライセンスを受けている」と言えばいいだけのことです。
実際、GPL版が公開されているけど商用版も売っている、ってソフトウェアはたくさんありますよ。MySQLもそうだし、Qtもそうですね。プロプラソフトに組み込んで配りたい人は、商用ライセンスを受ければ良いのです。
先走って「GPL違反だ」と騒ぐ人もいるかもしれませんが、大きな騒ぎになったものって、だいたい騒ぎの早い段階から権利者がライセンスした覚えがないということが明らかになってるか、商用ライセンスなんて無いコミュニティベースのGPLソフトウェアが含
Re: (スコア:0)
組み込んだ物がGPL版ではないと証明出来なければならんですよね?
GPLの検証でバイトコードやシンボルテーブルの比較とかよくやられてるけど、GPL版コードとプロプラ版コードが酷似してたら反論出来ないですよね。
結局、GPLとプロプラで別々に作り直しさなきゃならないって話でしょう。別のソフトに同じブランド付けてるだけ。
現実問題として、GPL版を元にプロプラ版を作ったり、ソースコードの同期を取ったりは出来ないって事じゃないか。屁理屈だ。
Re: (スコア:0)
うーん、あなたがどこに引っかかっているのか未だに良くわからないんですが。
GPL版と全く同じ商用版が存在し得る以上、コードの一致はGPL違反の必要条件ですが十分条件ではありません。
> 組み込んだ物がGPL版ではないと証明出来なければならんですよね?
ですから、ライセンスはコードそのものの属性ではなく、権利者と利用者の間の約束なんです。
大事なことなので何度も言いますが。
全く同じコードでも、ライセンスが違うことはあるのです。
「組み込んだものがGPL版かどうか」というのはコードを見ただけでは判断できないんですよ。原理的に。
判断の基準になるのは、権利者の
Re: (スコア:-1, 荒らし)
私がGPLですっげープログラムを公開しました。いろんな人が使うようになりました。
ところが私が心変わりして金儲けを考え始め、ローカル変数の名前だけ変えたバージョンをプロプラで売り出しました。
こんなこと、GPL様が許すわけないだろう。
仮に、プロプラ版のソースコードが流出して、GPL版とローカル変数の違いしかない事が発覚したら大騒ぎになるだろう?
本当にそんな運用が現実的に可能なのか、もう少しリアルな視点を持って欲しい。
理論的に可能、莫大な時間と労力があれば可能、全部書き直せば可能、FSFと信奉者を全部説き伏せれば可能、裁判に勝てば可能、 そんなものは何の意味もない。
Re: (スコア:0)
可能です。
その「私がGPLですっげープログラム」が
・全て私一人で書いた
・あるいは他の著作者がいた場合その全員がプロプラで売ることに同意している
場合にプロプラで売り出せます。
それは何度も何度も書かれているとおりです。
プロプラにするときに別にローカル変数の名前を変える必要さえありません。
GPLのコードと全く同一であってもいいのです。
そして騒ぎになったとしましょう。
そのときは著作権を持っている人が「ええ確かにプロプラで売ることにしました」
「その件は同意しています」と言えばいいのです。
それがそんなに難しいことですか?
別にFSF信奉者だったりFSFだったりが出る
Re: (スコア:0)
>GPLのコードと全く同一であってもいいのです。
これはさすがにおかしすぎるだろ。
全く同じという事は、プロプラ版のソースコードを隠す事が即ちGPL版のソースコードを隠す事と全く同等なんだから、完全にGPL違反じゃないか。
屁理屈こねすぎて基本的な所で破綻してるぞ。
Re: (スコア:1)
他のコメントで既に述べられています [srad.jp]が,噛み砕いて説明します.
> >プロプラにするときに別にローカル変数の名前を変える必要さえありません。
> >GPLのコードと全く同一であってもいいのです。
>
> これはさすがにおかしすぎるだろ。
おかしくありません.
ソフトウェアライセンスというのは,ソフトウェアプロダクトの提供者と被提供者の間で取り交わされる契約です.
提供者は,自身が持つ権利の範囲内ならば,どのような条件で
Re: (スコア:0)
一方、「既にGPLとして公開してしまったコード」に対して「GPLやっぱやめ」と
別のライセンスにしたり引っ込めたりすることはできません。
利用者はGPLであった時点のライセンスに合意して既に使っているので、
その合意を一方的に破棄することはできないのです。
既にGPLとして公開してしまったコードをプロプラにすることは利用者との合意の一方的な破棄だからダメなんだろ?
内容変えて別製品として出さない限り、勝手にプロプラ版を作るのはGPL版を使ってる人たちに対する契約破りになるんだから、全く同じじゃダメでしょう。
ローカル変数名やコメント程度の変更でそれが良くなるかどうかはまた別問題としてあるだろうけど。
Re:GPLの終わりの始まりかも (スコア:0)
あーもう。一番根本が伝わってないなあ。というかこっちの理解を試すdevil's advocateと話してるんじゃないかって気がしてきた。
同一のコードを、GPLとプロプラの両方で提供することが出来るんだよ。そうしてるプロジェクトも現実にいくらでもある。
ライセンスはコードの属性じゃなくて、権利者と利用者の間の個別の合意なんだから。利用者によって、あるいは状況によって変わってもかまわないの。
権利者Aと利用者BがGPLで合意したなら、利用者Bからその時点のGPLを引き上げることはできない (GPLにそういう条項がある)。けれども、それは権利者Aと別の利用者Cとがプロプラのライセンスで合意することを妨げるものではない。利用者Cは自分のプロプラ製品に組み込みたいからGPLじゃ困る、とかいう場合なら、GPL版と全く同じコードでも、プロプラのライセンスを欲しいってことはあるし、現実にそういうことはいくらでも行われている。
Re: (スコア:0)
GPLのコードを配布する時はGPLでなければならない、ってのがGPLで、それを利用者Bと契約したわけだよな?
なのにそのGPLコードを何の変更もなしに勝手に非GPLでCに渡すのは、Bとの契約違反じゃないの?
いくら自分のコードでも、その扱いについてBとGPLという契約をしたんだから、そこは自由ではないでしょう。
配るためにはBの同意を得るか、コードを変更してBのGPLと無関係なコードに作り直してからでないと再配布出来ない。
言われてる事を総合するとこうなるんだが、なぜ「全く同じ」が可能なのか、教えてもらえませんか。
Re: (スコア:0)
出来る限り付き合いましょうぞ。
> GPLのコードを配布する時はGPLでなければならない、ってのがGPLで、それを利用者Bと契約したわけだよな?
そうです。それは権利者AとBとの契約です。「GPLのコード」というのは紛らわしい言い方で、
正確には、「Bがそれを利用するにあたって、GPLに合意したコード」ということです。
元のコード自体にGPLという属性が不可分に刻まれるわけではありません。
GPLが効力を発揮するのは、Bがそれに合意して受け取ったからであり、またGPLの条項により、
Bから間接的にコードを受け取る人たちへと影響を及ぼします。
(従って、BやBからコードを受け取っ
Re: (スコア:0)
ごめんちょっと紛らわしかった。
> Bに提供したバージョンのコードをGPLでなくする、とか、
これは、Bに対して「あ、あれGPLで出すっていったけどやっぱ止めるわ。再配布も止めて」
ということは出来ない、という意図です。Bの権利はirrevocableである、ということが
GPLに書かれています。
同じバージョンをAがCに別ライセンス提供することを縛る条項はGPL内にはありません。
GPLに書かれていることをかいつまんでまとめると:
- GPLは、権利者Aが利用者Bに以下の条件でソフトウェアの利用を認めるよ、という文書
- Bの権利:
-- ソフトウェアを自由に使ったり改変したりすることができる
Re: (スコア:0)
それでも、やっぱりしっくり来ない。
>Bに提供したバージョンのコードをGPLでなくする、とか、Bが第三者に再配布するのを妨げる、とかは
>できません(GPLに書いてあります)。次のバージョンをGPLでなくする、とか、Cに対してAが直接
>別のライセンスでコードを提供する、ということは自由です。
Bに提供したバージョンのコード無変更でCにプロプラで渡す、というのはまさに「Bに提供したバージョンのコードをGPLでなくする」ではないの?
つまり、Cにプロプラでコードを渡すためには
「変更を加えて新バージョンを作り、それをGPLでなく
Re: (スコア:0)
端的に書けば
BがGPLに反するライセンスで他人に渡すのはライセンス違反です。
Bはコードの所有者ではないからです。
AがGPLに反するライセンスで他人に渡すのは何ら問題ありません。
なぜならAはコードの所有者だからです。
ということです。
Re: (スコア:0)
#1854221 の方に書いたことで解決しないかな?
Aが「GPL違反」になるのは、Bにソースを請求されて渡さなかったか、Bができること(利用、改変、条件に従った再配布)を止めた時のみ。
上の2点は、「Bができること」として契約に記されているから、それをしなければ違反になる。
けれども、Bとの上記の契約を保持したまま、Cに別ライセンスでソフトを渡すのは契約とは何ら矛盾しない。
なお、「GPLの再配布物はGPL」という縛りはあくまで「Bが再配布する場合や、Bから配布を受けた人が再配布する場合
にのみ適用される。契約にそう書かれている。
Aが別の人に配布する場合にどうするかということはGPLには一切書いてない。したがって権利者であるAが自由に決められる。