我知道堆栈溢出中有类似的问题,但它们并不具体。
我所说的商业意思是该软件不是免费的。
无论如何,这是我的场景假设我正在创建一个包含 10,000 行代码的软件,我想使用readelf.exe
它是 GNU GENERAL PUBLIC LICENSE 下的一个程序,可以从这里下载。如果我包含 ,我仍然可以为软件收费readelf.exe
吗?我知道我必须提供 readelf.exe 的源代码,但我还必须提供我的主要软件的源代码吗?
对于你的第一个问题
如果我包含 readelf.exe,我仍然可以对该软件收费吗?
是的,GPL 允许每个人都这样做。出售副本的权利是自由软件定义的一部分。除一种特殊情况外,您可以收取的价格没有限制。(一个例外是提供必须随附仅二进制版本的源代码的书面报价。)
对于你的第二个问题
我还必须提供我的主要软件的源代码吗?
GPL 不要求您发布修改后的版本或其任何部分。您可以自由地进行修改并私下使用它们,而无需发布它们。这也适用于组织(包括公司);组织可以制作修改后的版本并在内部使用,而无需在组织外部发布。
但是,如果您以某种方式向公众发布修改后的版本,则 GPL 要求您根据 GPL 将修改后的源代码提供给程序的用户。
因此,GPL 允许以某些方式发布修改后的程序,而不是其他方式;但是是否发布它取决于您的决定。
如果您只是使用可执行文件,则不必发布自己的源代码,只需发布构建 readelf 所需的源代码(如您所说)。
这将被视为GPLv2下的单纯聚合(mingw 发行版使用的许可证):
“此外,仅将不基于本程序的其他作品与本程序(或基于本程序的作品)聚合在存储或分发介质的卷上,并不会将其他作品纳入本许可的范围。”
正如 Shane 所说,您始终可以销售 GPL(或任何免费/开源)软件。
我建议您尝试使用更好的术语。Red Hat 是一家每年销售 10 亿美元商业开源产品的公司,这只是一个例子。使用“非免费”或“专有”而不是“商业”。
伊纳尔。廷拉。