开源代码却无奈遗弃,濒临奔溃的开源开发者们!

在这里插入图片描述

整理 | 郑丽媛
责编 | 屠敏
头图 | CSDN下载自东方 IC

近年来,全球开源项目数量呈指数级增长,据开源软件安全平台 SourceClear 的调查报告预测,2026 年全球开源项目数量将超过 3 亿。

然而,开源 vs 生存,如何取舍?多年以来,这个问题一直在深深地困扰着业界尤其是个人开源开发者。

截止目前,似乎仍然无解。

因患病长期失业、却仍在坚持维护开源项目

早在 2016 年,JS 红宝书原作者 Nicholas C. Zakas 不幸患莱姆病,而后长期失业,连业余兼职工作也无法进行下去。

然而多年来,他在没工作、没有收入,身患重病的情况下维护着他的开源项目 eslint (https://github.com/eslint/eslint,一款插件化并且可配置的 JavaScript 语法规则和代码风格的检查工具)。


但在现实的压力之下,他不得以在 GitHub 上发起求助(https://github.com/sponsors/nzakas
),并希望在 2020 年的某个时间能够恢复健康,并基于开源重新工作中。

现实压力下开源作者

除了 Nicholas C. Zakas ,仍有不少开源作者身处压力之下。

Bootstrap (开源地址:https://github.com/twbs/bootstrap),由 Twitter 的设计师 Mark Otto 和 Jacob Thornton 合作开发的一款开源前端框架。或许你不了解,但全球大约五分之一的网站都在使用它,甚至 Green Day 和 Barack Obama 的 The White House 的网站设计都使用到了 Bootstrap 。

除了简约的风格受人喜爱,Bootstrap 的开源更是它流行的一大原因:任何人都可以免费使用。但与此同时,Jacob Thornton 感受到了前所未有的压力:每周都有无数的人向他和 Mark Otto 报告错误、要求新特性和给予表扬。因此,在辛苦完成白天的工作后,晚上 Jacob Thornton 还要花费四五个小时对 Bootstrap 进行管理,编写新代码。

就这样,Mark Otto 和 Jacob Thornton对Bootstrap 已经持续维护了 9 年,期间也培养了一些核心贡献者,但开源带来的压力依旧庞大,Jacob Thornton 表示,他很想逃离这个困境。

而像 Bootstrap、eslint 这样,即使项目维护者精疲力竭但还在坚持的开源项目已经是个幸事,开源代码被遗弃才是最坏的结果。

无力坚持,放弃却酿成大祸

两年前, event-stream 库的作者 @dominictarr 因缺乏时间和兴趣决定放弃维护这个库,并且将该库转让给了一个完全不认识却又想要接手的陌生人 @right9ctrl ,而 @right9ctrl 利用比特币公司曾使用过这个库的开源代码,对其进行了重写,以试图窃取加密货币。

事情发生后, event-stream 库的作者 @dominictarr 遭到了大量开发者的谴责,控诉他为何要将软件包交给一个陌生人。对此, @dominictarr 回应:起初开发这个库只是因为好玩,并不是为了利他。但开发者将维护的工作全压在我的身上,而我从维护中得不到任何东西,这个库对我来说就不再是兴趣了。并且,一开始我并没有从 @right9ctrl 身上感受到恶意,以为这是一位真心想帮助我的人。

精疲力竭的开源开发者该如何自处?

最近,新媒体 Substack 的作家 Nadia Eghbal 出版了一本书《 Working in Public 》,为了写这本书,她与数百名开源程序员进行了交谈。

从沟通中 Nadia Eghbal 意识到,开源项目代码的编写和修改需要高水平的合作。而事实上,虽然参与开源项目的开发者会有很多,但他们其实只做出了像修复 Bug 这种很小的贡献,无法实现维护项目所需要的高水平合作。因此,开源项目的维护最终还是落在了少数人的肩膀上,他们就像公众人物一样背负着众人的期望与监督,而区别是,他们从中得不到任何物质回报。

研究表明,约有 9.5% 的开源代码已被遗弃,约 25% 的开源项目可能也快被放弃。这个趋势很危险,且不说没人维护的代码易被严重破坏,光是恶意利用这一点就后患无穷。

对此,我们或许没有理由去苛责他们的半途而废,毕竟选择开源就是自发,那放弃也是权利,毕竟持续用爱发电总会有筋疲力尽的那天。

几个月前,阿里巴巴技术副总裁贾扬清在知乎上针对“如何看待国内开源现状”时,回答:

一方面,开源是热情驱动的,但是另一方面,我们绝对不能饿死雷锋。所以一定要有体系化的能力沉淀,有很好的流程,把大家做开源的阻力做到最小。

可目前而言,如同一位网友的评论,开源开发者的保护组织还是不够普及。

关于组织上的,感觉国内现在缺少类似 num focus 这样的专业保护伞组织。大公司做往往还是要为公司着想,缺乏第三方的中立性。最后从高校/机构萌芽的项目就会慢慢死掉或者变成某个公司的项目。

而享受开源代码成果的我们可能能做的就是如亚马逊首席科学家李沐所提到的“契约精神”。

我觉得最大的一点是得有契约精神:我邀请你来用我新鲜出来的代码,那么我会负责回答你的问题,并帮助合并你的代码提交请求。这个也是好几个回答提到的”开源维护“。

最后,开源开发者未来将如何自处,开源的枯竭局面又该如何挽回,这些亟待解决的问题,至今可能还没有行之有效的解决方案。可能给予物质上的补偿会有所帮助,可这又会不会改变了开源的初心?

看到这的你,是否可以提一些建议来帮助疲惫的开源开发者呢?

参考链接

  • https://www.wired.com/story/open-source-coders-few-tired/

  • https://www.zhihu.com/question/366370371/answer/975420094

相关阅读:
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 代码科技 设计师:Amelia_0503 返回首页