乐趣区

关于开源:开源代码被卖程序员十三控诉慕课网侵权

什么,十三又被惹到了?

“十三”是一个程序员的化名,他有个公众号叫“程序员十三”

一开始,我感觉是不是又是和去年(2020)那事差不多?

起初看了看,还不太一样,事件要稍稍奥妙一些。


图|哆啦 A 梦:伴我同行 2

去年就有过一档事

一年前,我关注到十三,是因为他的“新蜂商城”源代码被人卖,弄得满城风雨。

有人说,卖人家开源代码真是无耻;有人说,能够卖,没问题。

起初我写了一篇文章(从 MIT 协定谈契约精力)说,当然能够让人卖,你用的是 MIT 协定,MIT 是容许人家卖你代码的。

起初这事就过来了,十三痛定思痛,申请了软件著作权,并把代码改成了 GPL 协定受权。(尽管这些并不障碍他人持续卖他代码)

不承想,往年(2021)竟然又惹上了事件!

6 月初,十三的公众号连发了几篇文章,大抵就是强烈控告“慕课网”抄袭了他的代码。

十三说,要告慕课网,曾经收集好证据,曾经请好了律师。

往年事件的缘起

和去年一样,事件的发现,也是十三的敌人通知他的,说你看看,慕课网用了你的新蜂我的项目当课程呢。

课程在这里:
https://class.imooc.com/sale/java2020

我去看了看,这个课程是“java 工程师”。

我比拟感兴趣的是这个宣传语:

看着真迷人,我要是年老二十岁,我也想学。

这个课程内有多个实际我的项目,其终极我的项目是:仿“JD 生鲜”大型电商平台全流程开发。

项目名称是:“慕慕生鲜”。

不得不说,文案还是挺好的。

十三看了一下该项目标页面预览图,立即就认出了本人亲儿子的面目:

“newbee-mall 我的项目毕竟是我保护了 3 年的开源我的项目,真的是一眼就看进去了。页面是无比的相熟,同时,情绪也是无比的简单。”

其实就是从排版、布局、按钮、字体、色彩等方面一看,就晓得和本人的货色是截然不同的。

比方有一点是十三专门强调的:我的项目的前端页面的次要由黑、白、主色形成的,“慕慕生鲜”(以下简称“慕慕”)的主色号,正好和“新蜂商城”(以下简称“新蜂”)的截然不同:#1baeae,这并不是一个罕用的色彩。

具体能够看看十三这篇文章:……这又是什么骚操作?

十三为了拿到实锤,专门花了 3680 元,买了这个课,下载了慕慕的源码。

十三信心看一看,源码到底是不是抄的。

工夫信息还是要阐明一下

尽管是十三发难慕课网,然而工夫信息还是要阐明一下的。

不然,会有这么一个问题:谁抄谁还说不好呢!

尽管我没有见过剽窃者告被剽窃者的,但如果原告者拿出本人在更早工夫创作该作品的证据,那就不好告。

newbee-mall 开源我的项目于 2019 年国庆节期间开源 1。

慕课网的“Java 工程师”体系课程于 2020 年上架销售。

十三申请了著作权,获取著作权的工夫为:

我想,慕课网大略是拿不出早于这个工夫的证据吧。

源码是抄的吗?

说起来还真有点简单,不是齐全剽窃那么简略的。

1. 绝大多数的后端代码都是重写了的。

随机筛选了一些后端代码文件,认真比照了一下,尽管大框架差不多,然而代码的确不太一样。

如果让论文查重软件查一下,预计反复率不超过 5%。

2. 版权信息全副清空了

和很多齐全没有版权意识的我的项目一样,慕慕是齐全没有版权信息的。

新蜂以前也是没有的,但通过去年那预先,新蜂源码(后端局部)的头部都改成了这个样子:

尽管我对这段不太称心(应该明确说用了什么协定),但也不便多说什么,好歹在根目录还是申明了 license 是 GPL。


但慕慕就齐全没有这个意识了。

慕慕所有的代码,都是“光头”。

第一行就是代码,这是无版权意识者的通病。

3. 不过,慕慕必定是来自新蜂的。

慕慕至多是“接触”过新蜂的,也就是说,慕课网的人,至多是编写教程的某人,是看过新蜂代码的。

一个最显著的证据就是,十三竟然在慕慕外面,发现了新蜂的 logo 图片和十三的收款二维码!

下图是慕慕的代码目录构造,红色箭头批示的就是没删洁净的文件:

也即,慕慕代码里有上面这个文件:

还有这个文件:

这个可是十三的收款码,我用支付宝扫了一下,看上去是用于给十三捐献用的:

你说一个做慕课网课件的人,没事在课件里放新蜂商城的 logo 和十三的收款码干什么呀,那明显就是拷贝过来没删洁净的遗留物啊!

具体见十三的文章:……外面居然有本人写的开源我的项目!

十三还认真地比照了慕慕和新蜂的每个页面,得出结论:

总得来说,慕慕生鲜算是 newbee-mall 的低配版,大多数性能都是截然不同的。然而慕慕生鲜中删减了很多性能,页面也删掉了几张。

另外,十三剖析后发现,表设计也根本是一样的。

这里讲一下几个次要表的设计:

  1. 分类表:字段根本截然不同,没有什么区别
  2. 商品表:字段基本一致,与 newbee-mall 我的项目相比,删除了三个字段,别离是:商品原价字段、商品小标签字段、商品详情字段。
  3. 购物车表:字段基本一致,与 newbee-mall 我的项目相比,减少了一个字段。
  4. 订单表:字段基本一致,与 newbee-mall 我的项目相比,减少了两个字段,别离是发货工夫和交易实现工夫。

具体见 ……更多实锤看这里

