クローズドソースアプリケーションからGPLライブラリにリンクできますか?


34

さて、誰もが重複した質問について叫ぶ前に、はい、私はすでにこのようないくつかの質問をここで見ました。しかし、誰も質問に答えません。

ライブラリを変更せずにGPL対応のライブラリにリンクする場合、ソースコードをリリースする必要がありますか?

この質問によると、答えはイエスです!

しかし、この答えは私にとって満足のいくものではありません。答えは基本的に、コードをオープンソースにすることなく、GPLコードを使用することはできません。

しかし、前のことが当てはまる場合、個人や組織がLinuxでプロプライエタリなソフトウェアをリリースすることは不可能であることを示しています。間違っているに違いありません。単に、アプリケーションが何か便利なことをしたり、ファイルを開いたり、コンソールに書き込んだり、TCP接続を作成したりするには、アプリケーションlibcがGPLでリンクされている必要があります。

だから私の質問は次のとおりです:サイト上の以前のすべての回答がそうであるように、GPLが別のGPLプログラムにリンクするプログラムはGPLでなければならないと述べている場合、独自のアプリケーションを作成/リリース/販売する方法は可能ですか? Linuxで実行されるものは何ですか?上で説明したように、そのアプリケーションはLinux上で実行するためだけにGPLコードに好まれる必要があります。

より実用的な例では、非GPLアプリケーションでGPLが適用された共有ライブラリにリンクすると言いますが、それは非GPLアプリケーションを強制的にGPLに変換しますか?より具体的には、GPLライブラリを変更せずに使用し、そのライブラリを.soまたはとして配布.dllすると、アプリケーションがオープンソースである必要がありますか?


9
別の答えを期待して同じ質問をし続けます。GPLと互換性のないソフトウェアではGPLを使用できません。とてもシンプル。
アンドリューTフィネル

1
彼は本当に?ブライミー。答えは簡単です。GPLプログラムの作者と連絡を取って、彼らが気にしないか尋ねてみませんか?彼らはそれが素晴らしいと言うなら、それは壮大です!彼らが異議を唱えた場合、法的詳細で彼らを強力に武装しようとすると、あなたがどんなに「正しい」と感じても、非常に不人気になります。
ジェームズ

3
@ジェームズ:彼らがGPLを選択した場合、それは彼ら気にするかなり強い声明です。そもそもMIT、BSD、LGPLを選択しても構わない人。完全なGPLでライブラリを見るのは非常にまれです。そうすることで、それが意図的なものであることがほぼ確実になります。
Jan Hudec

@Janたぶん、アプリとジョン・チャールズの使用目的に依存します。しかし、JCがこれに近づいているのは奇妙だと思う。jcは彼が望む答えを得ようとしているだけですか?このサイトには、「大声で叫ぶので、彼らと話をするだけで」解決できる多くの質問があります。:
ジェームズ

@JanHudec:同意します。私は会社のIPの一部をGPL化されたライブラリの形でリリースすることを主張しました。これは競合他社にとって本質的に役に立たず、コミュニティにとって非常に有用だからです。
–MSalters

回答:


33

GPL libにリンクする場合、派生作品を作成し、コードはGPLである必要があります-これは、L GPLコードとは異なり、異なるライセンスコードの動的リンクを明確に許可します。libcを含むシステムライブラリはすべてLGPLです。

また、Linuxカーネルヘッダーとlibgcc(コンパイラによって暗黙的に呼び出されるライブラリ)には特別な例外があります。


19
libcはLGPLではありません-LGPLプログラムへのリンクが許可されています。ライブラリの呼び出しVSシステムが何であるかをabotu引数がないので、カーネル/システムコールのための一般的な免除もあります
マーティンベケット

6
LGPLは新しいライセンスではなく、1991年に最初にリリースされました。libcは常にLGPLでした。
FigBug

4
@ john-charles-これが、1991年にgplv2でLGPLが発明された理由です。Linux(およびその他のFOSSカーネル)が人気を博し、それがもともとLibrary-GPLと呼ばれていたため、商用アプリがgccを使用できない場合、すべてのコンパイラベンダーがlibcを大量に使用する恐れがありました。
マーティンベケット

1
@MartinBeckettこれはFSFの意見です(GPLの下でライセンスを取得していない場合、GPLdコードにリンクすることはできません)が、議論の余地はありません。リンクに関するFSFの意見を確認するための大きな訴訟はありませんでした(間違っている場合は修正してください)。
K.ステフ

2
@ john-charles-はい、すべてのコモンローは法廷でテストされますが、著作権に関しては非常に多くの判例法があります。Batman DVDの変更されていないコピーが派生した作品ではないと主張して、必要なだけ販売できる場合-MPAAは同意しそうにありません!GNUは非常に賢い方法でライセンス契約を強制する用途の著作権をコピーレフト-それは法廷でテストされていない理由の一つは、誰もが常に落ち着いたということです
マーティンベケット

7

一般的なケースでは、GPLライブラリにリンクしてコードを配布し、コードをGPLとしてリリースすることはできないという点で正しいです。

ただし、システムライブラリの例外があります。これは、Linuxライブラリに対してリンクし、非GPLライセンスで製品をリリースする方法です。

別の例外は、2つのライセンスが相互に互換性がある場合です。詳細については、FSF 互換ライセンスページご覧ください

最後に、GPL化されたライブラリの作成者は、非営利または趣味での使用など、特定の例外を作成できます。

残念ながら、ハードで高速なルールを作成するには潜在力が多すぎます。あなたの質問に詳細がなければ、あなたの答えは「たぶんできませんが、たぶんできる」でしょう。


1
それは、コンパイラによって生成されたパーサが含まれているので、SLEはまた、コンパイラの派生作業中の番組の質問に答える
マーティン・ベケット

3
いいえ、SLEでは、フリーではないツールチェーンと標準ランタイム(Visual Studioなど)を使用してGPLコードを開発できます。非フリーアプリケーションをGPLライブラリにリンクすることはできません。
Jan Hudec

1
GPLプログラムの出力は、GPLの対象外です。参照gnu.org/licenses/gpl-faq.html#GPLOutput
マクシムスMINIMUS

-1

簡単な答えは、誰も本当に知らないということです。(この議論はLGPLではなくGPLについてです。)

GPLには「派生著作物」について曖昧な言葉があり、さまざまな人々がさまざまな方法で解釈しています。コンセンサスは、静的リンクに違反しているようですが、システム割り込み(Linuxカーネルなど)を介した呼び出しには違反していません。後者は、主にOracleのような企業がLinuxで出荷されており、訴えられていないという事実に基づいています。ライセンスでは明確ではありません。

動的リンクは不明であり、おそらく70/30は違反していると言っています。パイプまたはリモートプロシージャコール、おそらく30/70を使用してプログラムを呼び出しても、これは本質的に同じことですが、違反しません。COM経由の呼び出し、またはJava Jarの使用は完全に不明確です。

基本的に、疑問があり、弁護士が好きでない場合は、GPLから離れてください。


1
GPLはそれほど曖昧ではありませんし、派生物とは何かという問題については、判例法について十分に議論されています。Linuxのsyscallインターフェースとlibcの違いは、前者は動作するソフトウェアを作成するために必要であり(著作権の例外として確認されています)、後者はそうではありません(独自の実装が可能です)。これは、操作が呼び出される方法とは関係がなく、法的関連性はありません。IANAL、これは法的助言ではありません。
ジュール

「70/30は違反している」と「30/70は違反していない」-違反/違反していない比率が同じであることは意図的ですか?「これは本質的に同じことですが」は、異なることを意図していたことを示唆しています。
マテウスコニエツニー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.