アカウント名:
パスワード:
そのGPLコードの権利を持ってる開発者自身が(自分で移植するか、誰かにやってもらって権利を譲り受けるかして)AppStoreに出すぶんには何も問題ないのでは。
他人が権利を持つGPLコードを利用したい、っていうなら、そりゃ権利者の意志を尊重しなきゃ。たとえその意志が「『ビジネスを考えたらクソ以下な』ライブラリを敢えて公開する」ことだったとしても。
開発者自身と言えど、自分自身で決めたライセンスは守る必要があるだろが。自分で自分のライセンス違反を犯すってのは、自分自身の著作物を自身で権利侵害してるって事だ。自分自身を自分の著作権侵害で訴える義務がある。
もしかすると良くある誤解かもしれないのでわかりやすく書いておきます。
権利者である開発者はそのコードをいつどんなライセンスでもリリースすることができます。GPLで既に公開しているコードに、後からプロプラにも使える別のライセンスを設定して自分で使ったり公開したりすることに何ら問題はありません。同一コードをGPLと別のライセンスとで平行して公開しつづけても構いません利用者が、利用する時点でどちらかライセンスに合意することになります。
一方、「既にGPLとして公開してしまったコード」に対して「GPLやっぱやめ」と別のライセンスにしたり引っ込めたりすることはできません。利用者はGPLであった時点のライセンスに合意して既に使っているので、その合意を一方的に破棄することはできないのです。
ただし、「次のバージョンからGPLやめます」というのは、次のバージョンに含まれるコードの全ての権利者が合意すれば可能です。単にそれまでのGPLで出したバージョンについてGPLを引っ込められない、というだけです。
やっぱりGPL、というかライセンスってものを誤解してると思うなあ。
Aさんが権利を持ってるものをBさんが使う時に取り交わす約束がライセンスね。「Bさんは仕事に使ってもいいけど他の人に配っちゃだめ」とか「Bさんは非商用目的なら使っていいよ」とかいろいろある。
Aさんは、利用者ごとにライセンスしてもいい。Bさんにはこういう条件で、Cさんにはこういう条件で、ってな具合。
でもそれは大変だから、GPLみたいな配布が自由なやつの場合、誰でもアクセスできるところにライセンスと一緒にあげておいて、「このライセンスに合意できる人は使っていいよ (使ったら、ライセンスに合意したとみなすよ)」としておく。手間を省いただけで、ライセンスは権利者と個別の利用者の間の合意、という点は変わらない。
この話には、Aさん自身がAさんのソフトを使うってケースは含まれない。当然だ。権利を持っているんだもの。Aさんは自分の商売に使ったっていいし、別の利用者に、そのままのコードでも派生物でも、別のライセンスをつけて提供することだって自由にできる。カスタマイズしたバージョンをプロプラライセンスで売ったって構わない。
各々の利用者は、自分が合意したライセンスに縛られる。同じコードでも、Bさんは「勝手に配っちゃだめ」というライセンスで提供を受け、CさんはGPLで提供を受けた場合、Bさんはやっぱり勝手に配っちゃだめ。もちろん、Cさん経由でGPL版を手に入れて配るってのは可能だけど。もしBさんが直接ライセンスを受けたものがカスタマイズ版であった場合、それには当然GPL版のコードも含まれてるわけだけれど、Bさんはカスタマイズ版を配ることはできない (Aさんと合意したライセンスに縛られる)。Cさん経由でGPL版を手に入れたら、そのGPL版を配ることは構わない。それは別系統でライセンスを受けたことになる。
派生物云々っていうのはさらにその先の話。GPL版の提供を受けたCさんが、ソフトに手を加えて配る時にどうなるか、ってこと。あくまでGPL版の提供を受けた利用者に関係する話なので、別のライセンスでAさんからコードの提供を受けたBさんは、コードに手を加えて配布できるかどうかってのはその「別のライセンス」でどう決められてるかに縛られる。たとえGPL版と同じコードが含まれていたとしてもね。
どうだろう。ライセンスはコードそのものの属性ではなく、権利者と利用者の間にあるもの、ということさえわかれば、そんなに難しい話ではないと思うのだけれど。
その場合、Bさんは「Aさんより個別のライセンスを受けている」と言えばいいだけのことです。
実際、GPL版が公開されているけど商用版も売っている、ってソフトウェアはたくさんありますよ。MySQLもそうだし、Qtもそうですね。プロプラソフトに組み込んで配りたい人は、商用ライセンスを受ければ良いのです。
先走って「GPL違反だ」と騒ぐ人もいるかもしれませんが、大きな騒ぎになったものって、だいたい騒ぎの早い段階から権利者がライセンスした覚えがないということが明らかになってるか、商用ライセンスなんて無いコミュニティベースのGPLソフトウェアが含
うーん、あなたがどこに引っかかっているのか未だに良くわからないんですが。
GPL版と全く同じ商用版が存在し得る以上、コードの一致はGPL違反の必要条件ですが十分条件ではありません。
> 組み込んだ物がGPL版ではないと証明出来なければならんですよね?
ですから、ライセンスはコードそのものの属性ではなく、権利者と利用者の間の約束なんです。大事なことなので何度も言いますが。全く同じコードでも、ライセンスが違うことはあるのです。「組み込んだものがGPL版かどうか」というのはコードを見ただけでは判断できないんですよ。原理的に。判断の基準になるのは、権利者の
えええ、何が問題なのか全くわからないんですが。
> 仮に、プロプラ版のソースコードが流出して、GPL版とローカル変数の違いしかない事が発覚したら大騒ぎになるだろう?
なるわけないです。というかわざわざローカル変数の名前を変える必要さえなく、全く同じソースをプロプラ版として出したって構いません。
現実の具体例として私は、当初GPLで開発され、後に同じコードベースからプロプラ版が作られたGhostscriptを挙げました。大騒ぎになることはなく、Ghostscriptは世界中で使われています。
あなたは、GPL版として開発され、権利者全てが同意してプロプラ版が
可能です。その「私がGPLですっげープログラム」が
・全て私一人で書いた・あるいは他の著作者がいた場合その全員がプロプラで売ることに同意している
場合にプロプラで売り出せます。
それは何度も何度も書かれているとおりです。
プロプラにするときに別にローカル変数の名前を変える必要さえありません。GPLのコードと全く同一であってもいいのです。
そして騒ぎになったとしましょう。そのときは著作権を持っている人が「ええ確かにプロプラで売ることにしました」「その件は同意しています」と言えばいいのです。それがそんなに難しいことですか?
別にFSF信奉者だったりFSFだったりが出る
このスレッドにはその「GPLの精神」とやらを持ち出して攻撃されていない例がいくつも出されています。ですから、あなたがやるべきことはGPLとプロプラの両方のライセンスでものを出して問題になっている例です。
> 本当にそんな「GPLの精神」に反した行為が可能なら、どうしてそれがもっと広く知られてないの?
MySQLは問題になっていません。Qtも問題になっていませんGhostscriptも問題になっていません。このことは広く知られていますが、あなたは知らなかったようですね。
さて、あなたは問題になっている例を挙げられますか?挙げられたとして、それが何故問題とされているのか理解できていますか?
うーん、私自身は自分のコードをBSDで出してる人間で、GPLを強く推す義理はないんですが、ライセンスというものに関する誤解が広まるのはとても困るので、まだ食いつきます。
> GSは詳しくは知らないけど、GPL版とプロプラ版のソースコードが全く同じって事はあり得ないでしょう。> まあ、プロプラ版はソースがないから確かめようがないんだろうけど、もし同じ事がバレたらやっぱり問題じゃないの?
同じでもいいんですよ。まあGSのプロプラ版は機能が追加されてるみたいですが。そういえば、あなたの解釈では、GPL版とプロプラ版のデュアルライセンスにしてる他のソフト
そんな理屈より問題になている例を挙げたらどうです?
で、矛盾でもなんでもありません。Aの著作者は「私」です。「私」がどのようなライセンスで他人に渡そうが「私」の自由です(私有財産の原則です)。
Aは「私」がGPLと決めればGPLになります。そうでなければGPLではありません。ただし、AとXをリンクしたバイナリはGPLになります。それはAがGPLだからではなく、XがGPLだからです。
Bについてはよくわかりませんが、「私」が1人で書いたものと考えていいですか?ここは重要なところなんですが、明記されてなかったもので以下ではその前提で書きます。
まとめましょう。
・A: 「私」がGPLと言わない限
あなたの理解が間違っています。その誤解の元は、ライセンスを「権利者」と「利用者」の個別の関係にあるものと考えず、コードそのものに不可分に結びついているものと考えているところにあるようです。ライセンスは何かという点についてはこのツリーの上の方で丁寧に説明しましたのでご参照ください。
先に結論を言いますと、あなたはPをプロプラで配ることができます (AとB'は全てあなたの著作物である、つまりGPLで受け入れたパッチなどが含まれない、という前提で)。当然です。その全てのコードについてあなたが権利者なのですから。もし、そういうケースなのにGPL関係で
他のコメントで既に述べられています [srad.jp]が,噛み砕いて説明します.
> >プロプラにするときに別にローカル変数の名前を変える必要さえありません。> >GPLのコードと全く同一であってもいいのです。>> これはさすがにおかしすぎるだろ。
おかしくありません.
ソフトウェアライセンスというのは,ソフトウェアプロダクトの提供者と被提供者の間で取り交わされる契約です.提供者は,自身が持つ権利の範囲内ならば,どのような条件で被提供者と契約しても構いませんし,被提供者によって契約の内容を変えても構いません.
例えば,ソフトウェアプロダクトの全ての著作権を持っている人は, (法令に違反しない範囲で) 任意のライセンスでプロダクトを提供できます.一方,GPLで提供されたプロダクト(もしくはその派生物)を保有している人は,そのプロダクトをGPLの制約の範囲内でのみ,他者に提供できます.
いや落ち着いてちゃんと読めって。
「AとXをリンクしたバイナリ」(1)はGPLだ。
「A単独のバイナリ」(2)はあなたの好きなライセンスにできる。もちろん、(1)が配布されている場合、(1)を入手した人はAのソース開示要求できるので、Aのソース自体はそちらのルートから出さざるを得ないけれど。それはXをリンクした時点で受け入れるべきこと。
「AとB'をリンクしたバイナリ」(3)はあなたの好きなライセンスにできる。あなたがそう望まなければ、これを入手した人がB'のソース開示を要求することはできない。A+B'をプロプラにして売っても構わない。
あーもう。一番根本が伝わってないなあ。というかこっちの理解を試すdevil's advocateと話してるんじゃないかって気がしてきた。
同一のコードを、GPLとプロプラの両方で提供することが出来るんだよ。そうしてるプロジェクトも現実にいくらでもある。
ライセンスはコードの属性じゃなくて、権利者と利用者の間の個別の合意なんだから。利用者によって、あるいは状況によって変わってもかまわないの。
権利者Aと利用者BがGPLで合意したなら、利用者Bからその時点のGPLを引き上げることはできない (GPLにそういう条項がある)。けれども、それは権利者Aと別の利用者Cとがプロプラのライセンスで合意することを妨げるものではない。利用者Cは自分のプロプラ製品に組み込みたいからGPLじゃ困る、とかいう場合なら、GPL版と全く同じコードでも、プロプラのライセンスを欲しいってことはあるし、現実にそういうことはいくらでも行われている。
> 既に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:GPLの終わりの始まりかも (スコア:2, 興味深い)
やっぱりGPL、というかライセンスってものを誤解してると思うなあ。
Aさんが権利を持ってるものをBさんが使う時に取り交わす約束がライセンスね。「Bさんは仕事に使ってもいいけど他の人に配っちゃだめ」とか「Bさんは非商用目的なら使っていいよ」とかいろいろある。
Aさんは、利用者ごとにライセンスしてもいい。Bさんにはこういう条件で、Cさんにはこういう条件で、ってな具合。
でもそれは大変だから、GPLみたいな配布が自由なやつの場合、誰でもアクセスできるところにライセンスと一緒にあげておいて、「このライセンスに合意できる人は使っていいよ (使ったら、ライセンスに合意したとみなすよ)」としておく。手間を省いただけで、ライセンスは権利者と個別の利用者の間の合意、という点は変わらない。
この話には、Aさん自身がAさんのソフトを使うってケースは含まれない。当然だ。権利を持っているんだもの。Aさんは自分の商売に使ったっていいし、別の利用者に、そのままのコードでも派生物でも、別のライセンスをつけて提供することだって自由にできる。カスタマイズしたバージョンをプロプラライセンスで売ったって構わない。
各々の利用者は、自分が合意したライセンスに縛られる。同じコードでも、Bさんは「勝手に配っちゃだめ」というライセンスで提供を受け、CさんはGPLで提供を受けた場合、Bさんはやっぱり勝手に配っちゃだめ。もちろん、Cさん経由でGPL版を手に入れて配るってのは可能だけど。もしBさんが直接ライセンスを受けたものがカスタマイズ版であった場合、それには当然GPL版のコードも含まれてるわけだけれど、Bさんはカスタマイズ版を配ることはできない (Aさんと合意したライセンスに縛られる)。Cさん経由でGPL版を手に入れたら、そのGPL版を配ることは構わない。それは別系統でライセンスを受けたことになる。
派生物云々っていうのはさらにその先の話。GPL版の提供を受けたCさんが、ソフトに手を加えて配る時にどうなるか、ってこと。あくまでGPL版の提供を受けた利用者に関係する話なので、別のライセンスでAさんからコードの提供を受けたBさんは、コードに手を加えて配布できるかどうかってのはその「別のライセンス」でどう決められてるかに縛られる。たとえ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: (スコア:0)
えええ、何が問題なのか全くわからないんですが。
> 仮に、プロプラ版のソースコードが流出して、GPL版とローカル変数の違いしかない事が発覚したら大騒ぎになるだろう?
なるわけないです。というかわざわざローカル変数の名前を変える必要さえなく、全く同じソースをプロプラ版として出したって構いません。
現実の具体例として私は、当初GPLで開発され、後に同じコードベースからプロプラ版が作られたGhostscriptを挙げました。
大騒ぎになることはなく、Ghostscriptは世界中で使われています。
あなたは、GPL版として開発され、権利者全てが同意してプロプラ版が
Re: (スコア:0)
可能です。
その「私がGPLですっげープログラム」が
・全て私一人で書いた
・あるいは他の著作者がいた場合その全員がプロプラで売ることに同意している
場合にプロプラで売り出せます。
それは何度も何度も書かれているとおりです。
プロプラにするときに別にローカル変数の名前を変える必要さえありません。
GPLのコードと全く同一であってもいいのです。
そして騒ぎになったとしましょう。
そのときは著作権を持っている人が「ええ確かにプロプラで売ることにしました」
「その件は同意しています」と言えばいいのです。
それがそんなに難しいことですか?
別にFSF信奉者だったりFSFだったりが出る
Re: (スコア:0)
まあ、プロプラ版はソースがないから確かめようがないんだろうけど、もし同じ事がバレたらやっぱり問題じゃないの?
そもそもGPLって権利者がソースの変更を隠蔽することを戒めるためのライセンスなのに、あなたの言ってるような事が可能だとしたら、
それはGPLというライセンス自体の重大な欠陥ですね。
もっとも、そういうGPLの想定外の事態が起きた場合は「GPLの精神」なるものを持ち出して攻撃されます。
さっき書いたような事を許さないのは、GPLそのものやFSFで
Re: (スコア:0)
このスレッドにはその「GPLの精神」とやらを持ち出して攻撃されていない例がいくつも出されています。
ですから、あなたがやるべきことはGPLとプロプラの両方のライセンスでものを出して問題になっている例です。
> 本当にそんな「GPLの精神」に反した行為が可能なら、どうしてそれがもっと広く知られてないの?
MySQLは問題になっていません。Qtも問題になっていませんGhostscriptも問題になっていません。
このことは広く知られていますが、あなたは知らなかったようですね。
さて、あなたは問題になっている例を挙げられますか?
挙げられたとして、それが何故問題とされているのか理解できていますか?
Re: (スコア:0)
XというGPLライブラリがありました。
私はAというソフトを作り、「Xとリンクして使ってね!」と言うドキュメントを添えて配布しました。
Aは問答無用で自動的にGPLです。例え権利者でも、これをプロプラで配る事は許されません。
私はBというライブラリも作りました。これはAとリンクして動作します。
AがGPLなので、Bも自動的にGPLです。
私はBを改良してB'(当然自動的にGPL)を作り、AはXなしでB'だけでも動くようになりました。
そこで、AとB'を一緒にしてパッケージPを作って配り
Re: (スコア:0)
うーん、私自身は自分のコードをBSDで出してる人間で、GPLを強く推す義理はないんですが、
ライセンスというものに関する誤解が広まるのはとても困るので、まだ食いつきます。
> GSは詳しくは知らないけど、GPL版とプロプラ版のソースコードが全く同じって事はあり得ないでしょう。
> まあ、プロプラ版はソースがないから確かめようがないんだろうけど、もし同じ事がバレたらやっぱり問題じゃないの?
同じでもいいんですよ。まあGSのプロプラ版は機能が追加されてるみたいですが。
そういえば、あなたの解釈では、GPL版とプロプラ版のデュアルライセンスにしてる他のソフト
Re: (スコア:0)
>GPLのコードと全く同一であってもいいのです。
これはさすがにおかしすぎるだろ。
全く同じという事は、プロプラ版のソースコードを隠す事が即ちGPL版のソースコードを隠す事と全く同等なんだから、完全にGPL違反じゃないか。
屁理屈こねすぎて基本的な所で破綻してるぞ。
Re: (スコア:0)
そんな理屈より問題になている例を挙げたらどうです?
で、矛盾でもなんでもありません。Aの著作者は「私」です。
「私」がどのようなライセンスで他人に渡そうが「私」の自由です(私有財産の原則です)。
Aは「私」がGPLと決めればGPLになります。そうでなければGPLではありません。
ただし、AとXをリンクしたバイナリはGPLになります。
それはAがGPLだからではなく、XがGPLだからです。
Bについてはよくわかりませんが、「私」が1人で書いたものと考えていいですか?
ここは重要なところなんですが、明記されてなかったもので以下ではその前提で書きます。
まとめましょう。
・A: 「私」がGPLと言わない限
Re: (スコア:0)
>・AとXをリンクしたバイナリ: GPL (XがGPLだから)
もう完全な屁理屈じゃないか。Aを別ライセンスで入手した第三者は、Aをコンパイルしてバイナリを手に入れる事が出来て、それはGPLなんだから自由に配布出来て、それを手に入れたさらに別の第三者はAのソースコード開示を要求する事が出来る。
A自体がGPLを強要されるのと何が違うの?Aのライセンスを決める権利があるのは、実質的に「私」ではなく、XとGPLだ。GPL汚染される事を選んだ時点で「私」に自由などない。
Re: (スコア:0)
あなたの理解が間違っています。その誤解の元は、ライセンスを「権利者」と「利用者」の個別の関係にあるものと考えず、コードそのものに不可分に結びついているものと考えているところにあるようです。ライセンスは何かという点についてはこのツリーの上の方で丁寧に説明しましたのでご参照ください。
先に結論を言いますと、あなたはPをプロプラで配ることができます (AとB'は全てあなたの著作物である、つまりGPLで受け入れたパッチなどが含まれない、という前提で)。当然です。その全てのコードについてあなたが権利者なのですから。
もし、そういうケースなのにGPL関係で
Re:GPLの終わりの始まりかも (スコア:1)
他のコメントで既に述べられています [srad.jp]が,噛み砕いて説明します.
> >プロプラにするときに別にローカル変数の名前を変える必要さえありません。
> >GPLのコードと全く同一であってもいいのです。
>
> これはさすがにおかしすぎるだろ。
おかしくありません.
ソフトウェアライセンスというのは,ソフトウェアプロダクトの提供者と被提供者の間で取り交わされる契約です.
提供者は,自身が持つ権利の範囲内ならば,どのような条件で被提供者と契約しても構いませんし,被提供者によって契約の内容を変えても構いません.
例えば,ソフトウェアプロダクトの全ての著作権を持っている人は, (法令に違反しない範囲で) 任意のライセンスでプロダクトを提供できます.
一方,GPLで提供されたプロダクト(もしくはその派生物)を保有している人は,そのプロダクトをGPLの制約の範囲内でのみ,他者に提供できます.
Re: (スコア:0)
いや落ち着いてちゃんと読めって。
「AとXをリンクしたバイナリ」(1)はGPLだ。
「A単独のバイナリ」(2)はあなたの好きなライセンスにできる。もちろん、(1)が配布されている場合、(1)を入手した人はAのソース開示要求できるので、Aのソース自体はそちらのルートから出さざるを得ないけれど。それはXをリンクした時点で受け入れるべきこと。
「AとB'をリンクしたバイナリ」(3)はあなたの好きなライセンスにできる。あなたがそう望まなければ、これを入手した人がB'のソース開示を要求することはできない。A+B'をプロプラにして売っても構わない。
Re: (スコア:0)
一方、「既にGPLとして公開してしまったコード」に対して「GPLやっぱやめ」と
別のライセンスにしたり引っ込めたりすることはできません。
利用者はGPLであった時点のライセンスに合意して既に使っているので、
その合意を一方的に破棄することはできないのです。
既にGPLとして公開してしまったコードをプロプラにすることは利用者との合意の一方的な破棄だからダメなんだろ?
内容変えて別製品として出さない限り、勝手にプロプラ版を作るのはGPL版を使ってる人たちに対する契約破りになるんだから、全く同じじゃダメでしょう。
ローカル変数名やコメント程度の変更でそれが良くなるかどうかはまた別問題としてあるだろうけど。
Re: (スコア:0)
あーもう。一番根本が伝わってないなあ。というかこっちの理解を試すdevil's advocateと話してるんじゃないかって気がしてきた。
同一のコードを、GPLとプロプラの両方で提供することが出来るんだよ。そうしてるプロジェクトも現実にいくらでもある。
ライセンスはコードの属性じゃなくて、権利者と利用者の間の個別の合意なんだから。利用者によって、あるいは状況によって変わってもかまわないの。
権利者Aと利用者BがGPLで合意したなら、利用者Bからその時点のGPLを引き上げることはできない (GPLにそういう条項がある)。けれども、それは権利者Aと別の利用者Cとがプロプラのライセンスで合意することを妨げるものではない。利用者Cは自分のプロプラ製品に組み込みたいからGPLじゃ困る、とかいう場合なら、GPL版と全く同じコードでも、プロプラのライセンスを欲しいってことはあるし、現実にそういうことはいくらでも行われている。
Re:GPLの終わりの始まりかも (スコア:1)
> 既に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が自由に決められる。