web-dev-qa-db-ja.com

商用環境でGPLソフトウェアバイナリを使用できますか?

GPL v2およびGPL v3ライセンスソフトウェアを商用の実稼働環境で使用することに懸念があります。負荷分散ソリューションとしてHaProxyを使用したいと思います。コピーレフトに対して安全ですか?私はソースコードから何も変更せず、システムのアーキテクチャーにはロードバランサーを使用する必要があります。

大規模な分散システムに組み込まれます。私たちが販売しているのはシステム全体です。別のサイトでは、ロードバランサーを再度インストールする必要があり、他のものと混在する可能性があります。私を混乱させるのは、「分配」という用語だと思います。

27
code-gijoe

出荷する製品と共に(変更されていない)バイナリを配布する場合は、それらと共にソースを配布するか、人々がソースを要求する方法を提供する必要があります。これはGPLを無視できる状況ではありませんが、実際には問題にはなりません。リンクしない限り、GPLはプロプライエタリソフトウェアに感染しません。

この意味での配布とは、顧客への提供(または販売)を意味します。社内で分散(マルチノード)システムを使用しているだけであれば、yanが言っているように、完全にクリアな状態です。

ちなみに、 GPLv2v3 here )は、非弁護士が読むために書かれています。ぜひご覧になってみてください。英語が第一言語でない場合、 translations は多くの言語で利用できます。

19
nmichaels

HaproxyはGPLv2であるため、ソースをフェッチして再構築する場所についてエンドユーザーに十分な情報を提供すれば、バイナリ形式で再配布できます。また、ビルドオプション/環境についても通知する必要があります。これらがないと、同じ機能を利用できない可能性があるためです。

これらの点に疑問がある場合、GPLの目標は、あなたが消えても、修正できないバグのあるソフトウェアを顧客に残さないようにすることです。したがって、それらを提供する必要があるのは、可用性に依存しないことです。それを心に留めておけば、正しい選択をする方がはるかに簡単です。そして、これを可能にしようとするが、すべてについて考えていないので失敗した場合、誠意は常に重要です。

また、ソフトウェアの配布を開始するときはいつでも、一部の顧客はニーズをより適切にカバーするために特定の変更を要求することに注意してください。最初は拒否しますが、まったく同じマイナー機能をすべて望んでいる数人の顧客を失った後は、受け入れます。次に、コードにパッチを適用し、顧客を元のサイトに誘導してコードを取得することができなくなるため、恥ずかしくなります。

これには2つの方法があります。-パッチは一般的に使用されており、維持したくない。主流に含めるために提出してください。承認された場合は、バージョンを更新でき、パッチを維持する必要はありません。 -パッチは顧客固有であり、受け入れられる可能性がないため、顧客が公式リリースを入手し、パッチを適用してビルドできるように、ビルド手順とともにパッチを顧客に提供する必要があります。

考えられる典型的なパッチの1つは、ドキュメント内の一部の名前/ URL /バージョンなどを削除して、より見やすく、ソリューションとよりよく統合できるようにすることです。これらの情報を削除するパッチを提供すれば、これらの情報の削除は適切です。これにより、難読化がなくなり、変更が透過的になります。

いずれにせよ、バグを見つけて修正したと思われる場合は、原因ではなく結果を修正するのが一般的であるため、レビューのために提出することを強くお勧めします。

7
Willy Tarreau

「商用環境でGPLソフトウェアバイナリを使用できますか?」という質問のタイトルに関するもう1つのポイント:はい、できます。そうすることをお勧めします。商用環境で使用できるフリーソフトウェアが多いほど、本番環境で問題を修正する手間が少なくなります。

5
Willy Tarreau

ソースを変更せず、バイナリを使用している場合は、完全に平文である必要があります。

4
yan