さて、皆が重複した質問について叫ぶ前に、はい、私はすでにこのようないくつかの質問をここで見ました。しかし、誰も質問に答えません。
ライブラリを変更せずにGPLで保護されたライブラリにリンクする場合、ソースコードをリリースする必要がありますか?
この質問 によると、答えはイエスです!
しかし、この答えは私には満足できません。答えは基本的に、自分のコードをオープンソースにしない限り、GPLコードを使用することはできないということです。
しかし、前述のことが真実であれば、それは、Linuxで独自のソフトウェアをリリースできる人物や組織がないことを示しています。どちらが間違っているのでしょう。アプリケーションが何か便利なことを行うには、ファイルを開き、コンソールに書き込み、TCP接続を作成するために、アプリケーションをGPL対応のlibc
にリンクする必要があるためです。 。
だから私の質問はこれです:サイト上の以前のすべての回答がそうであるように、別のGPLプログラムにリンクするプログラムはGPLでなければならないことをGPLが述べている場合、どのようにプロプライエタリアプリケーションを作成/リリース/販売することが可能ですか? Linuxで動作するものは何ですか?上で述べたように、そのアプリケーションはLinuxで実行するためだけにGPLコードに好意的である必要があります。
より実用的な例では、非GPLアプリケーションでGPL化されている共有ライブラリにリンクしていると言われていますが、これにより、非GPLアプリケーションがGPL化されますか?具体的には、GPLライブラリを変更せずに使用し、そのライブラリを.so
または.dll
として配布する場合、アプリケーションをオープンソースにする必要がありますか?
GPL libにリンクする場合、派生作品を作成しており、コードはGPLである必要があります-これは L特に動的が異なるライセンスのコードのリンクを許可するGPLコード。 libcを含むシステムライブラリはすべてLGPLです。
Linuxカーネルヘッダーとlibgcc(コンパイラーによって暗黙的に呼び出されるライブラリー)に対する特別な免除もあります。
一般的なケースでは、GPLライブラリにリンクしてコードを配布することはできず、コードをGPLとしてリリースしないという点で正しいです。
ただし、 システムライブラリの例外 があります。これは、人々がLinuxライブラリに対してリンクし、非GPLライセンスで製品をリリースする方法です。
もう1つの例外は、2つのライセンスが互いに互換性がある場合です。詳細については、FSF 互換ライセンスページ を確認してください。
最後に、GPLで保護されたlibの作成者は、非営利目的または趣味での使用など、特定の例外を作成できます。
残念ながら、厳格で迅速なルールを確立するには、あまりにも多くの可能性があります。質問に具体的な情報がなければ、答えは「おそらく不可能ですが、おそらく可能です」です。
簡単に言えば、誰も知らないということです。 (この議論はLGPLではなくGPLについてです。)
GPLには、 "Derivative Works"について曖昧な言葉があり、人々はさまざまな方法で解釈しています。静的リンクは違反しているように思われますが、システム割り込み(たとえば、Linuxカーネルへの)を介した呼び出しは違反していないようです。後者は、主にOracleのような企業がLinuxで出荷されており、訴えられていないという事実に基づいています。ライセンスでは明確ではありません。
動的リンクは不明確で、おそらく70/30は違反していると言っています。パイプまたはリモートプロシージャコールを使用してプログラムを呼び出すことは、おそらく同じことですが、おそらく30/70は違反しません。 COM経由の呼び出し、またはJava Jarの使用)は完全に不明確です。
基本的に、疑いがあり、弁護士が嫌いな場合は、GPLを避けてください。