阅前提醒:该文章已隐藏参与者的GitHub账号,不提倡网络暴力;本文章全程附有对应截图,证据充足,不会随意捏造事实。
初见端倪
说来话长,事情可以追溯到8月底。8月26日,我朋友给我发了一个GitHub项目,关于jsDelivr镜像站的,里面的文件内容高度与我雷同,或者说和我的rong6/jsd一模一样,仅仅只是把我的一些信息部分改成他的。而他完全没有标注原出处。
当然目前大家的代码都不一样了,因此放出旧提交记录比较(.gitattributes
文件为其初始化仓库留下的文件,我有理由怀疑这哥们连这文件的作用是什么都不知道,只是创建仓库的时候顺手勾上了):
文件内容完全一样,只是把我的相关信息给删了:
而我的另一个朋友出于好心提了个issue,要求标注原作者。本来这就是个没啥用的小项目,只是说“维护一下开源社区秩序”,给自己仓库加上了MIT许可证,然后就把这件事忘在脑后了。
“大清洗”与铁证如山
最近突然想起来去看了一下,谁知仓库被大清洗了一样,“我的踪迹”消失不见了:
一看issue,诶,只剩下了作者一人发的(原来有2个issue):
其中直言不讳地对我朋友进行人身攻击,并附上其所谓的“证据”——请问代码中所有名称、域名,一切身份标识都是你的能有效的证明代码是你原创的吗?这就好比某国产自研操作系统,我只要Ctrl+H将 Android
替换为 ***OS
就可以证明这是我自主研发的操作系统吗?
最可笑的是,这俩一小一大用Ctrl+F都不全部替换,一个是Android字样没替换完,一个是在提交记录中,还藏着我的些许痕迹。
如哈希值为 84c19e91450f7a8e40e6999a2525a2d08a8c187e
的提交记录,上面还留有本人的jsDelivr镜像站链接:
就算不扣细节,上面放出来的那些代码都和我一模一样,难道我们两个这么有默契,一起写了相同的Nginx配置、Vercel配置,一起用jasonlong/cayman-theme做镜像站首页,一起编写相同的镜像站介绍吗?
仔细查看该issue发布时间为8月31号,同日“删库跑路”:
但同日,再次“初始化”仓库,提交新文件:
可笑的是,他也自己搞了个MIT许可证,仿佛自己才是“正统”作者。
但这哥们不能说懂Vercel,只能说完全不懂Vercel——他又把我的 vercel.json
原封不动的搬上来了:
而这样的配置与他添加的文件完全不符,按这个配置的意思应该是访问根目录(/
)时运行目录(文件)为 /index.html
,访问根目录的子目录(/*
)运行目录(反向代理)为 https://cdn.jsdelivr.net
。而他添加的文件中既有 css
文件夹 ,js
文件夹,也有 img
文件夹,按上面的配置路径为 /css
/js
/img
时会一律反向代理jdDelivr。
很明显他部署到Vercel上后发现首页样式是乱的赶忙改了四次 vercel.json
,令人忍俊不禁:
针对他的人身攻击行为,我的朋友已反击:
2024.10.5进展
当晚,此人在他的项目(已删库跑路)上回复issue,态度不甚友好:
但最后,经过一番理论,他最终承认了自己的错误并表示下次不会再犯。
自此,事件较为“美满”的结束了。
虽然这只是件小事,但他也反映出当今中国对于开源项目的一些问题:法律不完善,随意钻空子,大厂带头偷偷使用开源项目不标注来源。无私开源代码,是为了推动技术进步,而非成为抄袭与剽窃的工具。我也不清楚开源许可证在中国是否有法律效力,但一个健康的开源生态,需要每个人在使用他人项目时,不仅仅是在法律意义上遵守许可证,更需要在道德层面上自觉遵守,给予呕心沥血的开发者应有的尊重。