A year ago, Codecov announced that we were open-sourcing our product under the BuSL license. Those in the know about the OSI, software licensing, and the BuSL will probably (and probably did) raise an eyebrow at that statement. Long story short, we issued a follow-up blog post clarifying our intent and owning up to the incorrect classification.
But you know what? The pushback we got was valid. Open Source has a clear definition, and the BuSL doesn’t fit it. So while all our code was public and people could run it, it technically wasn’t open. As some called out, the BuSL’s built-in “non-compete” pushes the license squarely out of the realm of Open Source. So what now? Why the quick walk down memory lane? Well shortly after relicensing to BuSL, we, as in Sentry, published our own license which we felt was far more open and addressed some of the shortcomings of the BuSL — Functional Source License. But just like BuSL we can’t call FSL projects “open source”. What should we call it instead? After a year of searching, we’ve settled on a new term.
Codecov is now officially Fair Source. Practically, this doesn’t change much: Codecov’s BuSL license, despite being Fair Source itself, was swapped out for the Functional Source License to align with our parent company, Sentry. More importantly, though, Fair Source isn’t Open Source, and adopting the Fair Source moniker allows us to be much more clear and succinct about our goals. The distinction between Open Source, Fair Source, and what it means for Codecov is worth elaborating upon, even if — practically speaking — not much has changed.
So, why Fair Source? Ultimately Codecov is two things:
- A private business
- A public software product
Codecov’s product is comprised primarily of source code that is publicly viewable. Anyone can download it, run it, and modify it to suit their own purposes. However, Codecov is also a private business, and as a business, we must generate revenue and — if all goes well — continue to grow. Releasing our core product in such a way that anyone could run it and immediately operate a competing business on top of it creates substantial business risk. This means that, without somewhat protective licensing, Codecov the product poses an existential threat to Codecov the business. Ironically, this threat also risks the long-term sustainability of the Codecov product. If the business itself was to fail, the underlying Codecov product would lose its most significant backer. To combat these issues, licensing should exist that:
- Allows a business to build products in the open, to the ongoing benefit of the developer community.
- Does so in such a way that does not pose an existential threat to the business nor the sustainability of the underlying product.
I believe that this is what the Fair Source movement is trying to accomplish. Fair Source is a practical approach for accomplishing practical goals with software and serves to let businesses operate with minimal risk but still share maximally back to the community. This aligns with my own vision for how software businesses should work, and it’s why I believe that Fair Source is the best compromise we have for business-backed, publicly available software today. Codecov is ***not*** Open Source. Codecov is Fair Source. And that’s quite alright with me.