钱少事多,开源项目维护人员几乎集体出走

Posted 代码卫士

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了钱少事多,开源项目维护人员几乎集体出走相关的知识,希望对你有一定的参考价值。

 聚焦源代码安全,网罗国内外最新资讯!

编译:奇安信代码卫士

最近,Linux 内核稳定版本的维护人员 Greg Kroah-Hartman 发布公告称,因美国明尼苏达大学的多名开发人员故意提交不良的补丁,因此决定禁止该大学提交任何 Linux 补丁。雪上加霜的是,除了安全考虑,Kroah-Hartman 还提到,代码维护人员“已经够忙了”,没空把时间浪费在查找并删除故意提交的恶意代码。此言不虚。
钱少事多,开源项目维护人员几乎集体出走




这一切都是因为,作为开源维护人员,太难了。虽然开发人员会修复 bug 和创建特定,而审计人员会审计代码,但代码终于维护人员之手。维护人员才是负责拉通开源项目各个环节的人。你可能也猜到了,开发人员的数量多于审计人员,而审计人员的数量多于维护人员。维护人员好比是开源项目管弦乐队的指挥。如果某个 bug 未被开发人员修复,那么维护人员会修复;如果代码未被审计人员审计,那么维护人员会审计。而且,像 Linux 这样庞大的项目,通常会有数百个代码补丁,而这些维护工作往往需要一周的时间。



钱少事多,开源项目维护人员几乎集体出走
价值和收入不对等
钱少事多,开源项目维护人员几乎集体出走


上面提到了这么多工作,有人可能以为维护人员赚得肯定不少。但事实并非如此。虽然顶级维护人员如 Kroah-Hartman 和 Linus Torvalds 等通过 Linux 收入丰厚,但 Tidelift 发布的一项新调查显示,46%的开源项目维护人员根本没有收入!而那些为此获得收入的人,只有26%的年收入超过1000美元。这种情况真是惨不忍睹。

Tidelift 公司的业务是提供开源软件管理工具,它在对不到400名的维护人员展开调查时发现仅半数的维护人员是无偿的志愿者。这些人的动力来自哪里?结果显示:

  • 71%的受访者是为了,“给世界带来积极影响”;

  • 63%的受访者是为了,“满足自己从事具有创造性、挑战性和/或愉悦性工作的愿望“;

  • 59%的受访者是为了“参与对我具有重要意义的项目“。

这些答案丝毫不令人惊讶。

正如 Linux 基金会的开源安全基金会和哈佛大学创新科学实验室在联合发布的《2020年 FOSS 贡献者调查报告》中提到的那样,开发人员参与项目的最主要原因是增加所需特性或修复自己已经在使用的程序,其次是乐于学习和满足创造性或愉悦性工作的愿望。而最底层要求是,获得报酬。

有必要说明一点,不管你是开发人员、审计人员还是维护人员,获得报酬仍然很重要。做志愿者的快乐毕竟无法为你提供栖身之所。

以及,虽然如今通过维护获得报酬在维护人员喜欢的清单中排名垫底(21%),但如果深入挖掘数据就会发现,出现这种情况的原因在于由于从未因此获得过报酬,因此不会太考虑。所以,虽然每年由此获得少于1000美元报酬的人中仅有18%表示,他们做维护人员的目的之一是获得报酬,但获得更多报酬的维护人员却有不同的想法。例如,在每年能由此获得超过1万美元收入的人中,61%的人把收入列为重要的考虑因素。



钱少事多,开源项目维护人员几乎集体出走
软件供应链的潜在风险
钱少事多,开源项目维护人员几乎集体出走


Tidelift 公司的首席执行官兼联合创始人 Donald Fischer 指出,“全世界都依赖于开源组件推动应用程序的发展,但数据显示,创建并维护开源项目运行的开源维护人员虽然提供了巨大的价值,但并未获得合理的回报。通往更安全、更健康的开源软件供应链之路,首先要确保更多的志愿维护人员能够因提供的重要工作得到合理报酬。“

虽然和开源打交道能获得很多快乐,但不久后就会变得枯燥无味。热爱和痛恨仅一线之差。除了经济上没有得到报酬外,维护开源项目的工作通常充满压力且不被人感激。有多少次,你会因为程序员没有 RTFM 而拒绝接受补丁?有多少次,你会听取开发人员说自己有缺陷的代码正是项目所需的意见?坦白讲,我不清楚多数维护人员会如何应对这种情况。



钱少事多,开源项目维护人员几乎集体出走
有人已经退出
钱少事多,开源项目维护人员几乎集体出走


近一半的受访者 (49%) 不想当维护人员的最大原因是,“我的工作获得的报酬不够或根本没有报酬“,其次是”增加个人压力“(45%),以及“觉得不受重视或得不到感谢”(40%)。

确实,超过半数 (59%) 的受访维护人员已经退出或考虑退出项目维护工作。一名维护人员处理的项目越多,他考虑退出的可能性就越大:超过三分之二(68%)的管理10个或以上开源项目的维护人员已经退出或正在考虑退出。

一些开发人员,如热门 NoSQL 数据库 Redis 的创始人 Salvatore Sanfilippo 退出了维护工作,原因是他们宁愿当开发人员而不是管理人员。但60%的受访者指出,自己退出的最大原因是“生活和工作中的其它事情更重要”。而这里的“其它事情“往往是从主业中赚钱。

虽然需要做很多工作才能让维护人员的生活更轻松,但首要的应该是为他们提供的价值支付报酬。



近期,奇安信集团在《2021中国软件供应链安全分析报告》中也提到,开源项目无人维护或放弃维护也是软件供应链安全面临的运维风险。报告指出,仍然有项目还在使用18年前的老旧开源软件版本。这些项目已经没有任何人维护,出现的任何安全问题均放任自流,为软件供应链安全带来巨大隐患。报告还提到,软件供应链是一个系统工程,需要长期、持续的投入的,需要国家行业监管层面、最终用户层面和供应商(厂商)层面的共同努力。