我担心在商业生产环境中使用 GPL v2 和 GPL v3 许可软件。我想使用 HaProxy 作为负载平衡解决方案。对左复制安全吗?我不会修改源代码中的任何内容,并且系统的架构需要使用负载平衡器。
它将嵌入到一个更大的分布式系统中。所以我们卖的是整个系统。在另一个站点上,我们将需要再次安装负载平衡器,并且可以与其他东西混合。我认为这是让我感到困惑的“分发”术语。
Haproxy 是 GPLv2,因此您可以以二进制形式重新分发它,前提是您向最终用户提供足够的信息,了解从何处获取源以重建它。您还需要告知他们构建选项/环境,因为没有它们,他们可能无法获得相同的功能。
当您对这些点有疑问时,请记住 GPL 的目标是确保如果您消失,您的客户不会留下他们无法修复的错误软件。所以你只需要提供他们的手段,而不是依赖于你的可用性。当您牢记这一点时,做出正确的选择会容易得多。如果您尝试使这成为可能,但由于您没有考虑到所有事情而失败,那么善意总是很重要。
另外,请记住,每当您开始分发软件时,您的一些客户会要求进行特定更改以更好地满足他们的需求。起初你会拒绝,但在失去了一些都想要完全相同的次要功能的客户之后,你会接受。然后,您将修补代码并感到尴尬,因为您将无法将客户指向原始站点以获取代码。
有两种方法: - 补丁是通用的,你不想维护它。只需将其提交以纳入主流。如果被接受,您可以更新您的版本,不再需要维护补丁;- 补丁太多是客户特定的,没有机会被接受,那么您需要将其与构建说明一起提供给您的客户,以便客户仍然可以获取正式版本,对其进行修补和构建。
一种可能的典型补丁是删除文档中的一些名称/url/版本等,以使其看起来更干净并更好地与您的解决方案集成。如果您提供删除这些信息的补丁,则删除这些信息是正确的。这样就没有混淆,您的更改是透明的。
在任何情况下,如果您发现一个错误并认为您已修复它,强烈建议您提交它以供审核,因为修复结果而不是原因是很常见的。
关于您的问题标题“我可以在商业环境中使用 GPL 软件二进制文件吗?”的另一点 : 是的,你可以,甚至鼓励你这样做。我们在商业环境中拥有的免费软件越多,我们在生产环境中解决问题的麻烦就越少!
如果您不修改源代码并使用二进制文件,那么您应该完全清楚。