GitHub最火开源项目作者删库跑路!直言不想被白嫖,上万个应用崩溃

2022年1月26日 244点热度 0人点赞 0条评论

“最初,没有人在意这场灾难,这不过是一场火山,一次海啸,一个物种的灭绝,一座城市的消失,直到这场灾难和每个人息息相关......”如同一场火山爆发给人类带来的预警,作为一款明星开源项目的作者,自毁代码删库跑路这件事,或许是2022年开发界一次全新变革的开始。



这几年里,开源热潮席卷全球,在代码托管平台Github上,来自世界各地的优质开源项目层出不穷,软件开发效率和质量得到显著提升。


无论是国内外科技巨头还是个人开发者,纷纷投身其中,高举开放、协作、共享的大旗。


开源的确在帮助这个世界变得越来越好,但另一方面,开源项目背后仍有大量的维护者处于水深火热之中。


图片


去年年底,全球知名开源日志组件Apache Log4j2被曝“核弹级”高危漏洞,几乎所有行业都受到波及。


这个漏洞的出现,也撕开了开源光鲜亮丽的外表下的残酷事实:


当有人使用开源项目时,他们会对作者充满感激。


然而一旦这个项目出现Bug,它背后的开发者便会遭到如潮水一般猛烈的骂声——哪怕这是没有任何酬劳的工作。

图片

那么,在没有报酬的情况下,有多少人能够在业余时间坚持维护这些开源项目呢?

Apache Log4j 2漏洞爆发过去一个月后,又一位知名开源项目的作者用行动做出了回答。

今年1月上旬,开源工具Faker.js和Colors.js的作者Marak,在没有任何征兆的情况下,突然将Faker.js项目仓库的所有代码清空了。

图片

他在commit中留下了“endgame”字样,并且在README中写道,“What really happened with Aaron Swartz?”

(注:Aaron Swartz曾建立Creative Commons、RSS和Reddit,在2011年被指控非法入侵MIT和学术数据库JSTOR以窃取文件,于2013年自杀。)

值得注意的是,Faker.js上一个版本依旧可以下载,版本号却被改为了在西方中代表恶魔的数字6.6.6。

图片

另一个仓库Colors.js的代码虽然没有被清空,但Marak也在v1.4.44-liberty-2版本中添加了一个“new American flag module”。

新的代码中引入了一段无限循环,会让所有使用了Colors.js的程序都在控制台无休止地打印各种非ASCII字符的乱码。

图片

数万个使用了这两个开源项目的应用一夜之间要么“变砖”,要么不断输出满屏乱码。

Marak的删库行为,无疑往整个开源社区扔了颗威力惊人的大“炸弹”,无数人都不敢相信这一事实。

图片

对于前端开发者而言,应该对Faker.js和Colors.js并不陌生了。

它们是前端工程中非常火爆的开源仓库,被很多公司和个人在生产环境中深度使用。

Faker.js提供了各种类型的模拟数据,用于开发调试,周下载量高达两百万多万,且多次进入Github日榜前三。

图片

而Colors.js则是一款基于Node.js Console命令行参数神器,用于终端着色colors插件,每周下载量约2314万。

图片

Marak这番令人匪夷所思的操作,令大家疑虑顿生:明明花费了多年心血打造的两个项目,为什么会突然选择自己毁掉这一切?


据了解,Marak这些年的确投入了大量精力和时间来维护这两个项目。

但因为它们使用的是十分宽松的MIT开源许可协议,所以即使被拿来商用,也不用向作者支付任何费用。

通俗来讲就是“白嫖”,所以Marak的获益非常少。

图片

随着开源项目规模的不断增大,Marak也需要投入更多精力来对其进行维护。

但有一个前提,那就是只有在他自己能保证足够生存的条件下,这一切才能顺利进行。

图片

压倒骆驼的最后一根稻草,或许是2020年9月Marak遭遇的一场火灾。

当时,Marak的公寓失火,所有财产几乎被全部烧毁,在身无分文且处于无家可归的状态下,Marak在推特上发布求助信息。


图片

他公布了自己的PayPal账号,请求网友们给他提供捐助。

图片

可能是网友们捐助的金额难以维系生活,2020年11月,Marak在GitHub上发文,谴责大型公司使用其Faker.js开源项目却不支付费用的行为。

Marak表示,如果这些公司不支付费用,那么就fork项目自行维护,因为他不再打算为任何人提供无偿的维护工作了。

于是,在两个月后,Marak兑现了他的“承诺”。截至账号被封之前,他在GitHub上已经有90多个开源项目。

图片

事情爆发后,全球上万个项目的开发者在忙于修复工作的同时,也对Marak的行为进行了激烈的辩论。

有人认为,Marak的行为太不负责任,如果不想免费维护,那一开始就不要发布出来。

也有人认为,从GitHub删除自己的代码是每个用户的权利,Marak有权对他维护的项目进行任何处置。

还有人直言,大公司凭什么能从别人的无偿劳动中赚到一大笔钱,这本来就不公平。

图片

毫无疑问,这起事件再次引起了人们对于开源开发者生存现状的关注。

在现实中,大量网站、软件和应用依赖于免费的开源项目。

而开源项目维护工作是一项长期且艰巨的任务,大到新建功能、修复Bug,小到把控代码质量。

可以说,作者参与得越多,用户对项目的要求就越多。

图片

素不相识的伸手党,会因为你没有及时回答问题而开骂;

下班后只想好好休息,但手机和电脑上会有消息不断提醒有多少人在等着你解决问题;

当你熬夜爆肝做出来的成果,被别人使用后赚得盆满钵满,而你除了不断上涨的star数,再也收获不到任何利益......

久而久之,曾经全力以赴创建这个项目的快感,大概只会消失得无影无踪。

图片

根据去年Tidelift发布的调查报告显示,近50%开源项目维护者拿不到任何报酬。

而年收入在1000美元(约等于6300元人民币)以上的维护者仅占16%。

图片

在“为什么选择持续维护开源项目”这一问题中,71%的开发者选择了“享受能够对世界产生积极影响的感觉”。

也就是说,开源带来的物质上的收益不多,大多数开发者们都是在成就感的激励下坚持下去的。

图片

除了Faker.js和Apache Log4j2外,还有许多开源项目的开发者,也正处于类似的尴尬处境。

去年11月,有用户向苹果请求更新macOS 12中与Curl有关的信息,结果苹果直接回复用户让他自行联系Curl的开发者。

为此,Curl创始人发言讽刺称:“一家市值万亿美元的公司将各种开源组件组合在一起,每年可从中获利数十亿美元。当用户就其提供的产品寻求帮助的时候,这家公司反而将用户推给开源项目。这个开源项目是志愿者运营和维护的,而这家公司(苹果)从没有赞助过一分钱。”

图片

众所周知,除了Linux等大型项目外,大多数开源项目都只是由一个小团队甚至单个开发者在进行维护,工作量自然不言而喻。

Marak的这件事应该给所有人敲响警钟:任何一个能够坚持更新和维护的开源项目,背后都一位值得尊敬的程序员,给予他们必要的赞助是非常值得鼓励的行为。

无论如何,开源不易,还是得相互理解与支持,才能走得更远。




温馨提示



关注【扩展迷Extfans】

阅读更多精彩内容

56130GitHub最火开源项目作者删库跑路!直言不想被白嫖,上万个应用崩溃

这个人很懒,什么都没留下

文章评论