GPLコードを書き換えてライセンスを変更する


23

GPLライブラリ(デュアルライセンスなし)を見つけました。これはまさに必要なことを行います。残念ながら、ライブラリのGPLライセンスは、私が使用する別のライブラリのライセンスと互換性がありません。したがって、ライセンスを変更できるように、GPLライブラリを書き直すことにしました。

私の質問は次のとおりです。ライセンスを変更できるようにするには、ライブラリにどの程度の変更を加える必要がありますか?言い換えれば、これを行う最も安い方法は何ですか?


3
GPLライブラリの作成者に別のライセンスでリリースするために支払う方が安くなる場合があります。
quant_dev

3
最も簡単な方法を尋ねるのではなく、完全なストーリーを教えて「正しいことは何ですか?」
ジョンR.ストローム

4
他のライブラリがGPLと互換性がない場合、おそらくそれがあなたが変更する必要があるライブラリです。
ポール・ブッチャー

1
他のライブラリにはどのライセンスがありますか?
アンドレスF.

回答:


34

私は弁護士ではありませんが、GPLedライブラリのコードを見たなら、あなたが書いたエミュレーションライブラリは汚染されているでしょう。

そのため、プロセスは機能仕様を記述し、GPLのコードを見たことがない人にライブラリを作成させることです。

編集:「ライセンスを変更できるようにするには、ライブラリにどの程度の範囲で変更を加える必要があるか」という質問を作成する方法に注意してください。答えはわかりません。何をするにしても、ライブラリを変更するだけであれば、ライセンスの条件を尊重しなければならないため、そもそもライブラリを変更できるようになります。


3
汚染の問題は、おそらく実際にはそれほど深刻な問題ではありません。商用エンティティのコードをリバースエンジニアリングしている場合は、(本質的に避けられない)侵害訴訟のためにリーダーと実装者の間のファイアウォールが必要なので、他のバージョンからコードをコピーする可能性がなかったことを示すことができます。ほとんどのGPLコードの場合、あなたが告発することを露骨に侵害していない限り、誰もあなたを訴えるつもりはありません。
マーク・ベッシー

1
あなたはロシアのルーレットが好きかもしれません、あなたの選択。何らかの理由-何らかの方法でコードを継承する競争、または訴訟の資金調達を決定する競争-が訴えられ、有罪判決を受けた場合、それはあなたの会社をownさせる可能性があります。訴えられていなくても、悪評が問題であることがわかっている場合。
AProgrammer

2
「汚染された」問題は主にNDAに当てはまると思います。著作権の問題については、ほとんど意味がありません。著作権は本、新聞、映画などにも適用されることを考慮してください。ジョージルーカスは、おそらくスターウォーズを作成する前にテレビでスタートレックシリーズを見ましたが、それはスターウォーズを派生作品にしますか?新聞記者がラジオで何かについて聞いた場合、それは彼が同じ出来事について書くことを妨げますか?
user281377

6
クリーンルームアプローチは、著作権法を侵害していないことを証明するための手段にすぎません。私がそれを理解しているように-そして再び私は弁護士ではない-元の作品の知識なしに開発されたものは、著作権を侵害しないかもしれない(しかし、特許を侵害するかもしれない)。その知識で開発されたものは、著作権を侵害する場合としない場合があります。類似性がランダムなイベントまたはアプローチを自然にする問題の性質によるものであることを証明するのは、より困難です。
AProgrammer

1
@ammoQ:米国では、コードのすべての行が書き直されたにもかかわらず、会社が侵害されたと判断されたコピー侵害訴訟(統計ソフトウェアパッケージ?)がありました。スター・ウォーズは特にスター・トレックに似ているわけではなく、新聞記者はラジオで聞いたことだけでストーリーを書くつもりはないことに注意してください。
デビッドソーンリー

21

この問題を回避する通常の方法は、最初にライブラリの所有者に連絡し、別のライセンスの下でそれをあなたにリリースするかどうかを尋ねることです。

GPLに互換性がないオープンソースプロジェクトで作業している場合、彼らがこれを行う可能性は十分にあります。一部のプロジェクトは、最良の選択のように思えたからといってGPLライセンスになります。

