From the Heart of the Machine

The famous JavaScript compiler Babel ran out of money, and its creators thought its maintainers were being “overpaid.”

Recently, an announcement made by JavaScript compiler Babel has been the focus of much discussion in the open source community. The maintenance team at Babel, which has millions of users and is used by Facebook, Airbnb and Netflix, announced on its official blog that it was “out of money.”

Blog address:Babeljs. IO/blog / 2021/0…

With the core idea of “We are out of money and need to donate”, the whole post is divided into five parts, which are distilled below:

  • Initially, we paid a full-time salary of $11,000 / month to Henry Zhu, the maintainer, and three part-time developers, Junliang, Nicolo, and Kai, initially $2,000 / month.
  • Babel has grown rapidly, with more than 117 million monthly downloads worldwide.
  • But Babel’s finances were so dire and it was hard to pay a full-time salary that Kai, one of the team members, had to quit to find another job;
  • In the future, we hope to receive a certain amount of sponsorship money to continue to improve the Babel user experience;
  • To keep Babel running well, we need at least $333,000 a year (twice our current annual revenue), and we hope you’ll be able to fund it.

According to the blog, Nicolo, Henry, and Junliang are currently earning a modest $6,000 a month, but it appears Babel only has enough money left to last until the end of 2021.

The Babel project started in 2014, and in terms of functionality, it helps users compile code in the latest version of JavaScript, compiling features into supported versions when the user-supported environment doesn’t support them.

Because the project is open source, it is free for anyone to use, download and modify. As a community-driven project, Babel is used by many companies and projects and maintained by teams of volunteers.

GitHub project address: github.com/babel/babel

Babel has implemented support for many of the new ECMAScript proposals, keeping up with each new release of TypeScript and Flow, and designing new features to produce smaller compiled output. In addition, Babel is integrated into various frameworks in the JavaScript ecosystem, such as React, nex.js, Vue, Ember, and Angular. Babel supports custom plug-ins and optimizations in a variety of scenarios, such as CSS-in-JS, GraphQL, or localization across a large code base.

In the blog post, the team also mentioned the upcoming Babel 8 release. However, Babel is an underlying tool that many people use but don’t really know much about, let alone sponsor projects.

Is full-time maintenance a dead end?

According to the Babel website, the project currently has six core maintainers, including Brian Ng, Henry Zhu, etc., and this small team is responsible for the maintenance of Babel.

Why did the money run out? It all started in 2018, when the Babel team conducted an experiment to maintain the project full-time and pay the maintenance staff a salary.

Henry Zhu resigned from Adobe to take a full-time job at Babel. By November 2019, Babel had successfully paid Henry Zhu’s salary for more than a year ($11,000 per month) and started paying three other part-time members, Junliang, Kai and Nicolo, initially $2,000 per month. In addition, Babel hopes to increase the budget later and convert three part-time members to full-time.

As the years went by, Babel’s team found that “full-time maintenance didn’t seem to work” and realized that some changes needed to be made after taking into account the donations they were receiving. For now, although the Babel team still pays three members — Henry Zhu, Junliang, and Nicolo — “we are running out of money to pay maintainers,” the blog post says, and asks for support.

In fact, from the beginning, the Babel team knew there wasn’t enough salary to pay full-time maintenance staff. As a result, member Henry Zhu spends much of his time actively seeking ongoing funding, such as speaking at conferences or lobbying for corporate sponsorship. But in 2020, Team Babel’s financing suffered a lot, losing some big sponsors. Member Kai has also had to give up his maintenance job and find another full-time job. Then Babel hoped for more donations to pay Junliang and Nicolo more money, but that too fell through.

Babel’s team wrote:

We believe that working in open source should be a viable and sustainable career path. But now we have to face the hard truth: there will be no money in a few months.

The Babel team is also seeking sponsorship from companies. Nicolo added:

A lot of companies depend on our software, so it’s in their interest to make sure the Babel project is maintained and lasts forever.

Founder: Someone takes the money and doesn’t work

Once the statement was released, it quickly sparked heated discussion in the community. Nicolo said the team had received more than $40,000 in donations as of Wednesday local time.

But a tweet from Babel founder Sebastian McKenzie sparked an even more heated discussion.

Sebastian McKenzie is now a principal at another firm, Rome, and is no longer working on maintenance on the project. He sent out a tweet that implied core team member Henry Zhu was in his place:

There was no money because someone was paid $130,000 a year and didn’t actually work on the project.

But Sebastian McKenzie later deleted the tweet and apologized for the impact.

I shouldn’t have mentioned Henry publicly. I should have communicated privately. Tweeting out of frustration and being too crude is bad behavior.

Is it reasonable to blame one person for a tight project? Indie developers, including Vue founder Evan You, have come out in support of McKenzie’s criticism of Henry Zhu.

Maintaining a project means not just push commit, but managing the team, funding, and mental stress.”

A creator who has completely turned over maintenance should not blame the project members. “If Henry Zhu had not taken over Babel, the project would have gone.”

Nicholas C. Zakas, creator of ESLint, a JavaScript code checking tool, said that while Zhu wasn’t the creator of Babel, he was a witness to Babel along the way, giving up opportunities to get paid more in the industry. “We can’t expect maintainers to always be paid the same or less than college graduates.”

Nicholas C. Zakas, meanwhile, admits that open source projects are not easy to run: “At ESLint, we always pay maintainers conservatively because there’s not a lot of money to pay for labor. Sponsors often disappear and we don’t want to put anyone out of work.”

Some developers believe That Henry Zhu has always done a good job of maintenance, and to accuse him is barbaric.

The question is, to donate or not to donate?

Open Source outpost shares hot, interesting, and useful open source projects on a daily basis. Participate in the maintenance of 100 thousand + Star open source technology resource library, including: Python, Java, C/C++, Go, JS, CSS, Node.js, PHP,.NET, etc.