《中国AI Agent应用研究报告 2024》开放下载 >>> 了解详情
写点什么

坐拥百万用户的开源项目没钱了,尤雨溪发推力挺被质疑的全职维护者

  • 2021-05-13
  • 本文字数:2956 字

    阅读完需:约 10 分钟

坐拥百万用户的开源项目没钱了,尤雨溪发推力挺被质疑的全职维护者

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

 

项目创建者 Sebastian McKenzie 在 Twitter 上表示,造成现在局面的原因是资金分配不当:“有人拿了 13 万美元的年薪,而实际上没有在该项目上工作。”这也引起了广大开发者对项目贡献问题的讨论。

 

开源项目能否养得起全职成员?

 

Babel 是一个用于编写下一代 JavaScript 的编译器,可以帮助开发者在最新版本的 JavaScript 中编写代码,现已被集成至 JavaScript 生态系统中的 React、Next.js、Vue、Ember 和 Angular 等框架中,拥有数百万的用户,每月下载量超过 1.17 亿次。Babel 在GitHub也收获了 39,000 个星。

 

Babel 团队做了一项两年多的资金实验:开源项目是否可以养得起全职成员。但当前的 Babel 给出了答案:“很遗憾,现在可能不行。”

 

2018 年,在通过支持 Babel 项目的 Open Collective 基金获得一定报酬后,Henry 辞去工作成了 Babel 的全职工作人员。几个月后,Henry 每个月可以领到固定底薪 11000 美元。项目初期资金来源于 Handshake、Airbnb、Trivago、Gatsby、AMP 以及 Salesforce 的赞助。

 

2019 年 11 月,在成功向 Henry 支付了一年的薪水之后,Babel 全职团队又增加了三位成员:Huáng JùnliàngKai Cataldo 和Nicolò Ribaudo,这三人最初都是兼职做维护工作,每个月可以领取 2000 美元的报酬。

 

在早期尝试阶段,Babel 就清楚没有足够的资金向任何维护者支付全职薪酬。因此,Henry 一直通过在各类会议发表演讲、与企业用户交流等工作上投入大量精力,努力为项目获取持续的资金流。

 

Babel 表示,尽管科技行业在整个 2020 年获得了不错的发展,但新冠疫情的爆发还是让项目失去了几家大型赞助商,资金出现危机。Kai 不得不辞职,从事另一份全职工作。

 

各个项目都有独特的资金划拨思路与实际问题。Babel 表示自己当前的问题在于,就像大多数的构建工具一样,用户通常只需要一次设置就可以使用,不会直接与项目交互。虽然大部分主要 JS 框架都能与 Babel 相适配,但人才市场上并没有“Babel 开发者”这类岗位。

 

此外,随着 Next.js 等预配置框架的快速发展,用户已经不再需要亲自管理底层构建工具,这相当于把 Babel 与框架使用者彻底隔离开来。由于“存在感”不强,Babel 项目确实很难吸引到用户的关注,更遑论资金支持。

 


 年薪超 13 万美元却没有贡献?

 

但项目创始人 McKenzie 发表了另一种观点,并一度将矛头直接指向了 Henry。“有人拿了 13 万美元的年薪,但实际上并没有参与这个项目。”

 

McKenzie 现在拥有自己的 JavaScript 工具项目Rome,已经不是 Babel 的核心团队成员。McKenzie 表示:“在 2020 年,Henry 创建了 12 个议题,评论了 25 次,创建了 29 个 Pull 请求。很抱歉,这绝对不值 13.2 万美元,特别是还有其他贡献者在免费做更多的事情。”

 

McKenzie 的说法受到了另外一位全职维护成员 Ribaudo 的质疑,他在Hacker News上表示,仅仅查看 GitHub 并计算每个贡献者的提交数量并不能说明一个人工作了多少。Ribaudo 解释道,Henry 的大部分工作是宣传和筹集资金。“Henry 联系企业,说服他们支持 Babel。可能没有他也会有企业捐助我们,但我认为不会达到现在可以支付团队费用的水平。”

 

