哪怕你不是个习惯掉头发的程序员,GitHub 这玩意相信你总或多或少听说过吧,我一直把 GitHub 放到了诸如 P 站的高度,属于不可或缺的存在。 然而就在上个星期,GitHub 上爆了个大瓜,事情虽然发生在大洋彼岸,传到咱这多少已经有点滞后了,但从头到尾,讨论颇有一种愈演愈烈的感觉。 容我先给不明前因后果的小伙伴说说这次 GitHub 上到底发生了点啥,放心,就算你刚听说 GitHub 也能轻松听的懂。 删库投毒 事情发生在 2022 年刚开年,我们或许还没有真切感受到 2022 年的到来,还在按部就班的上班打工,但 GitHub 上一位拥有上百项目的开发者做了一个决定—— 主动删除了本该是自己最得意的两个开源项目,「faker.js」和「colors.js」。 现在去 GitHub 上看「faker.js」,会看到只剩下了一些配置文件,和一句 endgame。 说实话,这俩项目以及它们背后的作者 Marak,或许你听说过,或许你没听说过,这不重要,重要的是得看这俩项目的传播力度。 在 npm(包管理工具)上,「faker.js」这个项目的周下载量接近 250W,「colors.js」这个项目的周下载量在 2240W。 换句话说,有大大小小的公司,形形色色的项目在开发过中可能都有用到这俩项目,删库跑路这事真从天而降了,说没影响那是骗人的。 可谁也没想到的是,这不单单是普通的删库跑路事件,大佬 Marak 在删库之余,还提交了被国外开发者称为「反美」的毒代码——6.6.6 版更新。 先说毒在哪里,当你美滋滋的更新了「faker.js」或「colors.js」这俩库,然后运行程序的时候会喜提一个死循环,然后迎来乱码界面。 至于为啥被人称为「反美」,那是因为 Marak 投毒的更新项所用的名号——新增美国国旗模块。 而且在乱码界面的前三行,更是大写着 9 个「自由」。 说实话,吃瓜的时候看到这愣是把我给看笑了,但笑的同时,我又有了更大的疑惑,Marak 是谁?他为什么要这么做? 疑惑的不止有我们这些吃瓜群众,国外的媒体和网友早已开始了对 Marak 的挖掘。 嗯,不查不知道,一查吓一跳,Marak 不仅是曾经的纽约创业之星,更是美国的炸弹嫌犯,这位老哥身上光环的正反面都吊足了胃口。 Marak 彼时,19 岁的 Marak 刚刚大学毕业,凭着一手扎实的基本功拿下了微软的 offer,此后作为一名合格的打工人,积攒了多年的开发经验。 直到 2010 年,Marak 和 Node.js 这个刚刚发芽的开源技术相遇了,受够了商业公司闭源开发限制的 Marak 遇到了「真爱」。 于是就在那一年,Marak 以超高的执行力,拉着朋友创办了一家主营 Node.js 服务器托管的公司,Nodejitsu。 在刚刚创业的日子里,别说 996 了,Marak 恨不得直接 007,好在努力并没有让 Marak 失望—— 仅仅用了 1 年的开发经营,Marak 的公司就迎来了首轮 75W 美元的融资,并一举拿下纽约创业之星的名号。 要知道,那时的 Marak 走在了时代的前面,不说在 Node.js 的赛道里独一份,但绝对处在领头的那个梯队,可以说 Marak 被称作 Node.js 布道者并不为过,无比风光。 但这样的好日子很快就结束了,随着 Node.js 这门技术的开枝散叶,有钱、有人、有技术的大公司开始下场了。 时间来到 2015 年,Marak 的故事以公司被收购而匆匆结尾,自此,世界上少了一个创业者 Marak,GitHub 上多了一个自由开发者 Marak。 从创业到失业,Marak 用了 5 年,从创业之星到炸弹嫌犯,Marak 也用了 5 年。 2020 年,在纽约皇后区的公寓里发生了一起火灾,而后 FBI 带走了 Marak。 在 nydaily news 的新闻报导中有说到,调查人员在 Marak 的家里发现了镁粉、硫磺粉、铜粉、铝粉、保险丝和搅拌杯,以及不少关于爆炸的书籍。 但从头到尾,没有人知晓 Marak 曾经是创业之星的身份,没人知晓他开源大佬的身份,在新闻最后所留下的,只有一条 Marak 毕业于东汉普顿高中的信息。 事件草草发生,草草结束,对 Marak 而言并没有什么帮助,一个月后,时年 37 岁无家可归的 Marak 在推特上发帖向网友求助。 有人劝他不要再搞开源了,找个工作,但 Marak 只说了句: 我想我这辈子剩下的时间和下辈子都只会去做社会工作来帮助别人。我已经没有写代码的欲望了。 落魄至此,我们不知道为了开源付出了 10 年青春的 Marak 到底经历了什么,但能从那一年他 GitHub 的帖子里看到 Marak 的不甘。 谁错了 无论 Marak 是怎样的人,经历了什么,我们还是要回归上个星期的删库投毒。 这件事发生后,Marak 和开源一起走到了风口浪尖,不用想都知道网友对 Marak 的苛责声有多大,但 Marak 这么做真的错了吗? 如果你从道德和开源精神以及事后影响力来看,毋庸置疑,Marak 的所作所为肯定是错的,可以说极其不负责任。 但是,Marak 作为开源项目的发起人和维护者,当他选择较为宽松的 MIT 开源协议,他有权删除自己的代码,也有权在代码中加入死循环引用。 就像白嫖开源代码的公司一样,它们直接拿着 MIT 开源的代码商用,也不用付出任何代价。 一饮一啄,好像没谁有资格强迫开源作者无私充当保姆,协议可清清楚楚写着呢,我开源,风险使用者承担。 但结果呢,Marak 的 GitHub 账号被官方停用了,说好的开源权力呢?说好的开源自由呢? Marak 行为艺术般的删库投毒,撕破了开源的假象,现在想想,Marak 最后那三行「自由」充满了讽刺。 最后 我喜欢开源,因为我是受益者,我在享受开源所带来的便利,为数不多的几次赞赏,给的都是开源项目。 可我不得不说,开源真的很具有浪漫主义色彩,越是底层,开源协议越是宽松,好像收益越是不大。 过去总有人说开源的人是为众人抱薪者,那当抱薪者都快要冻死了,是不是也该少骂两句了。 参考链接: http://web./web/20210704022108/https://github.com/Marak/faker.js/issues/1046 https://www./2022/1/9/22874949/developer-corrupts-open-source-libraries-projects-affected https://www./r/programming/comments/rz5rul/marak_creator_of_fakerjs_who_recently_deleted_the/ https:///suspicious-package-queens-astoria-fire/6425363/ https://mp.weixin.qq.com/s/TdPk4GXUk6xPfiuaQhlTxQ |
|