我可以在商业环境中使用GPL软件二进制文件吗?

cod*_*joe 27 licensing gpl haproxy

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

它将嵌入更大的分布式系统中.所以我们卖的是整个系统.在另一个站点上,我们需要再次安装负载均衡器,并可能与其他东西混合使用.我认为这是"分配"一词让我感到困惑.

nmi*_*els 19

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

在这种意义上的分配意味着给予(或销售)客户.如果您只是在公司内部使用分布式(多节点)系统,那么您完全清楚,正如您所说.

顺便提一下,GPLv2(此处v3)编写为由非律师阅读.我强烈建议你看一下.如果英语不是您的第一语言,则可以使用多种语言的翻译.

  • 只是想要额外澄清"它不会感染"的声明....这正是GPL许可证旨在做的事情..是病毒式的.我理解你可以通过说"除非你链接到它"来相当清楚地说明它可以感染的术语但是我希望人们理解除非你做任何事情但是删除基于GPL的可执行文件或仅由GPL可执行文件使用的共享库,是,基本上包括一个单独的,独立的GPL应用程序......任何其他GPL二进制文件的使用都会感染您自己的专有代码. (5认同)
  • @code:如果您分发GPL许可的二进制文件,则必须遵守GPL.对于任何许可证都是如此.在这种情况下,遵守GPL意味着根据GPLv3第6节和GPLv2第3节分发GPL许可程序的未修改源. (3认同)

Wil*_*eau 7

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

如果您对这些要点有疑问,请记住,GPL的目标是确保如果您消失,您的客户将不会留下他们无法解决的错误软件.所以你必须提供它们意味着不依赖于你的可用性.当你牢记这一点时,做出正确的选择要容易得多.如果你试图让这成为可能,那么诚信总是很重要,但因为你没有考虑过一切而失败.

此外,请记住,无论何时开始分发软件,您的一些客户都会要求进行具体更改以更好地满足他们的需求.起初你会拒绝,但在失去一些想要完全相同的小功能的客户之后,你会接受.然后你就会修补代码而感到尴尬,因为你无法将客户指向原始网站来获取代码.

有两种方法: - 补丁是一般用途,你不想维护它.只需提交它以包含在主流中.如果它被接受,您可以更新您的版本,不再需要维护补丁; - 补丁太多客户特定而且没有被接受的机会,那么您需要将其与构建说明一起提供给您的客户,以便客户仍然可以获取正式版本,修补并构建它.

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

在任何情况下,如果您发现错误并认为您已修复它,则强烈建议您将其提交以供审核,因为解决后果而不是原因是很常见的.


Wil*_*eau 5

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