开源项目存活有多难? 拥有数百万用户的 Babel 陷入财务困境
共 2352字,需浏览 5分钟
·
2021-05-16 15:16
近日,Babel 项目核心团队发布博客称陷入财务困境。为了继续维护和开发 Babel,保证核心开发团队的薪资,Babel 团队向社区请求支持,希望收到捐赠或赞助。
据透露,Babel 项目自 2018 年起,进行了一项资金实验(funding experiment):全职从事 Babel 开发是否可持续?目前的情况看来,这项实验失败了。
Babel 项目简介
Babel 是一个工具链,主要用于将采用 ECMAScript 2015+ 语法编写的代码转换为向后兼容的 JavaScript 语法,以便能够运行在当前和旧版本的浏览器或其他环境中。Babel 能够实现以下功能:
语法转换
通过 Polyfill 方式在目标环境中添加缺失的特性(通过第三方 polyfill 模块,例如 core-js,实现)
源码转换 (codemods)
Babel 的用户有数百万人,被全球成千上万家公司使用,每月下载量超过 1.17 亿次。目前 Babel 已被集成到 JavaScript 生态的各种框架中,包括 React、Next.js、Vue、Ember、Angular 等。此外,它支持各种场景下的自定义插件和优化,如 CSS-in-JS、GraphQL 或跨巨大代码库的本地化。
目前,Babel 实现了对许多新 ECMAScript 提案的支持,与每个 TypeScript 和 Flow 新版本保持同步,并设计了一些新功能以允许生成较小的编译输出。Babel 团队表示即将发布下一个主要版本 Babel 8,并发布了路线图(详见 https://babeljs.io/docs/en/roadmap#babel-2021-roadmap)。
全职开发 Babel,有多难?
尽管用户众多,但 Babel 项目的资金情况并不乐观。
每个项目都面临着独特的资金问题。对于 Babel 来说,用户通常不会直接与之交互:像大多数构建工具一样,用户只在最初设置一次,之后就忘记了(除非有时发现错误)。
即使大多数主要的 JS 框架集成了 Babel,但开发者通常不会看到「Babel 开发人员」的工作机会。此外,Next.js 之类的预配置框架使用户无需管理底层构建工具,这类框架的发展使得「使用 Babel,但不了解它」的情况非常常见。这为吸引赞助增加了难度。
2018 年,Babel 现任负责人、核心维护者之一 Henry Zhu 辞去工作,全职从事 Babel 项目开发工作。经过数月的筹款之后,Henry 以每月 11000 美元的基础薪资投入 Babel 项目中。
2019 年 11 月,成功为 Henry 支付了一年全职薪资后,Babel 团队决定向另外几位重要贡献者 Huáng Jùnliàng、Nicolò Ribaudo 和 Kai Cataldo 支付兼职费用,最初的薪资是每月 2000 美元。Babel 团队希望能够筹措到更多资金,为他们提供全职薪资。
然而,2020 年主要赞助商的退出使 Babel 项目的资金状况陷入困顿,Kai 不得不辞职,转而从事另一份全职工作。
目前,Babel 仍在为 Nicolò、Henry 和 Jùnliàng 提供每月 6000 美元的临时薪资。尽管如此,每月的资金消耗仍超过捐款数额,Babel 团队表示目前的资金余额仅能维持到 2021 年底。
该团队表示,如要为维护者提供充足的薪资,每年至少需要 333,000 美元,而这是其目前收入的 2 倍。
因而,Babel 希望社区提供帮助,通过 Open Collective 和 GitHub Sponsors 捐款。除此以外,Babel 也在积极寻求企业赞助。
捐赠渠道:
https://opencollective.com/babel
https://github.com/sponsors/babel
Babel 团队在博客中表示:
我们坚信,从事开源工作应该是一条可行且可持续的职业道路。但现实情况是,如果没有更多的资金,我们可能无法维持对 Babel 的高水平支持和开发。我们同时面临着失去更多团队成员的风险,他们应该依靠自己的技能水平过上体面的生活。
全职开源开发者,薪资应该怎么给?
Babel 团队的捐款请求在发布后受到不少质疑。Babel 项目创始人、后来离开的 Sebastian McKenzie(@sebmck)发推表示,Babel 资金困境的原因是现负责人 Henry Zhu 领取 13 万年薪,但并未为项目做太多贡献,过去一年只提交过 7 次代码。
对于此观点,Vue.js 作者尤雨溪进行了反驳。他认为「Working on a project」不仅仅指提交代码,还包括做决策、筹措资金、管理团队,并且面临着巨大的心理压力。他指出如果不是 Henry 在 @sebmck 离开时接任,Babel 项目可能已经死掉,且对于维护拥有数百万开发者用户的项目而言,13 万年薪并不算多。
目前,@sebmck 已将原推文删除并道歉。
参考链接:
https://babeljs.io/blog/2021/05/10/funding-update
https://www.babeljs.cn/docs/
https://www.babeljs.cn/team