クローズドソースの商用ソフトウェア(CSCS)は system(3) GPLアプリケーションを呼び出すだけです。
ユーザーマシンはCSCSを実行し、ユーザーがコマンドラインを使用してまったく同じアプリケーションを呼び出すのとまったく同じ方法で、これらのGPLアプリケーションをリアルタイムで呼び出します。そのようなアクションのログでさえ提供することができ、ユーザーはこれらのアクションを手動で複製できます。
Javaのようになります:Runtime.getRuntime().exec("echo Hello");
Cでは、次のようになります:system("echo Hello");
ポイントは、CSCSがGPLアプリケーションを呼び出してリアルタイム出力を生成するだけであり、事前に定義された方法でハードコーディングされているため、CSCSはGPLアプリに依存して機能するということです。
GPLアプリケーションはライブラリではありません。通常のコマンドラインアプリケーションです。
そして、CSCSと一緒にパッケージ化されたGPLアプリケーション(ソースも)も配布しません。 OSにそのようなGPLアプリが既にインストールされているかどうかに依存します。また、CSCSは、少なくとも開発時に使用された(またはそれ以降の)GPLアプリケーションのバージョンで実行できるため、実行する特定のGPLアプリのバージョンには依存しません。
1)CSCSはこの唯一の特定の状況でクローズドソースを維持できますか?
2)または、CSCSがGPLアプリケーションから静的に生成された出力のみを使用し、クローズドソースを維持したい場合は、リアルタイムで使用できないようにする必要がありますか?
3)または、ls -l $1
などのスクリプトで構成されるLGPLソフトウェアを作成することもできます。そのパラメーターは、このCSCSを含むすべてのアプリケーションによって提供される動的データです。この場合、これらのスクリプトのすべてのロジックは公開され、誰でも再利用できるため、独自仕様ではありません。したがって、そのような「プロトコル」はすべてLGPLになります。それはできますか?または、これは単にGPLソフトウェアの間接的な使用のようなものに該当し、GPLはそれを使用するすべてのアプリケーションに感染します(このLGPLソフトウェアを含み、GPLにすることを強制します)?
回答を確認する抜粋もよろしくお願いします!
PS .:私はこれを読みました 商用アプリケーションでGPLソフトウェアを使用できますか 、そしてそれは私の特定の質問に答えていないようです。
そして、私のソフトウェアでのあらゆる種類のリアルタイムGPLアプリケーションの使用を検討する前に、これを知る必要があります。
リンク: https://softwareengineering.stackexchange.com/a/161938/11261
これをリンクすることを回避できませんでした: https://meta.stackexchange.com/a/91116/222324
別のリンク: https://softwareengineering.stackexchange.com/a/211357/11261
Obs .:(コメントされたすべてのヒントと回答を考慮してから2日後)これらには回答が含まれる場合があります。
A)この質問自体は実際には "GPLから派生した作業とは何ですか?" "ネットワーク化されたシステム"セクションを検討することになると思います。
B) GPL FAQ 「パイプ、ソケット、およびコマンドライン引数は通信メカニズムです」の「単なる集約」を参照してください。
PS.2:最後の免責事項と同様に、ここにいるすべての人は弁護士ではないようであり、この行ですべて正しく行っても、ライセンスの解釈が確かであっても、予期しないことが発生する可能性があります。 https://softwareengineering.stackexchange.com/a/158925/11261
この状況はGNU GPL FAQのセクション「 GPLでカバーされたソフトウェアを独自のシステムに組み込みたいのですが、できますか? 」でカバーされています。)== 」
多くの場合、GPLで保護されたソフトウェアを独自のシステムと一緒に配布できます。これを有効に行うには、フリープログラムと非フリープログラムが十分な長さで通信し、それらが効果的に単一のプログラムになるような方法で組み合わされていないことを確認する必要があります。
これとGPLでカバーされたソフトウェアの「組み込み」の違いは、部分的には実質の問題であり、部分的には形式です。実質的な部分は次のとおりです。2つのプログラムが結合されて1つのプログラムの2つの部分になる場合、それらを2つの別個のプログラムとして扱うことはできません。したがって、GPLはすべてをカバーする必要があります。
コンパイラとカーネルのように、またはエディタとシェルのように、2つのプログラムが適切に分離されている場合、それらを2つの別個のプログラムとして扱うことができますが、適切に行う必要があります。問題は単に形式の1つです。何をしているのかをどのように説明するかです。なぜこれを気にするのですか?コレクション内のGPL対象ソフトウェアの無料のステータスをユーザーが明確に理解できるようにするためです。
そして、CSCSと一緒にパッケージ化されたGPLアプリケーション(そのソースも)を配布するつもりはありません。
著作権は、だれがそれを使用することを許可されているのではなく、だれが配布することを許可されているかを制御します。 GPLアプリケーションを配布しない場合、著作権に強く依存していても、著作権を侵害することはできません。
あなたのユーザーは、あなたが使用するアプリケーションを入手した条件を侵害する可能性がありますが、GPLにはそのような条項は含まれていません。