The Beginning

Kai Cataldo • January 6th, 20203 min read

The beginning is always the hardest part.

I've been mulling over what I want to say in this, my first blog post and official announcement of my new career trajectory, for a little while now. There's so much I want to talk about that it's been difficult to know where to start.

So let me begin by sharing the exciting news. After months of self-reflection and many discussions with friends and colleagues, I have decided to pursue working on open source software full-time! I'll be splitting my time as a core maintainer between two amazing projects - ESLint and Babel - and am particularly excited about improving the integrations between them.

For those unfamiliar with these projects, here's a quick summary:

ESLint

ESLint is currently the most popular JavaScript linter with around 8.5M downloads a week on npm at the time of this writing. In recent years, it has also been embraced by the TypeScript community and has a rich ecosystem of plugins and shared configurations to help enforce best practices and avoid pitfalls of the language or a given framework or library. If you've used the web today, you've probably interacted with some service or application that relies on ESLint to prevent broken code from getting into production (this site included!).

Babel

Babel is a compiler used to transform new ECMAScript syntax to code that can be run in environments that don't yet support it. Babel is used even more widely than ESLint, and is currently downloaded around 16M times a week. It is used by many of today's popular JavaScript tools, from frameworks and libraries to bundlers to command line tools. It has even become an important part of the development process of the language itself, allowing the TC39 committee to see their designs out in the wild in real life applications before finalizing features as part of the spec.

Goals

I have a few overarching goals in pursuing full-time open source work:

  • Both ESLint and Babel are important tools that make the web a better place for us all, and they deserve dedicated maintainers and support from the community. I want to help make both tools and their respective communities the best they can be.
  • We as a community need to figure out how we're going to support the open source projects that serve as the infrastructure we build the web on. The current model of volunteer-based maintainership is detrimental to the well-being of maintainers and it puts the future of these integral projects at risk. I've found myself in the unique position of being able to explore this, and I want to do so not only for my own growth, but also to add to the body of knowledge around sustainable open source software.
  • I want to champion for more welcoming and inclusive open source communities. The more people want to be involved and the more diversity of thought we can draw upon, the better and more resilient our software will become.

I also have some concrete goals that I am focusing on immediately (in addition to regular maintenance responsibilities like issue triage, PR review, and meetings):

  • Figure out a better maintenance strategy for babel-eslint
  • Work on the ESLint v7 release
  • Find ways to lower the barrier for contribution to both projects
  • Improve the ESLint website

Sponsorship

I'm currently planning to be funded entirely through GitHub Sponsors and ESLint and Babel's Open Collectives. I'm starting out at roughly 60% of my target monthly goal (which is amazing!) and am confident that, with the support of the community, I'll be able to reach it.

Thank You, Thank You, Thank You

I'm so grateful for my dedicated, supportive colleagues on both the ESLint and Babel teams. I don't take lightly the trust you have placed in me, and I'm humbled by this opportunity. I also want to thank the folks working on tools like Open Collective and GitHub Sponsors. Your work has enabled me to pursue something that, even just a year ago, felt unattainable. Last but not least, thank you to the community for all the generous support that has allowed me to take this leap of faith by sponsoring ESLint and Babel. This is only possible because of you.

👋 Thanks for checking out my post!

My work is funded entirely through GitHub Sponsors and Babel and ESLint's respective Open Collectives and is only possible through generous donations. Please speak with your employer about sponsorship if you'd like to support my work!