もちろん、これは両方のライブラリに適用されます。許容度の低いライセンスの下で許容ライセンスのデュアルライセンスを取得することは問題になりません。

商用製品を使用している場合、多くのライブラリ作成者は、適切に補償すれば、異なるライセンスの下でリリースを提供します。


8
試してみる価値はありますが、ライブラリの所有者がGPLの貢献を受け入れたり利用したりしている場合、これは機能しません。これは多くのライブラリの場合です。
ブライアン

^著作権を元の作者に再割り当てする「寄稿者」契約がない限り:softwareengineering.stackexchange.com/a/225577/93511
ジョナサン

17

私が理解しているのは、あなたが作品から始めてそれを修正すると、どんなに大規模な修正であっても、最終結果はオリジナルの派生作品になるということです。ライブラリを最初から記述する必要があります。ライブラリを最初から記述したが、コードを見た場合、あまりにも似ていると、著作権侵害で再び訴えられる可能性があります。

これらのルールはソフトウェアに固有のものではなく、あらゆる種類の著作権のあるものに適用されます。

私は弁護士ではなく、これは法的助言ではありません。また、私はあなたの管轄外にいる可能性が非常に高いので、インターネット上で提供される法的助言については常に疑わなければなりません。信頼できる法的助言を希望する場合は、弁護士に支払う必要があります。


4

IANAL、しかしアメリカでは、ある程度の修正が非派生的な作品を作成することはありません。古いライブラリからコピーされたコードがある場合、または大学のクラスで盗作の問題が発生するほど内部的な類似性がある場合は、新しい作品に近づきません。関数または変数の一部の名前を変更しても何も実行されず、ソース内でコードの塊が移動することもありません。チャンスを得るためにも、独自に再作成する必要があります。IOW、あなたはそれが提供するインターフェースだけを見て、その機能を提供する方法を決定し、チャンスに耐えるようにそれを再作成する必要があります。その場合でも、誰かが本当に気にし、怒っているなら、あなたはまだ森から出ていないかもしれません。

最後に、あなたの最善の策は、図書館の著者に連絡し、あなたが彼の図書館のより寛大なライセンスの取り決めを見つけることができることを願うことです。


1

ここで提案されている他のすべて(二重ライセンスの要求、書き換え)が受け入れられない場合、独自のプログラム/ライブラリとの動的リンクが派生物と見なされるかどうかはまだ明確なケースではないことに注意してください。FSFはそう言っていますが、多くの弁護士(ローレンス・ローゼンを含む)はこれに疑問を呈しています。

そのため、ソフトウェアをGPL化されたライブラリにリンクし、ソフトウェアのすべてのコピーでソースコードが配布されることを確認できます。誰かがあなたを訴えたら、彼らはこのトリッキーで曖昧なGPLの側面の理解が正しいことを証明しなければなりません。表示されるように(例:Galoob対Nintendo)、派生物が機能するものとそうでないものを完全に確信することはできません。


または、少なくともlibもLGPLにできるかどうかを尋ねます。
ヨハン

2
動的リンクの問題は難しい問題ですが、裁判官があなたの道を支配することを期待しないでください。裁判官は、Gnuライセンスを使用する場合はGnuの定義を受け入れることを決定する可能性があり、おそらくまだ発生していない裁判の結果に基づいてソフトウェア製品を作成したくないでしょう。
デビッドソーンリー

1

元のコードを使用せずにコード全体を自分で書き直す場合は、派生した作業ではない唯一の方法です。これはおそらく実行不可能です。

GPLを回避するはるかに簡単な方法があります。

  • 明確に:サービスを開始し、ソケットを介してアクセスします。ソケットはGPLライセンスの境界です(悪名高いGPLv3でAffero条項がない場合)。
  • 灰色のゾーン:動的にリンクします。動的リンクが派生作品の境界であるかどうかについては、多くの論争があります。ここに少数の視点があります。これは、あなたがいる管轄区域にも依存する可能性があります。

