想咨询一个关于开源软件 GPL-2.0 License 的使用问题。

2022-03-03 09:14:10 +08:00
 ren2881971
如果在自研产品中只是调用 GPL-2.0 开源软件(本地部署)提供的 Web API ,并没有改动开源软件的源代码,那么自研产品也需要遵守 GPL 协议公开源代码么?
1762 次点击
所在节点    开源软件
7 条回复
sean10
2022-03-03 09:31:49 +08:00
不用. 感染条件是同一进程空间. 存在进程间隔离就不用.
ren2881971
2022-03-03 09:46:08 +08:00
@sean10 这就是所说的动态链接 不需要遵循 GPL ?
mikewang
2022-03-03 10:35:50 +08:00
(不是法律上的建议)
在我理解中,使用到 GPL 软件提供的网络服务的话可以不开源,AGPL 则须开源。AGPL 的产生就是为了弥补 GPL 网络服务不开源的缺陷。
如果是本地部署的话,因为分发了使用 GPL 的软件,需要开源提供 Web API 服务的部分,调用 API 的部分(视为另一个独立的程序)则不受 GPL 感染,可以保持闭源。
使用动态链接库的话,争议更大一点,其中也有不少官司
ren2881971
2022-03-03 13:45:15 +08:00
@mikewang 我可能没表达清楚~ 我的产品是直接调用开源软件提供的 web API 服务,然后调用开源软件 web API 的代码跟产品是集成在一体的,并没有再抽象出一个独立调用 API 服务的应用
mikewang
2022-03-03 15:36:21 +08:00
@ren2881971
存在进程隔离就不用开源(例如 web.exe 是开源软件进程,program.exe 是您产品的另一个进程,是分开的)
那么您只需要在声明中说明使用了 web.exe 这一开源软件,不需要开源 program.exe 。
(当然,program.exe 中调用 API 的代码也不必开源)
sean10
2022-03-03 16:19:11 +08:00
@ren2881971 动态链接,也是同一进程空间的
ren2881971
2022-03-03 17:18:49 +08:00
@mikewang 感谢,明白了,解释的十分清晰,受教了!

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

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

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

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

© 2021 V2EX