28

我担心在商业生产环境中使用 GPL v2 和 GPL v3 许可软件。我想使用 HaProxy 作为负载平衡解决方案。对左复制安全吗?我不会修改源代码中的任何内容,并且系统的架构需要使用负载平衡器。

它将嵌入到一个更大的分布式系统中。所以我们卖的是整个系统。在另一个站点上,我们将需要再次安装负载平衡器,并且可以与其他东西混合。我认为这是让我感到困惑的“分发”术语。

4

4 回答 4

19

如果您将(未经修改的)二进制文件与您发布的产品一起分发,那么您需要与它们一起分发源代码,或者为人们提供一种请求源代码的方式。这不是您可以忽略 GPL 的情况,但这对您来说不会是一个真正的问题。GPL 不会感染您的专有软件,除非您链接到它。

从这个意义上说,分销意味着向客户提供(或销售)。如 yan 所说,如果您只是在公司内部使用分布式(多节点)系统,那么您就完全清楚了。

顺便说一句,GPLv2这里是 v3)是为非律师阅读而编写的。我强烈建议你看看它。如果英语不是您的第一语言,我们可以提供多种语言的翻译

于 2011-03-25T20:06:48.943 回答
7

Haproxy 是 GPLv2,因此您可以以二进制形式重新分发它,前提是您向最终用户提供足够的信息,了解从何处获取源以重建它。您还需要告知他们构建选项/环境,因为没有它们,他们可能无法获得相同的功能。

当您对这些点有疑问时,请记住 GPL 的目标是确保如果您消失,您的客户不会留下他们无法修复的错误软件。所以你只需要提供他们的手段,而不是依赖于你的可用性。当您牢记这一点时,做出正确的选择会容易得多。如果您尝试使这成为可能,但由于您没有考虑到所有事情而失败,那么善意总是很重要。

另外,请记住,每当您开始分发软件时,您的一些客户会要求进行特定更改以更好地满足他们的需求。起初你会拒绝,但在失去了一些都想要完全相同的次要功能的客户之后,你会接受。然后,您将修补代码并感到尴尬,因为您将无法将客户指向原始站点以获取代码。

有两种方法: - 补丁是通用的,你不想维护它。只需将其提交以纳入主流。如果被接受,您可以更新您的版本,不再需要维护补丁;- 补丁太多是客户特定的,没有机会被接受,那么您需要将其与构建说明一起提供给您的客户,以便客户仍然可以获取正式版本,对其进行修补和构建。

一种可能的典型补丁是删除文档中的一些名称/url/版本等,以使其看起来更干净并更好地与您的解决方案集成。如果您提供删除这些信息的补丁,则删除这些信息是正确的。这样就没有混淆,您的更改是透明的。

在任何情况下,如果您发现一个错误并认为您已修复它,强烈建议您提交它以供审核,因为修复结果而不是原因是很常见的。

于 2011-03-26T08:46:12.633 回答
5

关于您的问题标题“我可以在商业环境中使用 GPL 软件二进制文件吗?”的另一点 : 是的,你可以,甚至鼓励你这样做。我们在商业环境中拥有的免费软件越多,我们在生产环境中解决问题的麻烦就越少!

于 2011-03-26T08:48:02.023 回答
4

如果您不修改源代码并使用二进制文件,那么您应该完全清楚。

于 2011-03-25T20:01:58.767 回答