Companies don't support open source for purely altruistic reasons. They expect a return on their investment.
A friend recently sent me a DM on Twitter, suggesting the thing AWS really needs is โa flagship [open source] projectโ to boost its open source bona fides. He then offered some examples of what others have done: โWhereโs AWSโs Android, Kubernetes, Tensorflow, VS Code?โ Most of these are from Google, with the exception of vscode, which is a Microsoft project (not to be confused with Visual Studio Code, which is built on vscode but isnโt itself open source). Itโs a familiar argument, but not a persuasive one. After all, AWS has Firecracker, the CDK, and other open source projects. But thatโs not really the issue.
My problem is with the implied suggestion that companies contribute open source out of altruism, that theyโve built up positive open source reputations by blessing the world with peace, love, and open source code. This makes for clever tweets, but itโs a false narrative. Developers may contribute for the sheer love of code; companies donโt. Never.
Therefore, itโs useful to ask why a company has, or has not, contributed code.
Open source is hard work
Perhaps youโve worked for companies with unlimited resources. I havenโt. Even fabulously wealthy organizations funded by runaway successes like Googleโs advertising business, Adobeโs Photoshop, Microsoftโs Windows and Office cash cows, etc., always have finite resources.
Now, couple that with the reality that open source is hard.
How hard? Matt Klein, a senior engineer at Lyft and founder of the successfulย Envoy open source project, says that itโs a โfโ-ing lot of work.โ Not just coding, either, but all the other things (marketing, business development, etc.) that go into making a project successful. Worse, thereโs no way to know in advance if all that work will pay off: โThe benefits are not super clear. Itโs not a slam dunk. You donโt know if youโre going to win, and if you donโt win, itโs a net negative.โ
Even if youโre an unaffiliated developer building open source code in your free time, the demands on your time keep increasing, as Tidelift Cofounderย Luis Villa has explained. โDevelopers clearly serve their self-interest by learning basic programming and people skills. It is less clear that they serve their self-interests by becoming experts in issues that, in their day jobs, are likely delegated to experts, like procurement, legal, and security.โ Yet an open source project maintainer increasingly needs to think about end-to-end security of her project, file-level licensing, and more. Itโs a โfโ-ing lot of work,โ to borrow Kleinโs phrase.
This is why Lyft now evaluates whether to open source code based on whether or not they think they can โwinโ with the project, attracting enough outside interest to make it worth all the bother. โIโm not an open source purist,โ Klein says. โIโm a capitalist.โ
Heโs not alone.
The โwhyโ of open source
We can laud Facebook and Google for their contributions to open source artificial intelligence (AI) software like PyTorch and TensorFlow, respectively, but letโs not kid ourselves that the companies released this code out of dazzling benevolence. In the past, Iโve talked about cloud companies using open source as on-ramps. Recently, Brookings Institution Fellowย Alex Engler picked up this theme, suggesting that โfor Google and Facebook, the open sourcing of their deep learning tools (TensorFlow and PyTorch, respectively), may have [the effect of] further entrenching them in their already fortified positions.โ Half a decade after releasing the code, these companies still do most of the development (which is just as true of AWS and its Firecracker and CDK projects and Microsoft with vscode, lest you think Iโm picking on Google and Facebook.)
Why does it matter? Because open source gives both companies a key, strategic lever to pull, argues Engler: โBy making their tools the most common in industry and academia, Google and Facebook benefit from the public research conducted with those tools, and, further, they manifest a pipeline of data scientists and machine learning engineers trained in their systems. In a sector with fierce competition for AI talent, TensorFlow and PyTorch also help Google and Facebook bolster their reputation as the leading companies to work on cutting-edge AI problems.โ
Iโm not suggesting the companies are bad for doing this. Iโm simply suggesting that companies donโt contribute code out of charity. Resources are finite. If a company spends money and resources to contribute code, itโs because theyโve done the math and believe theyโll earn a return on that investment.
Letโs look at Microsoft as an example.
A few examples of capitalistic open source
Microsoft is the worldโs largest open source contributor as measured by the total number of employees actively contributing on GitHub. (Yes, I know this is an imperfect way to measure. Happy to hear your alternatives.) Why does Microsoft contribute? A few years ago I argued that quite often, โOpen source is what underdogs do to win.โ Despite its heft on the desktop and enterprise data center, Microsoft used to be a rounding error in cloud. One way the company sought to earn developer love and a seat at the cloud table was by metamorphosing from open source pariah into open source hero. It took years, but itโs paying dividends in terms of rising market share for Microsoft Azure.
Then thereโs Google. Beyond its high-profile projects like Kubernetes (an opening salvo in the multicloud war, which has become a primary competitive wedge for Google) or Android (helping dislodge Appleโs lock on the smartphone market), Google has also been quick to partner with open source companies. But that work, Google Open Source Director Chris DiBona said back in 2019, isnโt due to โsome sort of generous magical deal.โ It was a way to โgive customers what they want.โ At the time, it also happened to be a way to effectively position Google Cloud against its competitor AWS.
What about AWS? AWS has arguably had less need to open source its code. Why? As the cloud market leader, anything that potentially helps competitors catch up would probably not get approval within the company, unless there was overriding strategic value. Using that lens, letโs look at Firecracker, a new kind of virtualization technology that powers AWS serverless products such as Lambda. When announced, company representatives noted: โAs our customers increasingly adopted serverless, we realized that existing virtualization technologies were not developed to optimize for the event-driven, sometimes short-lived nature of these kinds of workloads. We saw a need to build virtualization technology specifically designed for serverless computing.โ
I wasnโt part of the team that released Firecracker, so I have no inside knowledge of the rationale. But those two sentences suggest that the company is hoping that more Firecracker equals more serverless adoption which, presumably, will increase the AWS lead in that market. Nefarious? Absolutely not. But at AWS, as at Lyft, Microsoft, Google, and every other company, things donโt get open sourced unless thereโs a compelling business reason.
Perhaps my friend is correct. Perhaps AWS does need to open source some big flagship product. But if it does, it wonโt be because AWS wants to improve its reputation with random folks on Twitter (or writers like me). The reason will be, as with Google and others, to help drive greater customer adoption of its own products. This is just how (open source) business works.


