This article is more than 1 year old
Open-source JavaScript project Babel 'running out of money' after employing paid maintainers, sponsors pull out
Creator deletes posts alleging 'mismanagement' to blame
The open-source Babel JavaScript compiler project is running out of money with big sponsors having pulled out, according to its core team. And its creator yesterday threw a spanner into the works by claiming on Twitter that he believed funds were "misallocated."
Babel compiles modern JavaScript (ECMAScript 2015+) into code that runs on older web browsers. It can also compile JSX (syntax used by the React framework) and TypeScript, a typed superset of JavaScript. Using Babel is a huge benefit to developers trying to support multiple browsers on multiple platforms. Its GitHub repository has 39,000 stars and has been forked 4,800 times, showing its popularity.
The core team has now said that the project is running out of money, despite sponsorship from Airbnb, Facebook, Salesforce, Gitpod, GatsbyJS, Discord, Elastic, Vercel, and other users.
According to the post made this week, the project has been engaged in a "funding experiment" since March 2018, when contributor Henry Zhu left his job to work on securing funding and then to become a full-time paid maintainer. In November 2019, this expanded to support three additional part-time maintainers, Nicolò Ribaudo, Huáng Jùnliàng, and Kai Cataldo. Funding is managed through the Open Collective, which means anyone can see the transactions. Zhu was initially paid $11,000 per month, and, after they joined, the other three received $2,000 per month.
Funds to run out at end of 2021
The team now says that funding declined in 2020 "despite the tech industry's growth during this time." Some big sponsors dropped out, and Cataldo had to step down. "We strongly believe that working in open source should be a viable and sustainable career path. We should be bringing everyone up to the same level, not down. However, we need to face the fact that this would mean draining our current balance in just a few months," the team said.
The project has decided, despite the decline in funding, to pay all three remaining maintainers "a temporary rate of $6,000 per month." This will be sustainable until the end of 2021, during which time further funding will be sought. "We need at least $333,000 per year, which is 2x what we're currently bringing in," the team said.
Funding issues in open source are a longstanding problem affecting many projects. Babel may suffer from being somewhat hidden when it is integrated into other frameworks, such as React, Next.js, Vue, Ember and Angular. According to the team, Babel is downloaded over 117 million times a month.
How do you measure productivity? Maintainer's work ethic backed after ill-tempered debate over salaries on Twitter
Babel creator Sebastian McKenzie then complicated matters by making some strong allegations on Twitter, which he appears to regret since they were subsequently deleted, claiming Babel's "funds were misallocated for years, and the project has been too slow to improve."
McKenzie is no longer part of the Babel core team, and has his own JavaScript tooling project called Rome, which last week raised $4.5m in venture capital funding.
With respect to Babel, McKenzie alleged, referencing Zhu, "the reason there's no money is because someone took a $130K annual salary and didn't actually work on the project."
He added: "In 2020, Henry created 12 issues, commented 25 times, and created 29 pull requests. This is across all Babel orgs. Sorry but that's DEFINITELY not $132k worth of work. Especially when there are other contributors who are working for free doing much more."
McKenzie's take is very much disputed by Ribaudo, who said on Hacker News that "simply looking at GitHub and counting the number of commits for each contributor does *not* tell how much someone is working."
A large part of Zhu's work was in publicising and raising funds, Ribaudo explained. "Henry is the one who contacts companies trying to explain to them why they should support us, the one who gives most talks at their internal events: he's the one working on fundraising for the team."
There was discussion, Ribaudo said, over the discrepancy in salaries before they were equalised. "Everyone in the team was receptive to my arguments and everyone agreed that we should have reassessed our salaries. The main reason that Henry was earning more was that initially he was the only paid contributor," he said.
Evan You, creator of the Vue.js framework which is often used with Babel, said on Twitter: "Working on a project doesn't only mean pushing commits. It also means deciding what to do, syncing with committees, running a team structure, thinking about how and where to get funding, and handling the mental pressure of 'I'm responsible for this'."
He defended Zhu's record, asking: "Is 130k a lot for someone who keeps Babel, which is used by millions of devs, which effectively served as the testing ground for ES next proposals, afloat? Heck I'd say that's even too little."
He also noted that Zhu was willing to take a pay cut "because given current funding situation, that's the only way to keep the project going."
Zhu himself said in a podcast last year that "slowly over time I realized stuff that I liked doing even if I'm not good at it is trying to deal with more of the people stuff. The community-oriented stuff. And I think that's been good for the project."
He added: "I do see myself as more of a maintainer than a creator. I'm not sure if I would want to be a creator. I think I like being a maintainer of other people's code."
Babel is a highly valued project, but the situation is messy and about management and governance as much as funding itself, and another example of the sustainability problem in open source.
The Register yesterday morning asked Zhu to comment. ®