また、GPLは配布ライセンスであるため、バイナリをサードパーティに配布する場合にのみ作業のライセンスを取得する必要があります。また、バイナリを一般公開する場合を除き、ソースを公開するだけで、一般公開する義務はありません。たとえば、サーバーでのみコードを使用している場合、コードをリリースする義務はありません。これは、たとえばGoogleがLinuxカーネルを微調整した方法です。


私はソケットが障壁であることを確信していません。弁護士によると、グローバルな効果は法律で確認されているものの、技術者は技術的手段に集中しすぎています。ソケットインターフェイスを公開し、emacs lispで使用例を示すことは、彼らにとっては問題ありませんでした。しかし、プログラムとともにemacsを自動的にインストールする可能性を与えることはできませんでした。あなたは配布に適しています。ただし、配布先をさらに配布することを防ぐことはできません。
AProgrammer

@AProgrammer:FSFでさえ、それが別個のプロセスである場合、これらは別個のプログラムであり、したがって派生的な仕事ではないと言う。プラグインに関するよくある質問ですが、ロジックはまだ適用されます:gnu.org/licenses/gpl-faq.html#NFUseGPLPlugins
vartec

問題はプラグインに関するものであり、プラグインは本質的に不可欠ではありません。私は、2つのプロセスでプログラムを構築することに賭けません。1つはGPLのライブラリを使用したため、もう1つはソースを非公開にしたいからです。特に両方が一緒に配布される場合。しかし、それはあなたの呼び出しです。
AProgrammer

1
@A:他のプログラムとの配布は「集約」であり、GPLによって明示的に許可されています。いいえ、それは私の電話ではありません。個人的には、10フィートの長いスティックでもGPLライブラリには触れません。
バルテック

1

IANALと、どのような場合でも、これは法的に何の意味もありませんが、スティーブンレヴィの本「ハッカー」で、彼はある日、RMSが日中と夜間に* nixコードを書いて同じことを書いたと信じています自宅に置いて、GNUの一部になれるように... GNU?...これはLinuxの前に...いくつかの無料のUnix型システム。彼はホームコードをデイコードと異なるものにしなければならなかったと思いますが、彼は基本的にあなたが提案していることを正確にやっていました。

これはおそらく法的に問題ではないかもしれませんが、AppleやMicrosoftが許可/ライセンスなどを取得したかどうかはわかりませんが、ベルラボはMacに使用されるデスクトップ/アイコン/マウスインターフェイスを発明しませんでした(またはLisa?)がMicrosoftによって使用されました。


それは、ベル研究所ではなく、ゼロックスPARCです。
Marnen Laibow-Koser 14

JobsはXeroxと契約を結び、AppleはPalo Altoの研究室を見に行くことができました。ゼロックスでは誰もその技術を気にしていませんでした。
aledalgrande

0

あなたの特定の司法権の裁判官の前の裁判を除いて、これに対する答えはありません。しかし、あなたはそれを危険にさらしたいですか?または、GPLライブラリ、テストなどの書き直しに取り組みます。他のライブラリがGPLと互換性がないことを確認しますか?非GPLライブラリ条件で両方のライブラリを配布する場合を除き、これは実際には非常にまれです。


Gnu.org/licenses/license-list.htmlでライセンスのGnuリストを取得できます。このリストは、無料のGPL互換ライセンス、無料の非GPL互換ライセンス、および非無料ライセンスに分かれています。GPLには、他のライセンスがしばしば準拠していない特定の要件がいくつかあり、GPLv3の目標の1つは互換性を簡単にすることでした。
デビッド

0

ライセンスを変更できるようにするには、ライブラリにどの程度の変更を加える必要がありますか?

世界のほとんどの地域では、最初から始めて、何も切り取ったり過去にしたりする必要はありません。関数/クラス/変数などに新しい名前が必要であり、構造は異なる必要があります。その後、あなたは安全です。

一方、diff-toolで類似性が見つからない場合は...


2
diffツールが類似点を見つけることができない場合、それはまだ著作権侵害である可能性があります。非プログラミングの観点からそれを見てください。私は本を書き、それをスウェーデン語に翻訳し、米国(およびスウェーデン語の可能性が高い)著作権法によって二次的著作物を作成しました。
デビッドソーンリー

@David Thornleyはい、あなたは二次的著作物について正しいです。
ヨハン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.