GitHub|狠人!标星 3.4 万的项目说删就删,几行代码搞崩数万个开源项目

GitHub|狠人!标星 3.4 万的项目说删就删,几行代码搞崩数万个开源项目

文章图片

GitHub|狠人!标星 3.4 万的项目说删就删,几行代码搞崩数万个开源项目

文章图片

GitHub|狠人!标星 3.4 万的项目说删就删,几行代码搞崩数万个开源项目

文章图片

GitHub|狠人!标星 3.4 万的项目说删就删,几行代码搞崩数万个开源项目

文章图片

GitHub|狠人!标星 3.4 万的项目说删就删,几行代码搞崩数万个开源项目

文章图片

GitHub|狠人!标星 3.4 万的项目说删就删,几行代码搞崩数万个开源项目

文章图片

GitHub|狠人!标星 3.4 万的项目说删就删,几行代码搞崩数万个开源项目

开源是非多 , 卤蛋有话说 。
大家好我是 HelloGitHub 的卤蛋 , 最近有个「流行开源项目的作者删掉项目、提交恶意代码」的事情 , 引起了广大开源爱好者的讨论 。
我深知维护开源项目的不易 , 所以比较好奇他为什么舍得删掉项目 。
这不眼瞅着就要过年了吗?无心工作的我就“顺藤摸瓜”把这个事儿理了个大概 , 感兴趣的小伙伴可以一起来看看这件事情的来龙去脉 。
背景首先要介绍下这次事情中两个站在“风口浪尖”的 Node.js 开源项目:
1、faker.js用于生成大量的假数据 Node.js 库 。 可用于测试中自动创建丰富、合理、多样的测试数据 , 包括姓名、日期、头像、地址等 。 因为项目已经被作者删除 , 我找到了之前项目首页的镜像 , 该项目创建于 7 年前、共有 3.4 万星、266 位贡献者 。
2、colors.js用于在 Node.js 控制台中显示彩色文本的库 , 创建于 7 年前共有 4.5 千星、44 位贡献者 。
虽然它们提供的功能的比较单一 , 但在解决某些场景下的问题很方便 , 而且开源协议宽松(MIT) , 所以受众很广 。 在统计它们受欢迎程度之前 , 我想先简单介绍下这种开源工具库 , 发布到包管理平台和使用的流程 。
一般情况下我们是通过 NPM(包管理器)使用它们 , 所以我找来了 NPM 的数据:
说实话我看到数据后惊呆了!「faker.js」和「colors.js」看似不起眼 , 但从数据上来看全球有近千万的开发者在使用 , 加起来每天大约有几百万的下载量 , 共计 2 万个项目依赖它们!
如此流行的项目 , 作者是一位 GitHub 上叫做「Marak」的用户:
Marak 大神为什么要删自己维护了多年的开源项目 , 而且删完了不过瘾还在往千万人在用的项目中加入了恶意代码?
经过事情还要从2020 年 11 月Marak 发的一条 issues 说起:
内容大致的意思就是吐槽:大公司免费用我的开源项目 , 没有人为我的付出买单 , 我不想干了!
我这里用的是“吐槽“是因为项目是一年后才删的 。 所以我推断当时他并不是真的想删 , 但萌生了“不想再为大公司免费维护开源项目”的想法 , 想通过维护开源项目有一份收入 。 此后 Marak 就开始了开源项目商业化的尝试 , 但情况并未好转 。
时隔半年 , 时间来到了2021 年 4 月Marak 在自己的博客 , 发布了一篇名为《Monetizing Open-source is problematic》的文章 , 讲述了这段时间 Faker.js 在商业化路上的尝试和坎坷 。
文中写道: