I’ve periodically said that I’m not a fan of doing volunteer work for a $1.468T company, and don’t generally recommend it. On its face, it’s clearly a ridiculous statement to even make; companies usually aren’t asking people to volunteer for them outright, and anyone who did would be shunned into oblivion. Yet there’s a less blatant form of the behavior around that isn’t exactly “donate time and money to our non-charitable cause,” and it straddles the combination of Open Source Software and community.
Compared to many of its large tech company peers, Amazon has historically struggled with its relationship to Open Source. Google has Kubernetes, Chrome, the Go programming language, and a mountain more. Microsoft has gone from the bad old days of being generally obnoxious, to being the de facto stewards of everyone else’s open source code by way of GitHub, as well as putting out Visual Studio Code, the TypeScript programming language, and a mountain more.
And by way of contrast, Amazon effectively has FreeRTOS (even niches have their niches!), a frantic and slapdash fork of ElasticSearch that’s basically a find-and-replace with the term “OpenSearch” because they got sued for trademark infringement, and a whole mess of projects that may as well be sales pitches. They invariably lead directly to the user spinning up billable resources within AWS and basically nowhere else, and include such gems as the CDK, Amplify, and EKS Distro.
Exploring Amazon’s GitHub Repos
If I want AWS to pay attention to something I say, I’ll tweet, or write a blog post about it. Occasionally the topic might snowball into mainstream consciousness via the press, at which point AWS will give in to its nature and post a defensive, tone-deaf blog post that attempts to Set the Record Straight.
On the other hand, if I want AWS to ignore me completely all I have to do is open a pull request against one of their repositories. A quick trawling of a few of their projects show pull requests that have languished for years without comment from a maintainer. This is the common case, and while it’d be easy to list a few examples, it’d feel like singling out a couple of people or projects unfairly. Plus, whatever specific examples I chose would almost certainly get resolved within hours.
The maintainers themselves are all invariably current or former AWS employees; their recent Karpenter project’s CODEOWNERS file shows two AWS employees, and one recent staff member who’s now at Oracle. Let’s be serious: this isn’t a “community,” this is AWS attempting to leverage developers without actually hiring them.
In fact, a couple of weeks ago the OpenSearch project got a non-AWS employee maintainer; this was such a big deal that it basically blew up on Twitter.
You might expect me to unload on Amazon for all of this. I can already hear a bunch of staunch defenders of AWS open source warming up their keyboards to argue with the things I’ve just said. You all can save your time.
Everything I have said so far is not only accurate, but I also posit that it’s just fine, and I think Amazon is proceeding in a way that’s perfectly sensible and completely fair.
Wait, what?
There’s no duty laid upon large companies to open source projects for the larger community. A number of very successful companies have contributed far less to the open source ecosystem in their entire history than AWS does in a given year. I also don’t think that AWS is doing anything wrong when it takes an open source project and turns it into a hosted service. Even things like Amplify and the CDK are great marketing! Keep all of that stuff going!
The actual problem with AWS’s open source position is instead how they consistently and in my opinion incorrectly try to shape a narrative where they’re contributing to the open source ecosystem at a level that’s on par with its big tech company peers. They are not contributing at that level, the suggestion that they are is laughable, and it’s when they start trying to make the case that they’re somehow this Great Friend to Open Source that they start looking more than a little ridiculous.
Of course AWS isn’t putting out transformative open source work that folks who aren’t AWS customers can easily take advantage of. This isn’t intended to besmirch the hard work of folks at AWS who are building and releasing things that do benefit AWS customers any–it’s merely pointing out that they’re not a charity.
Somewhere, somehow the internal AWS message of what open source is and should be about got corrupted. Amazon (and any company) is there to make money, not be your friend. If it can do things that align with its business objectives and also foster a sense of community, it can and arguably should do those things. If it doesn’t, then that’s fine too.
Just don’t choose the latter and then tell me you’re doing the former.