Codecademy 2022 Open Source Sponsorships

Matt Bacchi
Codecademy Engineering
4 min readFeb 25, 2022

--

Last year, we announced the 2021 Codecademy Open Source Sponsorships. This year we’re excited to say we’re continuing to support open source, and actually increasing our investment. We’re committing to spending at least $15,000 in 2022 toward financing open source software projects.

Open source software — software whose source code can be viewed or even modified by anyone — has permeated every form of software development, from server architectures to web applications to video games. The principles of open source software have accelerated software development by allowing developers to freely consume, share, and contribute back to software development across the world.

At Codecademy, we love open source software. All of us on the engineering team are daily consumers of open source software by virtue of the tech stacks we build and maintain. Many of us also contribute to or even maintain open source projects on our own.

Monthly Project Funding

We’ve chosen the following four projects as a good cross-section of the tech stacks that we work with frequently. Each will receive a monthly donation from our engineering team through their preferred fundraising host: either Open Collective or GitHub Sponsors.

Babel

Babel is a toolchain that is mainly used to convert ECMAScript 2015+ code into a backwards compatible version of JavaScript in current and older browsers or environments. [https://babeljs.io]

We chose to sponsor Babel because of how integral it is to our JavaScript compilation stack. Although JavaScript itself is not a “compiled” language, using newer language features or language extensions such as TypeScript requires a development-time build step to compile into usable code.

Babel does a fantastic job of compiling code, provides a great extensibility layer for plugins, and integrates well with other tools we rely on such as Jest and Webpack.

Doorkeeper

Doorkeeper is a gem (Rails engine) that makes it easy to introduce OAuth 2 provider functionality to your Ruby on Rails or Grape application. [https://github.com/doorkeeper-gem/doorkeeper]

Writing secure, reliable authentication logic in any application is hard — especially when integrating with external services. Doorkeeper makes handling login integration a breeze, allowing us to integrate with external authentication providers such as GitHub and Twitter. In other words, thanks to Doorkeeper, our learners can sign up for Codecademy accounts using their social media websites.

Homebrew

The Missing Package Manager for macOS (or Linux). Homebrew installs the stuff you need that Apple (or your Linux system) didn’t. [https://brew.sh]

Homebrew is a command-line package installer for macOS. Linux distributions have these package managers as part of the OS (apt for debian, yum for redhat, apk for alpine, etc.), but this functionality is missing from Apple’s OS. Enter Homebrew, filling the void as the unofficial de-facto package manager, for those who wish to use their Macs in a more Linux-like fashion.

TypeScript ESLint

Tooling which enables ESLint to support TypeScript. [https://typescript-eslint.io]

TypeScript enables ESLint to run on TypeScript code. It brings in the best of both tools to help you write the best JavaScript or TypeScript code you possibly can.

We heavily utilize “static analysis” tools such as linters in our software repositories to detect and prevent common mistakes, formatting issues, etc. Typescript ESLint helps save many hours of engineering time lost to debugging problems, formatting code, and security concerns.

Why Sponsor Open Source?

First and most importantly, it’s the right thing to do. Most open source software is developed without any backing company or direct financial incentive; many projects are maintained out of a sense of goodwill or technical enjoyment by their maintainers. If you or your company have the money to spare, we urge you to give something back to help support the free or underpaid labor that went into the code you rely on.

Pragmatically speaking, large, constantly-evolving projects such as Babel benefit greatly when maintainers have recurring sponsorship revenue that they can rely on to fund their development time. We’re hopeful that beyond the act of giving back, the funding we provide can help maintainers move these projects forward — and, by extension, the tech communities around them.

There are self-serving reasons too: many projects offer name and logo placement for individuals or companies who sponsor them. Getting our logo out to potential developer hires helps justify the cost.

What’s Next?

We’re excited to see where this sponsorship takes us this year, as it did last year. We hope that this money helps push forward the field of open source software and helps the maintainers of these ever-important software projects keep up their great work. As our tech stack and revenue grow, we’ll evaluate additional projects to make investments in, to expand our impact supporting open source projects.

If you’re interested in working with us on using open source software to teach the world to code, see our Careers Page for open positions!

Many thanks to Josh Goldberg for excellent copy edits on this post!

--

--