我是否可以一起分发:
- 一个 GPL 程序及其源代码
- 没有源代码的非自由库
- 一个初始化脚本,它 LD_PRELOADS 库到 GPL 程序
GPL 程序在没有非自由库的情况下也能正常工作。这个非自由库提供与程序二进制链接到的自由库相同的接口。
我是否可以将这些东西一起分发,或者这会违反 GPL 吗?
我是否可以一起分发:
GPL 程序在没有非自由库的情况下也能正常工作。这个非自由库提供与程序二进制链接到的自由库相同的接口。
我是否可以将这些东西一起分发,或者这会违反 GPL 吗?
更重要的问题是:“您的非自由库是否可以在没有 GPL 程序的情况下工作?” 如果答案是否定的,或者不是真的。如果不是字面意思,那么您可能违反了 GPL 的精神。
如果您使用 LD_PRELOADS 技巧来改变 GPL 程序的行为,同时保持您的修改是非免费的,那么我会说您的库可能被视为派生作品并被 GPL 涵盖。
另一方面,如果非免费库与 GPL 应用程序的功能或目的完全无关,那么您可能没问题。例如,您的库是更高效的 malloc 实现,并且您希望 GPLed 应用程序使用它而不是操作系统随附的版本。
最后一点,如果您打算为您的非免费应用程序收费,您应该有能力聘请律师,看看他们怎么说。如果您请不起律师,请为您的应用收取更多费用或将其设为 GPL。