依赖 GPL 协议组件的程序一定会被 GPL 传染吗?

2022-05-19 20:37:06 +08:00
 ksedz

查了下 GPL 的解释:

" 如果两个模块都包含在同一个可执行文件里,那么它们一定是一个程序的组件。"

那么作为模块集成、使用插件机制且交互密切都被视为同一个程序,会被 GPL 传染。
用这个标准衡量,自己写过的程序无一幸免,都受 GPL 约束。。。
还是我的理解不对?

2682 次点击
所在节点    程序员
17 条回复
ysc3839
2022-05-19 20:42:27 +08:00
建议说一下具体情况
ly841000
2022-05-19 20:43:01 +08:00
是的。。。所以要避免使用 GPL 代码
ksedz
2022-05-19 20:52:31 +08:00
@ysc3839 公司要求统计代码里面的 GPL 风险问题,就调研了下 “依赖树中有 GPL 组件” 和 “MySQL 插件” 两种情况。发现都会被 GPL 传染。

就感慨下,现代语言这么用第三方包,还有递归依赖,谁的依赖树里面还没个 GPL 了(比如 mysql connector)。

以后做开源应该加个标签 [No GPL] 做卖点 🐶
ysc3839
2022-05-19 21:15:53 +08:00
learningman
2022-05-19 21:31:04 +08:00
你用 mysql 的不是 server 吗,那又不影响,你没有把 server 的二进制发给你的用户。AGPL 才影响。
nightwitch
2022-05-20 00:28:17 +08:00
GPL 只对客户端软件有威胁。
服务端可以无视 GPL
kwanzaa
2022-05-20 02:59:00 +08:00
顺势问个问题,GPL 依赖了非 GPL 的怎么说?
Puteulanus
2022-05-20 03:11:02 +08:00
说起包管理,那前端算不算用了的同时自己也开源了,狗头
Trim21
2022-05-20 03:21:17 +08:00
感觉你的理解不太对吧…你给 Photoshop 写个 GPL 的插件,打包成一个可执行文件,也传染不了 Adobe…
ysc3839
2022-05-20 03:34:23 +08:00
@learningman 楼主说的是 MySQL Connector ,是在自己程序里连接 MySQL 数据库用的库
gam2046
2022-05-20 08:15:41 +08:00
mysql 是有收费版本的,会不会商业版会提供不同的 mysql connector ,以此来规避这种问题。不给钱,想用开源版本就 GPL 。
GPLer
2022-05-20 08:41:23 +08:00
明显不会,安卓就是一个例子。
如果 GPL 真的好使,世界上主流的开源协议就是 GPL 了,然而事实并不是这样。
hatsuyuki
2022-05-20 09:08:44 +08:00
@gam2046 付了钱就可以用商业协议了,终究是版权方说了算
gam2046
2022-05-20 09:18:26 +08:00
@hatsuyuki #13 这个我不确定,只是猜测,商业版本是不是会有不同。

但假如是这样也是合理的,版权方如果说了不算,那么就没有人愿意开源了。假如包括我在内的开发者,如果对于自己开发出来的产品,没有决定权,那么我当然就选择不开源。
ksedz
2022-05-20 11:24:17 +08:00
@ysc3839 @learningman @nightwitch 因为服务不只要平时 ToC 用,还可能 ToB 打包出售 🤷‍♂️,涉及的后台服务、前端程序、底层的 libxxx 都不少,需要逐个排查 GPL 的问题,感觉不是很乐观,包括 MySQL 插件这个问题目前没有好的解决办法。

@Trim21 我发的链接里有对插件的说明,如果插件和宿主程序的交互复杂的数据结构、相互调用,那么会被认为是同一个程序。不过显然第三方 GPL 插件不会影响到 Adobe Photoshop 发行版的协议,但是确实会影响重新打包后的文件协议。

@gam2046 MySQL 的商业授权版本包括 client 授权
> Oracle provides its MySQL database server and MySQL Client Libraries under a dual license model designed to meet the development and distribution needs of both commercial distributors (such as OEMs, ISVs and VARs) and open source projects.
jones2000
2022-05-20 11:26:58 +08:00
出来混总是要还的。
yazinnnn
2022-05-20 15:16:21 +08:00
你们这是魔改 mysql connector 了?还是把链接数据库作为服务卖了?

只是当作组件使用应该没事吧

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

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

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

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

© 2021 V2EX