GMTC 全球大前端技术大会(北京站)门票 9 折特惠购票最后 10 天,点击立减 ¥480 了解详情
写点什么

维护开源项目,我太难了

2021 年 6 月 09 日

维护开源项目,我太难了

最近,零日漏洞代理公司 Zerodium宣布,正在寻找影响 Windows 和 Linux 上 Pidgin 的零日漏洞。为获得其零日漏洞,该公司出价 10 万美元。



Zerodium 官网显示,Pidgin 的零日漏洞收购时间从 2021 年 6 月 1 日到 2021 年 8 月 31 日。该公司写道,“我们正在寻找影响 Windows 和 Linux 上 Pidgin 最新版的远程代码执行漏洞。这个漏洞应该能在默认安装下起作用,且除阅读消息外,无需用户任何交互。“


对此,网名叫 Gary Kramlich 的网友发推文回应,“这真实表明了开源软件悲惨的资金状况。去年,我全职为维护 Pidgin 项目工作,薪水只有 2.5 万美元,但是如果你能在我的工作和其他人的无偿工作中挖到安全漏洞,你赚取的收入将是我的 4 倍。”


据悉,Pidgin是一款免费和开源的多平台即时通讯客户端。早在 2007 年,Pidgin 已经有 300 万名用户。


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

开源项目维护,太难了

此前,坐拥百万用户的开源项目 Babel 引起开发者关注。Babel宣布,尽管有 Airb nb、Facebook、Salesforce、Gitpod、GatsbyJS、Discord 和 Elastic 等企业的赞助,但由于花钱速度继续高于获取捐赠的速度,项目储备资金目前只够维持到 2021 年底。


去年,Redis 之父宣布退出开源项目维护,他说:“最近几年来,我每天的工作内容发生了很大变化。我把大部分精力花在检查其他开发者提交的 Redis 代码、改进代码质量以及提升软件正确性、速度与安全性方面。但我真的不喜欢这类维护工作。”


更重要的是,这种全年无休的上班生活让他无法放松,从而无法做一些创造性的工作。


甚至对于全球顶级的开源项目 Linux,Linux 之父也很担忧没人继续维护内核。

开源项目维护者的窘境:工作忙,薪水低

据悉,开源项目维护工作是一项艰巨的任务。如果说开发者的职责在于修复 bug、新建功能,而审查者的职责在于把控代码质量,那么维护者就是要让开源项目长久稳定地持续下去。


可以想见,正常的开源项目中必然是开发者多于审查者、审查者又多于维护者。维护者相当于一支管弦乐团中的指挥角色。如果开发者没能修复 bug,维护者需要及时救场;如果代码未经审查,维护者也得尽快介入。


另外,对于像 Linux 这样的大型项目,每周维护者大约需要面对数百项代码补丁,工作强度可想而知。


另一方面,大多数开源项目维护者“穷的可伶”。虽然 Linus Torvalds 和 Kroah-Hartman 等 Linux 顶尖维护者的收入确实可观,但是 Tidelift 的一项最新调查发现,46%的开源项目维护者根本拿不到任何报酬。即使在拥有报酬的维护者中,也只有 26%的比例年均工作收入超过 1000 美元。


这实在太可怕了!


根据 Linux 基金会开源安全基金会(OSSF)与哈佛创新科学实验室(LISH)最近发布的 2020 年 FOSS 贡献者调查报告显示,开发者参与开源项目的首要原因,在于添加自己需要的功能或者是改进正在使用的功能;第二大原因就是享受学习感、满足感、创造性以及令人愉悦的工作内容。最后一条,才是获取报酬。


但是,不管你是开发者,还是审查者或维护者,这并不代表获取报酬不重要。ZDNet 对此评论,“志愿服务的目标在于自我实现,而非无家可归。”


根据 Tidelift 的调查表明,大多数人只是还没开始留意贡献工作的无偿属性。在年收益不足 1000 美元的受访者中,只有 18%表示自己对报酬较为看重;但每年能拿到 10000 美元以上的维护者中,高达 61%的受访者开始正视薪酬的重要意义。


Tidelift 公司 CEO 兼联合创始人 Donald Fischer 表示,“整个世界都依赖于开源组件为应用程序提供动力,但我们的调查数据显示,负责建立并维持开源体系良好运行的维护者们并没能拿到适当的收益。必须开辟出一条更安全、更健康的开源软件供应链发展道路,也必须保证能有更多的志愿维护者能因自己做出的卓越贡献拿到充足的报酬。”


