偷了点开源代码的 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 吗?

16826 次点击
所在节点    程序员
91 条回复
dc25b
2021-03-09 20:56:12 +08:00
我还是想给楼主解决问题的态度点个赞,比置之不理什么的强多了。
maqingxi
2021-03-09 21:02:53 +08:00
要开发个项目真是不容易。
ck65
2021-03-09 22:12:58 +08:00
对面 CEO 回复很真诚啊,看了也学到点东西。
hooopo
2021-03-09 22:29:38 +08:00
@iseki 是的 更新了内容
lewinlan
2021-03-09 22:31:58 +08:00
不把 css 当代码,这可不就在说我吗 X-)
baobao1270
2021-03-09 22:44:51 +08:00
看来搞开源之前阅读相关科普真的非常重要

我第一次用 GitHub 的时候,就去学习了各种 License 的区别,也知道了 GPL 的扩散性
huangqihong
2021-03-10 08:38:23 +08:00
我想到了腾讯了
encro
2021-03-10 08:54:28 +08:00
应用第三方,最好还是 MIT 吧。
一般来说商业公司选择 AGPL+另外一个商业协议是开源的比较好选择。
FaiChou
2021-03-10 09:15:26 +08:00
我更好奇他是如何发现代码被 copy 了的? 有什么途径吗? 我之前遇到过 https://www.v2ex.com/t/664883#reply0
Felldeadbird
2021-03-10 09:34:38 +08:00
既然对方找上门,自己确实用了人家的代码,要么回滚库,要么按照 AGPL 执行。
joesonw
2021-03-10 10:03:02 +08:00
@iseki 全部移除之后的那个 commit 开始可以是自己的 license. 之前的部分还是是 AGPL.
richardwong
2021-03-10 10:08:52 +08:00
@Greatshu 那你很勇哦
no1xsyzy
2021-03-10 10:44:56 +08:00
@iseki @joesonw 操作上是可以 git filter-branch (这时候谁不用 BFG ?)之后 force push 的,之前的版本仍然可以被 relicense,当前快照可以以 AGPL 永久使用的原因是 OP 简单地替换了 License 。OP 的想法是 Apache 的情况下其实没多大差异,反正 Apache 授权代码可以简单地合并进 GPLv3/LGPL/AGPL 授权代码,但合并结果须以后者相同授权发布。

@Felldeadbird 不一定回滚库,也可以 filter-branch

@FaiChou 外形上就非常相似了。

@baobao1270 @iseki 话说我不认为 GPL 侧有传染性,而是专有许可证有传染性。GPL 侧是 “无菌环境” 限定。
简单的类比:两个专有许可证放到一起会发生的情况跟两个病毒放在一起会发生的情况一样完全不可预料。而 GPL 就很简单 —— 你必须无菌,并且合并时符合更高要求的无菌环境。
jaylee4869
2021-03-10 10:55:30 +08:00
让我们回顾一下践踏 GPL 的 QQ 影音: https://byvoid.com/zhs/blog/qq-player-ffmpeg-gpl/
jsjgjbzhang
2021-03-10 11:00:25 +08:00
V2 上当然怎么正义怎么来了,关了论坛当然无视咯
327013234
2021-03-10 11:02:27 +08:00
读书人那能叫偷嘛
FaiChou
2021-03-10 11:38:06 +08:00
@no1xsyzy #73 比如我开源一个前端 GPLv3 协议的项目到 github 上, 别人用 npm 安装, 我如何检测安装的项目没有遵循正确的协议? 可以在哪里添加脚本? 项目代码里还是 npm ?
hooopo
2021-03-10 11:41:34 +08:00
@FaiChou 商机来了,可以做一个检测协议兼容性的 bot
FaiChou
2021-03-10 11:44:50 +08:00
@hooopo #78 我觉得已经有这种 bot 了, 我只是不知道怎么实现的. 而且你的代码如果是 copy 的, 作者怎么知道你“抄”了他代码?
no1xsyzy
2021-03-10 12:21:04 +08:00
@FaiChou 不清楚你指的范畴是什么?
甲、有客观依据的:
1. 从许可证声明来说,package.json 里有许可证声明。
2. 从协议兼容性及合规性自动化检测来说,也可以自动地检查整个依赖系的许可证声明。
乙、无客观依据,有客观方法的:
3. 从代码文本分析上来说,有各种相似度检测。具体的相似度百分比取值是玄学,只能保证同一相似度 scheme 下,相似度更高的更可能是更相似的(注意这一表达是个贝叶斯学派的表达)。
丙、无客观方法的:
4. 从代码检查来说,似乎除了雇用(组织内或外包)观测者以外并没有很好的方法。(本案中 OP 自称是 Twitter 上宣传被看到了。)
5. 从定性上来说,具体是否算 “抄” 是法庭的事儿。

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

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

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

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

© 2021 V2EX