4. 最重要的是,通过对前端代码的剖析,慕慕和新蜂的前端有超过 90% 的雷同。

证据在哪呢?

十三是找到了:由 webpack 按需加载来谈一谈慕课网涉嫌剽窃开源我的项目的事件

这篇文章,从原理上,从具体分析上,从代码比照上,十三证实了至多在前端,慕慕是抄新蜂的。

十三的论断:

最终的比对论断:(前端)代码反复度为 90% 以上,不仅仅剽窃页面代码,连文案也完完整整的剽窃,这是赤裸裸的剽窃行为!除以上列举的代码剽窃外,还有 login.js 文件、register.js 文件、header.js 文件、search.js 文件、cart.js 文件、personal.js 文件、personal-sidebar.js 文件、pay-select.js 文件、order-settle.js 文件、my-orders.js 文件、order-detail.js 文件、order-settle.js 文件、alipay.js 文件、weixin-pay.js 文件,这些文件的代码反复度也根本都达到了 90% 以上。

十三想要什么后果

十三在他写的多篇文章外面说:

“我每年都会花不少工夫在 newbee-mall 这个我的项目的优化和保护上,今后我也会持续用心保护这个开源我的项目的。这是我的作品,你们不能就这么堂而皇之的进犯我的合法权益。”

我和十三交换了一下,他心愿慕课网:

下架课程,赔罪,抵偿。

慕课网的法务曾经和十三的律师有所交换,但仿佛并不顺畅,十三说,他近期就要把慕课网告上法庭。

十三很有信念,因为知识产权侵权两大要件:“接触”和“实质性类似”,从证据上,从公证上,他都筹备好了。

具体会倒退成什么样,咱们刮目相待吧。

那么,如何评判此事?

我感觉,慕慕不论是文案创意、架构设计还是代码根底上,从已有证据看,的确是基于新蜂的(至多是前端)。

如果你是基于(based on)新蜂的,你就要遵循新蜂所采纳的 GPL v3 协定。

而慕慕没有做到。

慕慕应该做什么?

1. 应该依照 GPL 协定,对慕慕也采纳 GPL 协定公布。

这很容易做到,在源码根目录下放一个 License 文件(或 Copying 文件),外面是 GPL 全文。

而后在适合地位申明本人用的是 GPL。

2. 应该保留十三的名字。

这也很容易做到,保留新蜂每个文件的文件头即可。

3. 申明本人批改过。

找个适合的、醒目的中央,阐明本人在十三的原版上,做了批改,批改日期是什么时候。

我已经写过一篇人话版 GPL v3 解读,外面具体阐明了 GPL 到底都说了什么,对此趣味的能够读一下。

如果做到了这三点,慕课网依然能够卖本人的课(GPL 容许你卖),依然能够只是买了课的学员能力下载源码(接收者能失去源码即可,并不要求你分发给全世界),依然能够不告诉十三,也不给十三钱。
如果做到这三点,十三再不服气,也是告不倒你的。

偏偏慕慕一条也没有做到。

即使慕课网说他用的是新蜂还是 MIT 协定时(2020 年 5 月 20 日之前)的版本,那也要遵循 MIT 协定,做到下面说的第 2 条。

后记

原本就要说完了,又看到知乎上有一个匿名评论:

这就有点令人无语了,MIT 是开源不假,GPL 更是正经八百的开源啊,而且还是自由软件,还是 copyleft 啊,FOSS 属性更多啊!

这哪里是“假开源”了?

开源协定在肯定水平上,能够看作是在恪守《著作权法》前提下,作者和使用者之间签订的合同,只不过没有签字而已,使用者只有用,就表明承受这个合同。

当初使用者违反合同了,当然能够维权了,当然能够不让再用了。

违规了,就要改啊,不改就能够告你啊!

多说两句

开源开发者,并不是不食人间烟火的神仙圣贤,在以后物质尚未达到极大丰富的社会里,开源我的项目的作者,也须要生路,也心愿能有额定的捐献或者资助。

在什么也得不到的状况下,至多要给人家贡献者一个“声誉”,如果拿了代码,连虚名都不能给人家(而且还是人家在协定里明确要求了的),那可就真是过分了。

这种事还是有好几桩的:

比方当年的 Asim 诉 go-chassis 案。
再如:开源我的项目被人拿去做课程卖了 1000 多万是什么体验。

包含十三的文章,看下来,开源作者,看见他人用本人的代码赚钱或牟利,有愤懑,有控告,有不满,更有无奈,除了争一个名分,也在尝试可能的回报。但因为开源协定是容许他人卖的,如果人家做到了“留名”,不给任何回报也是无话可说的。

所以我说:

开源作者不须要太害羞,要钱也没什么可耻的,正如近几年来,很多开源我的项目把开源协定改为商业协定,你也能够改。如果你认为支出很重要,能够不再用 MIT、Apache、GPL 这些开源协定,能够改用你称心的协定,或者你本人全新设计的协定,比方能够加一条:“ 本我的项目源码凋谢,可无条件用于学习和钻研;但如果将本我的项目用于商业目标,请盲目将商业营收的 1 /10 打给本我的项目作者,账号为:……”。

当然这种写法就不合乎 OSI 的开源协定定义了,这违反了 OSD 第 1 条。

按你的想法来,自在一点,不必非要合乎 OSI 或者 FSF 的要求。

不要害羞。也不须要那么崇高。

毕竟你是作者,你有权力要求这些。

文|卫剑钒

1 新蜂代码 (https://github.com/newbee-ltd/newbee-mall/tree/master/src/main/java/ltd/newbee/mall)

相干浏览:
破费 3680 元买了一个慕课网的 Java 待业班课程,外面居然有本人写的开源我的项目!

退出移动版