在调查当中,近半数受访者(49%)将“我的工作完全没有或者没有得到相应的经济报偿”作为不想担任维护者的首要原因,其次则是“会增加我的个人压力”(45%)以及“感觉不受重视、或者会吃力不讨好”(40%)。


事实上,超过半数(59%)的受访维护者已经或者正在考虑退出项目维护工作。而维护者同时管理的项目越多,决定中途放弃的可能性就越大——在同时管理 10 个甚至更多项目的维护者中,有超过三分之二(68%)已经退出或者正考虑退出。

写在最后

当今,开源已经成为一股潮流,开源文化流行,开源项目层出不穷。但是,我们也看到无数的开源项目逐渐衰落,被人遗弃,被人淡忘。想让一个开源项目具有长久的生命力,开源项目维护无疑是亟待解决的首要问题。

2021 年 6 月 09 日 11:141
用户头像
万佳 InfoQ编辑

发布了 571 篇内容, 共 210.5 次阅读, 收获喜欢 1427 次。

关注

评论

发布
暂无评论
发现更多内容

架构师训练营 1 期 - 第六周 - 技术选型2

三板斧

极客大学架构师训练营

中国程序员超5000万?一线城市IT岗位已开始饱和过剩?

Java架构师迁哥

华为云专家私房课:视频传输技术选型的三大法宝

华为云开发者社区

音视频 视频 传输

4年Java经验,去面试居然10分钟就结束了,现在面试为什么这么难?

Java架构之路

Java 程序员 架构 面试 编程语言

云原生时代下数据库管理工具的变革

CloudQuery社区

数据库 sql 云原生 数据治理 工具软件

第七周课后总结

饭桶

JUC之 FutureTask 源码与工作原理分析

AI乔治

Java 编程 架构 jdk 线程

JUC 之ThreadPoolExecutor实现原理分析

AI乔治

Java 架构 jdk 线程

电子劳动合同来了 足不出户也能签约

CECBC区块链专委会

社会保险 电子合同

微信小程序接口测试时appid为空如何解决

测试人生路

微信小程序 接口测试

JVM垃圾回收与一次线上内存泄露问题分析和解决过程

AI乔治

Java 编程 架构 JVM 内存泄漏

鬼知道我经历了什么!全靠这份999页Java面试宝典,我刚拿到美团offer!

Java架构追梦

Java 程序员 架构 面试 美团

偷师Kubernetes源码,学会怎么用Go实现调度队列

网管

go Kubernetes 并发编程 并发控制

Github标星35K+超火的Spring Boot实战项目,附超全教程文档

Java架构之路

Java 程序员 架构 面试 编程语言

阿里五位大佬总结的操作系统+程序员必知硬核知识大全离线版pdf火了,在Github上获赞89.3K+,现已开源!

996小迁

架构 面试 操作系统 计算机

开发一个区块链钱包要多久,数字货币钱包软件搭建

135深圳3055源中瑞8032

美国大选观战感受:用区块链投票吧,少操点心

CECBC区块链专委会

区块链 投票机制

如何降低young gc时间

AI乔治

Java 架构 GC GC算法

第六周学习技术选型2总结

三板斧

OTC场外交易系统开发,数字货币交易所开发服务商

135深圳3055源中瑞8032

USDT承兑商支付系统开发优势,区块链支付系统

135深圳3055源中瑞8032

登陆!Let's Start Coding

蚂蚁集团移动开发平台 mPaaS

移动开发 mPaaS

日常工作参数分析

hasWhere

饱受毕设摧残计算机系师兄,怒而分享纯净版SSM框架(附源码)

小Q

Java 学习 面试 开发 SSM框架

零基础IM开发入门(四):什么是IM系统的消息时序一致性?

JackJiang

谈谈项目中主动full gc的一些问题

AI乔治

Java 编程 架构 JVM GC

架构训练营-week7-学习总结-性能测试,操作系统,锁

于成龙

架构训练营

合约跟单源码开发,广东合约跟单软件开发公司

135深圳3055源中瑞8032

全国区块链信息服务备案超千个

CECBC区块链专委会

区块链 金融

第七周课后练习

饭桶

【API进阶之路】API带来的微创新,打动投资人鼓励我创业

华为云开发者社区

学习 视频 API

维护开源项目,我太难了-InfoQ