V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
leoleoasd
V2EX  ›  程序员

NODEJS 开发的依赖是 gplv3, 但是生产的依赖没有 gplv3。我是否强制被要求使用 gplv3 协议开源?

  •  
  •   leoleoasd ·
    leoleoasd · 2018-06-22 23:11:49 +08:00 · 2886 次点击
    这是一个创建于 2378 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题 如果我的项目被强制要求使用 gplv3 有什么办法可以规避?

    13 条回复    2018-06-23 21:59:11 +08:00
    matsuz
        1
    matsuz  
       2018-06-22 23:20:40 +08:00 via iPad   ❤️ 1
    只要分发出来没有 gpl 代码就可以,开发环境不影响。举个例子,gcc 是 gpl 软件,你使用 gcc 编译的代码不强制是 gpl
    NicholasWangC
        2
    NicholasWangC  
       2018-06-22 23:22:33 +08:00 via Android
    不要打包分发时附带 node.js 就行了
    leoleoasd
        3
    leoleoasd  
    OP
       2018-06-23 09:26:42 +08:00
    @matsuz 我仔细看了看,是 electron 的一个依赖的依赖是 gplv3 的( electron-osx-sign 的依赖),但是 electron-osx-sign 本身是 bds 的。。。
    意思就是说 我生产环境不依赖 gplv3 就可以把源代码不以 gplv3 开源?
    leoleoasd
        4
    leoleoasd  
    OP
       2018-06-23 09:31:14 +08:00
    @matsuz 意思就是说 我 git 仓库里没有 gplv3 代码 但是 package.json 里有 没关系?下载下来的依赖的代码不在我仓库里?
    不把 node_modules 传进仓库就没问题?
    fourstring
        5
    fourstring  
       2018-06-23 09:58:07 +08:00
    #.gitignore
    node_modules
    leoleoasd
        6
    leoleoasd  
    OP
       2018-06-23 13:17:27 +08:00
    @fourstring 我之前一直都不把依赖放进主仓库里。之前被人建议这样做,一直不知道意义,现在知道了,谢谢!
    msg7086
        7
    msg7086  
       2018-06-23 13:21:32 +08:00
    如果你的程序依赖于一个 GPL 或者 AGPL 的项目,那么不管你是否上传 node_modules,你都违反了许可证。
    GPL 关心的是你的程序是否依赖于这个项目,以及是否和这个项目的代码一起运行。
    如果你的回答是「是」,那么不遵守 GPL 即是违反版权法了。

    反过来说,如果这个 GPL 库整个从世界上消失了,你的程序是否还能正常运行?如果你的回答是「不能」的话。

    可以看看我随便搜到的这片博文: https://samgentle.com/posts/2015-03-31-illegal-npm-modules
    leoleoasd
        8
    leoleoasd  
    OP
       2018-06-23 13:50:05 +08:00
    @msg7086 electron-vue 官方使用了 cfonts 在调试时输出 log 到命令行。cfonts 以 gplv2 开源。如果这么理解,所有使用 electr-vue 的库都必须以 gplv2 开源?
    leoleoasd
        9
    leoleoasd  
    OP
       2018-06-23 14:11:28 +08:00
    @msg7086 gnu 官方的协议原文中提到的一直都是“ copy,modify,convey ”,没有找到任何“ depend ”的有关说明
    matsuz
        10
    matsuz  
       2018-06-23 15:02:43 +08:00 via iPhone
    @leoleoasd 那个依赖应该没有影响,否则 electron 是不能用 BSD 发行的
    msg7086
        11
    msg7086  
       2018-06-23 15:32:24 +08:00   ❤️ 1
    @leoleoasd IANAL.
    我的理解是,GPL 的作用范围是单个完整的项目 /作品。
    而版权法中对于基于一个作品所做成的另一个作品,称作衍生作品 derivative work。
    衍生作品中的一小部分是 GPL 的,而 GPL 作用范围是完整作品,因此整个衍生作品就都受 GPL 所限制。
    一个作品是否是衍生作品,这是没有定论的,要作出判断的时候,一般由当庭法官来判断。

    如果 electron-vue 在没有 cfonts 的时候也能正常工作,那么一般认为前者并不是由后者衍生出来的作品,也即前者不受后者的许可证所限制,那么就没有版权问题。

    Again IANAL.
    oaix
        12
    oaix  
       2018-06-23 19:31:28 +08:00
    如果你只是把你的应用放在服务器上跑提供在线服务,而不分发软件,GPL 是不能约束你的(Web Service Loophole)。
    GPL 有个衍生版叫做 AGPL,它修复了这个漏洞。
    leoleoasd
        13
    leoleoasd  
    OP
       2018-06-23 21:59:11 +08:00
    @msg7086 十分感谢!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1635 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 16:49 · PVG 00:49 · LAX 08:49 · JFK 11:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.