什么,十三又被惹到了?
“十三”是一个程序员的化名,他有个公众号叫“程序员十三”
一开始,我觉得是不是又是和去年(2020)那事差不多?
后来看了看,还不太一样,事情要稍稍微妙一些。
图|哆啦A梦:伴我同行2
去年就有过一档事
一年前,我关注到十三,是因为他的“新蜂商城”源代码被人卖,弄得沸沸扬扬。
有人说,卖人家开源代码真是无耻;有人说,可以卖,没问题。
后来我写了一篇文章(从MIT协议谈契约精神)说,当然可以让人卖,你用的是MIT协议,MIT是允许人家卖你代码的。
后来这事就过去了,十三痛定思痛,申请了软件著作权,并把代码改成了GPL协议授权。(虽然这些并不妨碍别人继续卖他代码)
不承想,今年(2021)居然又惹上了事情!
6月初,十三的公众号连发了几篇文章,大致就是强烈控诉“慕课网”剽窃了他的代码。
十三说,要告慕课网,已经搜集好证据,已经请好了律师。
今年事件的缘起
和去年一样,事情的发现,也是十三的朋友告诉他的,说你看看,慕课网用了你的新蜂项目当课程呢。
课程在这里:
https://class.imooc.com/sale/...
我去看了看,这个课程是“java工程师”。
我比较感兴趣的是这个宣传语:
看着真诱人,我要是年轻二十岁,我也想学。
这个课程内有多个实践项目,其终极项目是:仿“JD生鲜”大型电商平台全流程开发。
项目名称是:“慕慕生鲜”。
不得不说,文案还是挺好的。
十三看了一下该项目的页面预览图,立刻就认出了自己亲儿子的面目:
“newbee-mall 项目毕竟是我维护了 3 年的开源项目,真的是一眼就看出来了。页面是无比的熟悉,同时,心情也是无比的复杂。”
其实就是从排版、布局、按钮、字体、颜色等方面一看,就知道和自己的东西是一模一样的。
比如有一点是十三专门强调的:项目的前端页面的主要由黑、白、主色构成的,“慕慕生鲜”(以下简称“慕慕”)的主色号,正好和“新蜂商城”(以下简称“新蜂”)的一模一样:#1baeae,这并不是一个常用的颜色。
具体可以看看十三这篇文章:……这又是什么骚操作?
十三为了拿到实锤,专门花了3680元,买了这个课,下载了慕慕的源码。
十三决心看一看,源码到底是不是抄的。
时间信息还是要说明一下
虽然是十三发难慕课网,但是时间信息还是要说明一下的。
不然,会有这么一个问题:谁抄谁还说不好呢!
虽然我没有见过抄袭者告被抄袭者的,但如果被告者拿出自己在更早时间创作该作品的证据,那就不好告。
newbee-mall开源项目于2019年国庆节期间开源1。
慕课网的“Java工程师”体系课程于 2020 年上架销售。
十三申请了著作权,获取著作权的时间为:
我想,慕课网大概是拿不出早于这个时间的证据吧。
源码是抄的吗?
说起来还真有点复杂,不是完全抄袭那么简单的。
1. 绝大多数的后端代码都是重写了的。
随机挑选了一些后端代码文件,仔细对比了一下,虽然大框架差不多,但是代码确实不太一样。
如果让论文查重软件查一下,估计重复率不超过5%。
2. 版权信息全部清空了
和很多完全没有版权意识的项目一样,慕慕是完全没有版权信息的。
新蜂以前也是没有的,但经过去年那事后,新蜂源码(后端部分)的头部都改成了这个样子:
虽然我对这段不太满意(应该明确说用了什么协议),但也不便多说什么,好歹在根目录还是声明了license是GPL。
但慕慕就完全没有这个意识了。
慕慕所有的代码,都是“光头”。
第一行就是代码,这是无版权意识者的通病。
3. 不过,慕慕肯定是来自新蜂的。
慕慕至少是“接触”过新蜂的,也就是说,慕课网的人,至少是编写教程的某人,是看过新蜂代码的。
一个最明显的证据就是,十三居然在慕慕里面,发现了新蜂的logo图片和十三的收款二维码!
下图是慕慕的代码目录结构,红色箭头指示的就是没删干净的文件:
也即,慕慕代码里有下面这个文件:
还有这个文件:
这个可是十三的收款码,我用支付宝扫了一下,看上去是用于给十三捐赠用的:
你说一个做慕课网课件的人,没事在课件里放新蜂商城的logo和十三的收款码干什么呀,那分明就是拷贝过去没删干净的遗留物啊!
具体见十三的文章:……里面竟然有自己写的开源项目!
十三还认真地对比了慕慕和新蜂的每个页面,得出结论:
总得来说,慕慕生鲜算是newbee-mall的低配版,大多数功能都是一模一样的。但是慕慕生鲜中删减了很多功能,页面也删掉了几张。
另外,十三分析后发现,表设计也基本是一样的。
这里讲一下几个主要表的设计:
- 分类表:字段基本一模一样,没有什么区别
- 商品表:字段基本一致,与newbee-mall项目相比,删除了三个字段,分别是:商品原价字段、商品小标签字段、商品详情字段。
- 购物车表:字段基本一致,与newbee-mall项目相比,增加了一个字段。
- 订单表:字段基本一致,与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的要求。
不要害羞。也不需要那么高尚。
毕竟你是作者,你有权利要求这些。
扩展阅读:
2006-2021,哪些数据库最受欢迎?