0

我知道堆栈溢出中有类似的问题,但它们并不具体。

我所说的商业意思是该软件不是免费的。

无论如何,这是我的场景假设我正在创建一个包含 10,000 行代码的软件,我想使用readelf.exe它是 GNU GENERAL PUBLIC LICENSE 下的一个程序,可以从这里下载。如果我包含 ,我仍然可以为软件收费readelf.exe吗?我知道我必须提供 readelf.exe 的源代码,但我还必须提供我的主要软件的源代码吗?

4

2 回答 2

3

对于你的第一个问题

如果我包含 readelf.exe,我仍然可以对该软件收费吗?

是的,GPL 允许每个人都这样做。出售副本的权利是自由软件定义的一部分。除一种特殊情况外,您可以收取的价格没有限制。(一个例外是提供必须随附仅二进制版本的源代码的书面报价。)

对于你的第二个问题

我还必须提供我的主要软件的源代码吗?

GPL 不要求您发布修改后的版本或其任何部分。您可以自由地进行修改并私下使用它们,而无需发布它们。这也适用于组织(包括公司);组织可以制作修改后的版本并在内部使用,而无需在组织外部发布。

但是,如果您以某种方式向公众发布修改后的版本,则 GPL 要求您根据 GPL 将修改后的源代码提供给程序的用户。

因此,GPL 允许以某些方式发布修改后的程序,而不是其他方式;但是是否发布它取决于您的决定。

概括

  1. 如果您只是分发 readelf.exe,那么您不必在相同的许可证下发布您的代码。
  2. 如果您已链接到 readelf.exe 或对其进行了修改,那么您必须将您的更改发布回公众。
于 2012-06-15T20:33:38.197 回答
2

如果您只是使用可执行文件,则不必发布自己的源代码,只需发布​​构建 readelf 所需的源代码(如您所说)。

这将被视为GPLv2下的单纯聚合(mingw 发行版使用的许可证):

“此外,仅将不基于本程序的其他作品与本程序(或基于本程序的作品)聚合在存储或分发介质的卷上,并不会将其他作品纳入本许可的范围。”

正如 Shane 所说,您始终可以销售 GPL(或任何免费/开源)软件。

我建议您尝试使用更好的术语。Red Hat 是一家每年销售 10 亿美元商业开源产品的公司,这只是一个例子。使用“非免费”或“专有”而不是“商业”。

伊纳尔。廷拉。

于 2012-06-15T20:26:43.060 回答