• 请不要在回答技术问题时复制粘贴 AI 生成的内容
ksedz
V2EX  ›  程序员

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

  •  
  •   ksedz · May 19, 2022 · 3732 views
    This topic created in 1632 days ago, the information mentioned may be changed or developed.

    查了下 GPL 的解释:

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

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

    17 replies  •  2022-05-20 15:16:21 +08:00
    ysc3839
    ysc3839
    May 19, 2022 via Android
    1
    建议说一下具体情况
    ly841000
    ly841000
    May 19, 2022
    2
    是的。。。所以要避免使用 GPL 代码
    ksedz
    ksedz
    OP
    May 19, 2022
    3
    @ysc3839 公司要求统计代码里面的 GPL 风险问题,就调研了下 “依赖树中有 GPL 组件” 和 “MySQL 插件” 两种情况。发现都会被 GPL 传染。

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

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

    但假如是这样也是合理的,版权方如果说了不算,那么就没有人愿意开源了。假如包括我在内的开发者,如果对于自己开发出来的产品,没有决定权,那么我当然就选择不开源。
    ksedz
    ksedz
    OP
    May 20, 2022
    15
    @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
    jones2000
    May 20, 2022
    16
    出来混总是要还的。
    yazinnnn
    yazinnnn
    May 20, 2022
    17
    你们这是魔改 mysql connector 了?还是把链接数据库作为服务卖了?

    只是当作组件使用应该没事吧
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1371 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 17:08 · PVG 01:08 · LAX 09:08 · JFK 12:08
    ♥ Do have faith in what you're doing.