而 Vue.js 作者尤雨溪也驳斥了 McKenzie 的说法。他表示在一个项目中,不仅仅是提交文件,还要制定决策、管理团队、筹集资金,以及处理“我要为项目负责”的精神压力,这些都是为项目工作的内容。

 

尤雨溪为 Henry 辩护道:如果 Henry 当初没有在 McKenzie 离开项目的时候接管过来,Babel 早已死掉。实际上,Henry 也完全不需要这样做,他大可以找一份高薪的全职工作,但他还是选择了留下来,因为他认为这是正确的选择。“对于一个让 Babel 持续保持运转的人来说,13 万是一个很大的数字吗?我认为可能还不够。”


根据 Ribaudo 透露,团队内部已经讨论过薪资差异的问题,成员们认为确实应该重新评估薪资水平。Henry 薪酬之所以比其他人高,主要是因为他是当初唯一一个付费的捐赠者。

 

Henry 也承认自己更像一个维护者而非创造者。“我意识到我喜欢处理更多人际关系和社区方面的事,即使我不擅长。”他在去年表示。

 

现在,McKenzie 删去了此前在推特上的言论,随后发文表示自己意识到了一个项目中的非代码贡献的重要性,并为之前的言论道歉。

 

虽然出现了资金危机,Babel 表示仍将向剩下的三位成员每月支付 6000 美元的薪酬,以便继续改善项目。处于这次争论中心的 Henry 也愿意接受减薪,因为他认为这是“在目前的资金状况下可以让项目继续进行的唯一途径。”

 

Babel 表示未来仍会努力提高核心团队的薪酬水平。不过理想很丰满,但现实却很骨感。为了给到核心团队成员理想的薪资水平,Babel 预计每年至少需要 33.3 万美元,但该项目当前的收入只达到这个数字的一半。

 

现在,Babel 团队在通过 Open Collective 与 GitHub 赞助商渠道为项目征集资金,希望获得更多企业赞助者的帮助。Babel 表示,“越来越多的企业正在使用 Babel 工具进行产品交付,而我们只希望从项目创造的价值中获取一小部分来维持正常运营。” 

开源可持续性问题

 

Babel 项目的资金问题是很多开源项目都会遇到的问题,这也是影响开源项目可持续性的一个长期性问题。开源项目要可持续,需要一个成熟的商业模式,仅凭志愿者“用爱发电”难以长久。

 

在线开发工具公司 Gitpod 高级开发工程师、开源代码长期维护者 Geoff Huntley 表示,许多开发者由于兴趣和爱好自愿贡献代码,社区得以发展。但缺乏资金可能会使负责保持项目进展的开源维护者筋疲力尽。

 

“导致倦怠的原因之一是很多人正在执行自己不喜欢的任务和活动,根本原因是开放源代码是建立在自由劳动之上的。”Huntley 说道。

 

根据 Synopsys 发布的关于开源安全性和风险报告,每个商业应用的开源组件数量从 2016 年的 84 个跃升到了去年的 528 个。但实际上,开源维护者通过开发软件所获得的收入并没有随之增长多少。

 

在 2019 年,开发人员 André Staltz 从 Open Collective 和 GitHub 收集了相关数据来评估项目收入。结果显示,超过 50%项目的维护者维持收入连贫困线都达不到,而 31%项目的工资在业内被认为是不可接受的。

 


开源项目还没有找到成熟、可持续的发展模式。国外比较成熟的运转模式是一手社区开源,一手商业版本+咨询服务,这反映了开源项目的维护和运行仍需要资金的支持。

 

现在开源项目主要的资金来源还是捐助,而这部分来源的资金数量并不客观。以被成千上万个公司和应用程序使用的 OpenSSL 为例,OpenSSL 是一个完全靠其贡献者和捐赠者的自愿努力维持的项目,在 2014 年发生 Heartbleed 安全漏洞之前,OpenSSL 软件基金会每年收到的捐款为 2,000 美元,在安全问题引发关注后也仅新增了 9,000 美元,同时人们还发现该项目仅有一名全职开发人员。

 

