在项目中不加修改地引入 GPL 协议项目 release 的二进制文件需要遵循 GPL 协议开源吗

2020-01-31 23:13:54 +08:00
 sneezry
为一个项目贡献了一些代码来提供新的功能,但使用到了一个 GPL 协议开源项目 release 的二进制文件,那么我所贡献的这个项目需要也遵循 GPL 协议开源吗?
1656 次点击
所在节点    问与答
7 条回复
BrettD
2020-01-31 23:32:47 +08:00
如果是跨进程调用没事,如果是以动态链接库形式载入调用似乎有 GPL 传染问题
sneezry
2020-01-31 23:35:22 +08:00
@BrettD 是通过 Node 的 child_process.spawn 调用命令行进行调用的,那么这么看应该不会带来 GPL 的问题。谢谢~
westoy
2020-01-31 23:51:34 +08:00
我印象里 N 年前 CPyUG 有过类似的讨论, 结论是
如果你的程序脱离了调用这个 binary 不能跑, 那就得视为单一的程序遵循 GPL 协议
此外如果你的程序和这个 binary 涉及到共享内存、pipe 之类的数据交换, 那也得遵循 GPL 协议
sneezry
2020-02-01 00:12:45 +08:00
@westoy 好复杂啊,看项目管理者的决定吧,如果担心 GPL 的问题就只能我自己用了……
secondwtq
2020-02-01 01:03:10 +08:00
一个绕过的方法:自己写一个功能兼容但是实现很糙的版本。这样就不是“脱离了调用这个 binary 不能跑”了
secondwtq
2020-02-01 01:10:38 +08:00
不过我不记得有“脱离了调用这个 binary 不能跑”这条(或者说简单的情况并不会考虑),主要还是看调用的具体方式
qiguai2017
2020-02-01 09:18:16 +08:00
你分发给自己用户的最终程序包里面,有包含其他 GPL 的代码,那你的程序也要遵循 GPL。

如果你的应用里面没有提供 GPL 的代码,只是要求自己的用户去下载相关的 GPL 代码应用到你的本地,来让你的代码可以引用,这时候你的代码就可以不遵循 GPL 协议。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/641291

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX