大概是这样的,最新搞了一个开源项目 https://v2ex.com/t/758460 由于前端能力有限,从另外一个开源项目里扒了大部分 CSS,由于 Plausible 是 AGPL v3 协议,作者发来邮件国外服务器需要我把项目从 Apache 2.0 也改成 AGPL v3,否则要采取法律途径...
吓得我赶紧连夜搞了个 PR
https://github.com/HyperCable/hypercable/pull/28
有没有熟悉开源协议的朋友,请教一下还需要注意什么?我可以移除这部分依赖之后再改回 Apache 2.0 或者 MIT 吗?
如果你的代码没有其他人的 pr,那么你可以随时决定你写的部分的许可证(仅仅是你写的部分(在不违反各项依赖的许可证的情况下
我说楼主...做错事就要认错好不好
GPL 协议最主要的几个原则:
确保软件自始至终都以开放源代码形式发布,保护开发成果不被窃取用作商业发售。任何一套软 件,只要其中使用了受 GPL 协议保护的第三方软件的源程序,并向非开发人员发布时,软件本身也就自动成为受 GPL 保护并且约束的实体。也就是说,此时它必须开放源代码。
AGPL = GPL + 一条限制
一条限制:如果使用 AGPL 许可的软件与用户通过网络进行交互,也需要提供源代码给用户,所有的修改也要给用户。
所以既然对方是 AGPL,那么你使用了对方的代码,你的项目也已经上线了,那自然就变成 AGPL 协议,
按照那个发邮件的人的意思,AGPL 是扩散的吧,用了的话整个项目必须是 AGPL 。你说的像是 LGPL 协议。
如果你依然坚持用 Apache 2.0 那么就不要用别人的代码,自己写,或者使用兼容协议的组件
把来自 plausible 的代码彻底清除之后就跟他们没关系了,只要代码全是自己写的,并且不违反依赖库的 license,就可以自己随意定 license 。license 是用来限制别人的,自己可以随意处置自己写的代码(当然,不能违反依赖项目的 license)。
Disclaimer: IANAL
css 不是人家创造出来的??
奇怪,这语气显然是不把前端当代码
同意你的说法哇 所以我现在按照他的指示改了 但不清楚还有什么需要注意的地方
你说的对!
就是说 license 是以文件为单位的吗 不是整个项目为单位?
其实 license 可以比文件更细,但是 AGPL 要求 derivative work 全部 AGPL,这时候整个项目都可以看作 derivative work,所以项目全部需要 AGPL 。
可怕
另外一个开源项目是哪个项目 我挺喜欢这个 UI 的 求 Github 地址
看了一下 Plausible 之前用的是 MIT 协议,是不是用那时候的版本的代码就没问题了?
还有一个问题,难道说用了 AGPL 协议统计服务的网站也必须遵守 AGPL 么?
https://github.com/plausible/analytics
我觉得可以认为统计服务和网站本身的关系只是 mere aggregation,不构成 derivative work,见 https://opensource.stackexchange.com/a/4500 ; Again, IANAL.
我想知道原作者是怎么发现的