同时,捐赠资金也有很大的不确定性,就像在去年企业收益下行的情况下,Babel 得到的捐赠也随之大量减少。

 

André 给出了开源项目受捐赠的最佳可持续点(相当于维持行业标准):一个受欢迎的项目、拥有足够小的团队,并知道如何从一群捐赠者或赞助组织筹集大量资金。但要同时做到这三点很难。开源究竟该如何可持续地发展下去是需要开发者们共同思考的问题。

 

参考链接:

 

https://babeljs.io/blog/2021/05/10/funding-update.html

 

https://www.theregister.com/2021/05/12/babel_money_woes/

2021-05-13 14:554851

评论 2 条评论

发布
用户头像
提到了OpenSSL 为什么不提罗永浩呢
2021-09-05 19:51
回复
用户头像
软件从来就不是用金钱可以堆起来的,靠的是信仰。开源项目也不例外。看看 linux 内核的开发就明白了。
2021-05-17 08:37
回复
没有更多了
发现更多内容

MySQL实战笔记-事务隔离和MVCC

shiziwen

MySQL 学习 事务隔离级别

啪啪,打脸了!领导说:try-catch必须放在循环体外!

王磊

Java 性能优化 性能 java编程

产品经理的商业能力

punkboy

程序人生 产品经理 商业 商业模式 商业价值

我的 Windows 利器

玄兴梦影

工具 Win

架构学习历程

机器学习算法评估指标——2D目标检测

做技术BP的文案Gou

这些Java8官方挖的坑,你踩过几个?

牧码哥

Java 踩坑 加密 「Java 25周年」

匆忙的一周 ARTS第二周

困到清醒

从技术到管理,我在极客时间的成长历程

邓建春

游戏夜读 | 2020周记(5.24-5.31)

game1night

深度解读 Flink 1.11:流批一体 Hive 数仓

Apache Flink

大数据 flink 流计算 实时计算

搞定 HTTP 协议(一):HTTP 与网络基础

零和幺

技术 大前端 HTTP

深入理解ContextClassLoader

Skye

深入理解JVM ContextClassLoader

java的时间利器:joda

毛佳伟🐳

Java

万字长文,助你吃透Eureka服务发现机制!

攀岩飞鱼

分布式 微服务 Eureka

深入理解JVM类加载机制

Skye

类加载 深入理解JVM

关于区块链的“去中心化”,90% 的人都搞错了

CECBC

CECBC 区块链技术 去中心化 专制

信息的表示与存储-整数的表示

引花眠

ARTS打卡 第2周

引花眠

ARTS 打卡计划

不想被下载限速,教你自建属于自己的云盘!

小傅哥

小傅哥 云服务 云盘 在线网盘

除了直接看余额,谁更有钱还能怎么比(三)

石君

零知识证明 多方计算 同态加密

CPU的性能,编译器是这样压榨的!

GPU

算法 cpu 编译器 程序语言

【大厂面试01期】高并发场景下,如何保证缓存与数据库一致性?

NotFound9

Java MySQL 数据库 redis 后端

[Redis] 你了解 Redis 的三种集群模式吗?

猴哥一一 cium

redis redis高可用 redis哨兵模式 群集安装

坏的开始是成功的一半

escray

是公司养活了你,还是你养活了公司?

四猿外

生涯规划 程序员 个人成长

深入理解ClassLoader

Skye

类加载 深入理解JVM ClassLoader

Linux 自动化运维工具 ansible

杨仪军

Linux 运维自动化

【求锤得锤的故事】Redis锁从面试连环炮聊到神仙打架。

why技术

redis 分布式锁 分布式系统

赢的境界 - 双赢思维

石云升

创业 创业心态 双赢思维

iOS 动画 - 窗景篇(一)

柯烂

ios objective-c swift 移动应用 动画

坐拥百万用户的开源项目没钱了,尤雨溪发推力挺被质疑的全职维护者_语言 & 开发_褚杏娟_InfoQ精选文章