偷了点开源代码的 CSS,作者发邮件来要诉诸法律

2021-03-09 12:26:53 +08:00
 hooopo

大概是这样的,最新搞了一个开源项目 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 吗?

16363 次点击
所在节点    程序员
91 条回复
iseki
2021-03-09 12:35:41 +08:00
如果你的代码没有其他人的 pr,那么你可以随时决定你写的部分的许可证(仅仅是你写的部分(在不违反各项依赖的许可证的情况下
FS1P7dJz
2021-03-09 12:40:18 +08:00
我说楼主...做错事就要认错好不好

GPL 协议最主要的几个原则:

确保软件自始至终都以开放源代码形式发布,保护开发成果不被窃取用作商业发售。任何一套软 件,只要其中使用了受 GPL 协议保护的第三方软件的源程序,并向非开发人员发布时,软件本身也就自动成为受 GPL 保护并且约束的实体。也就是说,此时它必须开放源代码。

AGPL = GPL + 一条限制
一条限制:如果使用 AGPL 许可的软件与用户通过网络进行交互,也需要提供源代码给用户,所有的修改也要给用户。

所以既然对方是 AGPL,那么你使用了对方的代码,你的项目也已经上线了,那自然就变成 AGPL 协议,
wangxn
2021-03-09 12:41:33 +08:00
@iseki 按照那个发邮件的人的意思,AGPL 是扩散的吧,用了的话整个项目必须是 AGPL 。你说的像是 LGPL 协议。
FS1P7dJz
2021-03-09 12:41:58 +08:00
如果你依然坚持用 Apache 2.0 那么就不要用别人的代码,自己写,或者使用兼容协议的组件
alan0liang
2021-03-09 12:42:10 +08:00
把来自 plausible 的代码彻底清除之后就跟他们没关系了,只要代码全是自己写的,并且不违反依赖库的 license,就可以自己随意定 license 。license 是用来限制别人的,自己可以随意处置自己写的代码(当然,不能违反依赖项目的 license)。

Disclaimer: IANAL
bagheer
2021-03-09 12:44:01 +08:00
css 不是人家创造出来的??
奇怪,这语气显然是不把前端当代码
hooopo
2021-03-09 12:44:14 +08:00
@FS1P7dJz 同意你的说法哇 所以我现在按照他的指示改了 但不清楚还有什么需要注意的地方
hooopo
2021-03-09 12:44:39 +08:00
@bagheer 你说的对!
hooopo
2021-03-09 12:45:43 +08:00
@alan0liang 就是说 license 是以文件为单位的吗 不是整个项目为单位?
alan0liang
2021-03-09 12:48:52 +08:00
@hooopo #9 其实 license 可以比文件更细,但是 AGPL 要求 derivative work 全部 AGPL,这时候整个项目都可以看作 derivative work,所以项目全部需要 AGPL 。
hooopo
2021-03-09 12:50:36 +08:00
@alan0liang 可怕
justin2018
2021-03-09 13:00:58 +08:00
@hooopo 另外一个开源项目是哪个项目 我挺喜欢这个 UI 的 求 Github 地址
wwwe
2021-03-09 13:06:55 +08:00
看了一下 Plausible 之前用的是 MIT 协议,是不是用那时候的版本的代码就没问题了?

还有一个问题,难道说用了 AGPL 协议统计服务的网站也必须遵守 AGPL 么?
hooopo
2021-03-09 13:08:08 +08:00
alan0liang
2021-03-09 13:13:13 +08:00
@wwwe 我觉得可以认为统计服务和网站本身的关系只是 mere aggregation,不构成 derivative work,见 https://opensource.stackexchange.com/a/4500 ; Again, IANAL.
anguiao
2021-03-09 13:13:20 +08:00
我想知道原作者是怎么发现的😂
hooopo
2021-03-09 13:19:01 +08:00
@anguiao 在 Twitter 上被转发了 就被看到咯
l4ever
2021-03-09 13:19:45 +08:00
css 名字改改?
leeg810312
2021-03-09 13:22:41 +08:00
移出使用的代码,有 release 包含相关代码的,删除这些 release,这样你可以仍然保持 Apache 许可
mxT52CRuqR6o5
2021-03-09 13:22:55 +08:00
@wwwe 像 c 语言这种如果使用一个库,如果用静态链接则会受 gpl 传播影响,用动态链接就不会
(按照我的理解)前端应该也是类似的道理,你直接 script 标签引 js 库不受影响,但如果用 webpack 之类的打包工具把 gpl 协议的库 inline 到最后生成的 bundle 中就会受 gpl 影响了

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

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

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

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

© 2021 V2EX