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

2018-06-22 23:11:49 +08:00
 leoleoasd

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

2869 次点击
所在节点    程序员
13 条回复
matsuz
2018-06-22 23:20:40 +08:00
只要分发出来没有 gpl 代码就可以,开发环境不影响。举个例子,gcc 是 gpl 软件,你使用 gcc 编译的代码不强制是 gpl
NicholasWangC
2018-06-22 23:22:33 +08:00
不要打包分发时附带 node.js 就行了
leoleoasd
2018-06-23 09:26:42 +08:00
@matsuz 我仔细看了看,是 electron 的一个依赖的依赖是 gplv3 的( electron-osx-sign 的依赖),但是 electron-osx-sign 本身是 bds 的。。。
意思就是说 我生产环境不依赖 gplv3 就可以把源代码不以 gplv3 开源?
leoleoasd
2018-06-23 09:31:14 +08:00
@matsuz 意思就是说 我 git 仓库里没有 gplv3 代码 但是 package.json 里有 没关系?下载下来的依赖的代码不在我仓库里?
不把 node_modules 传进仓库就没问题?
fourstring
2018-06-23 09:58:07 +08:00
#.gitignore
node_modules
leoleoasd
2018-06-23 13:17:27 +08:00
@fourstring 我之前一直都不把依赖放进主仓库里。之前被人建议这样做,一直不知道意义,现在知道了,谢谢!
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
2018-06-23 13:50:05 +08:00
@msg7086 electron-vue 官方使用了 cfonts 在调试时输出 log 到命令行。cfonts 以 gplv2 开源。如果这么理解,所有使用 electr-vue 的库都必须以 gplv2 开源?
leoleoasd
2018-06-23 14:11:28 +08:00
@msg7086 gnu 官方的协议原文中提到的一直都是“ copy,modify,convey ”,没有找到任何“ depend ”的有关说明
matsuz
2018-06-23 15:02:43 +08:00
@leoleoasd 那个依赖应该没有影响,否则 electron 是不能用 BSD 发行的
msg7086
2018-06-23 15:32:24 +08:00
@leoleoasd IANAL.
我的理解是,GPL 的作用范围是单个完整的项目 /作品。
而版权法中对于基于一个作品所做成的另一个作品,称作衍生作品 derivative work。
衍生作品中的一小部分是 GPL 的,而 GPL 作用范围是完整作品,因此整个衍生作品就都受 GPL 所限制。
一个作品是否是衍生作品,这是没有定论的,要作出判断的时候,一般由当庭法官来判断。

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

Again IANAL.
oaix
2018-06-23 19:31:28 +08:00
如果你只是把你的应用放在服务器上跑提供在线服务,而不分发软件,GPL 是不能约束你的(Web Service Loophole)。
GPL 有个衍生版叫做 AGPL,它修复了这个漏洞。
leoleoasd
2018-06-23 21:59:11 +08:00
@msg7086 十分感谢!

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

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

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

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

© 2021 V2EX