HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

维护开源项目,我太难了

  • 2021-06-09
  • 本文字数:1798 字

    阅读完需:约 6 分钟

维护开源项目,我太难了

最近,零日漏洞代理公司 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-06-09 11:141734
用户头像
万佳 前InfoQ编辑

发布了 677 篇内容, 共 356.0 次阅读, 收获喜欢 1800 次。

关注

评论

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

克服 ClickHouse 运维难题:ByteHouse 水平扩容功能上线

字节跳动数据平台

云原生 数仓 bytehouse 企业号 7 月 PK 榜

万字详解 | Java 函数式编程

不在线第一只蜗牛

函数式编程 java 编程

基于知识图谱的电影知识问答系统:训练TF-IDF 向量算法和朴素贝叶斯分类器、在 Neo4j 中查询

汀丶人工智能

人工智能 自然语言处理 深度学习 知识图谱 智能问答

你信不信,只要学几天javascript就可以使用纯原生实现五星评分效果 【附完整代码】

Geek_yx5md7

JavaScript 前端开发 函数 前端基础 DOM操作

从0到100:定制公交预约小程序开发笔记

CC同学

IPQ5018 SoC with QCN9074 VS QCN6122|IIOT Wifi6 solution|Wallys

wallyslilly

ipq5018

大咖论道,大模型时代软件研发效率革命

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 7 月 PK 榜

从0-100:约拍小程序开发笔记

CC同学

华为云CodeArts Check代码检查插件3大版本使用指南

华为云PaaS服务小智

华为云 代码检查 华为开发者

百度iOS端长连接组件建设及应用实践

百度Geek说

网络编程 移动端 即时通讯IM 长连接 企业号 7 月 PK 榜

深入解读:多人语音聊天室源码开发搭建社交分享功能

山东布谷科技

软件开发 语音聊天室 源码搭建 语音聊天源码 语音聊天

Linux(CentOS7)安装最新版Python

百度搜索:蓝易云

Python 云计算 Linux centos7 运维

领域知识图谱的医生推荐系统:利用BERT+CRF+BiLSTM的医疗实体识别,建立医学知识图谱,建立知识问答系统

汀丶人工智能

人工智能 自然语言处理 深度学习 知识图谱 智能问答

go 实现ringbuffer以及ringbuffer使用场景介绍

蓝胖子的编程梦

TCP 网络 epoll ringbuffer 环形缓冲区

机器学习洞察 | 挖掘多模态数据机器学习的价值

亚马逊云科技 (Amazon Web Services)

机器学习

代码随想录 Day15 - 二叉树(二)

jjn0703

从0到1:垃圾上门回收预约小程序开发笔记

CC同学

给 ES 插上向量检索的翅膀 | DataFunSummit 2023 峰会演讲内容速达

极限实验室

ES 分布式存储 向量数据库 极限科技 2023数据基础架构峰会

我和敏捷有点缘

ShineScrum捷行

敏捷教练

低代码为运营需求发力 | 社区征文

--linshuai

前端 低代码 年中技术盘点

OCR技术的昨天今天和明天!2023年最全OCR技术指南!

合合技术团队

人工智能 合合信息 OCR技术

AIGC时代:未来已来

EquatorCoco

人工智能 AIGC

阿里云容蓓:DCDN 助力云原生时代的应用构建及最佳实践

阿里云视频云

云计算 阿里云

用 Spring 管理 Controller,你觉得可行吗?

江南一点雨

Java spring

Linux和Windows系统下安装深度学习框架所需支持:Anaconda、Paddlepaddle、Paddlenlp、pytorch,含GPU、CPU版本详细安装过程

汀丶人工智能

人工智能 paddle Anaconda 深度学习框架 PyTorch

数据安全没保证?GaussDB(for Redis)为你保驾护航

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 7 月 PK 榜

centos7系统安装xrdp教程。

百度搜索:蓝易云

云计算 Linux centos 运维 xrdp

CentOS7安装MySQL8

百度搜索:蓝易云

MySQL Linux centos 运维 Web

PyTorch: nn网络层-卷积层

timerring

PyTorch

聊聊微服务 架构思想

EquatorCoco

架构 微服务

代码随想录 Day14 - 二叉树(一)

jjn0703

维护开源项目,我太难了_开源_万佳_InfoQ精选文章