Matt Asay
Contributing Writer

Open source is selfish

analysis
Sep 6, 20217 mins

Companies don't support open source for purely altruistic reasons. They expect a return on their investment.

3 do you share credit stingy selfish man holding pile of money cash
Credit: Getty Images

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.

Matt Asay

Matt Asay runs developer marketing at Oracle. Previously Asay ran developer relations at MongoDB, and before that he was a Principal at Amazon Web Services and Head of Developer Ecosystem for Adobe. Prior to Adobe, Asay held a range of roles at open source companies: VP of business development, marketing, and community at MongoDB; VP of business development at real-time analytics company Nodeable (acquired by Appcelerator); VP of business development and interim CEO at mobile HTML5 start-up Strobe (acquired by Facebook); COO at Canonical, the Ubuntu Linux company; and head of the Americas at Alfresco, a content management startup. Asay is an emeritus board member of the Open Source Initiative (OSI) and holds a JD from Stanford, where he focused on open source and other IP licensing issues. The views expressed in Mattโ€™s posts are Mattโ€™s, and donโ€™t represent the views of his employer.

More from this author