One of the greatest strengths of open source software is that it is open and free for anyone to contribute. This also leads to one of its greatest challenges, which is to support consistent, sustainable maintenance.
Babel isn't a company. As mentioned in the 7.0.0 post, the all-volunteer Babel team (sans Henry) has been doing its best to steward the project and handle all the expectations of the community. We're glad that we have continued to make releases, but even keeping up-to-date with reported issues is difficult to manage, let alone our integrations with other tools, new proposals, and effect on the greater ecosystem.
In March 2018, Henry left his job to start working on securing more funding for Babel. After a lot of work and support from the community, the team was able to fund Henry as a full-time maintainer.
This has been a big win for the team, but we're finding that it is not enough.
New Challenges
Babel has come a long way from its origins as "6to5", growing beyond just the adoption and implementation of language features in JavaScript. It has become a key part in its development:
-
Babel's popularity has increased exponentially, going from 3M downloads per week in March 2018 to 16M downloads per week today.
-
Babel is now involved in the TC39 standards process as participating members in meetings and discussions. "Is there a Babel plugin already?" is a common question for new proposals.
-
Babel has become so embedded as underlying infrastructure that most developers interact with it indirectly, including in CLIs such as
create-react-app
, bundlers like Parcel, frameworks like Next.js, and many npm libraries.
Widespread adoption brings with it new challenges, and the team has been grappling with issues around maintenance and sustainability. The project has grown beyond the resources the team has available, and we'd like to share our plan for addressing this problem.
Funding Plans
We believe that Babel would benefit immensely from more than one person being funded to work on the project, and want to secure funding for three additional team members, Nicolò, Jùnliàng, and Kai as part-time maintainers.
We are setting up an additional funding goal of $12,000/month through Open Collective. This is $4,000/month each, which is the target we have defined for a part-time salary.
We discussed a number of different approaches as a team – creating an hourly rate for contributors, setting aside grants for features, bug bounties for specific issues – and ultimately decided that a stable income would lead to higher quality work (no pressure to rush development), the ability to dedicate time to plan for a roadmap in a more holistic manner, being able to take time for breaks and vacation, and not having to worry about where their next paycheck is coming from.
That being said, we will continue to evaluate and be open/transparent with making changes as needed.
We'd like to give a huge shoutout to our Open Collective sponsors: Handshake, Airbnb, AMP, Facebook, trivago, Salesforce, Frontend Masters, RunKit, Webflow, Adobe, Coinbase, BitMEX, and everyone else who has donated!
One thing we'd like to note: Collectives currently only show the total annual amount donated, which may work better with a one-time grant donation model. We believe that showcasing the monthly recurring amount is a more accurate description of the financial health of our project, and the team is hoping to help out with this issue.