The Open Source Strategy of Amazon Web Services
Did you know that Amazon leads more than 1,200 open source projects on GitHub? Neither did I until I spoke last week with Matt Asay, the Head of Open Source Strategy and Marketing at Amazon Web Services (AWS). That number, which I got from the Open Source at AWS web page, was confirmed by Asay to represent “officially sponsored projects” — meaning they are open source projects that began inside of AWS, rather than being independent projects run by AWS employees.
Asay added that AWS actually contributes to thousands of other open source projects, too. “The majority of the [GitHub] repositories to which we contribute are not AWS sponsored,” he said.
One of its newest open source projects is Babelfish for Aurora PostgreSQL, announced at the three-week re:Invent virtual conference that wrapped up last week. Babelfish is an open source translation layer that makes it easy to migrate from Microsoft SQL Server to Amazon Aurora PostgreSQL — or indeed any other PostgreSQL-based database product. As I noted in my writeup of the news, making the Babelfish project open source is a win-win for everyone (well, except Microsoft). Users get free software that helps them move off a costly database system, while AWS gets help from external developers to expand the use cases that Babelfish covers. The latter is important because, as Asay noted in an AWS blog post, Babelfish for Aurora PostgreSQL currently covers only “the most common application scenarios.”
“We’re trying to do different things to enable companies to use more open source,” Asay told me, as we discussed the Babelfish news. “I like to think of it through the lens of, you need more Postgres in your life.” He added that Postgres has become very popular in recent years, particularly among developers, because “it keeps reinventing itself, taking on things like JSON.”
Why Does AWS Want You to Use Open Source?
The larger point Asay is making is that there are some incredible open source products out there, which more companies should take advantage of. But why, you may ask, should Amazon care if you use more open source (other than wanting to stick it to one of their big tech competitors)?
Just like the motivation behind all modern open source projects, the answer is gloriously self-serving: it’s because AWS markets itself as the “best place to build and run open source.” So when AWS talks about open source, it has dollar signs in its eyes, as it contemplates all of those potential new cloud service customers.
Not that there’s anything wrong with having self-serving motivations. In a recent series of articles about open source here on The New Stack, Asay showed that many projects begin with a developer scratching their own itch. It’s the open source way.
Why AWS Contributes to So Many Open Source Projects
Like many other companies these days, AWS makes significant use of open source software in its own product offerings. As one example, Asay pointed to a new product announced at re:Invent called Amazon Neptune ML, a service that uses Machine Learning to make predictions from graph data.
“What we didn’t really make a big deal of,” said Asay, “is [that] behind the scenes, Neptune ML relies on DGL — or Deep Graph Library — and that’s a project to which we’ve been contributing for some time, and we’re one of the major contributors to that.”
As well as using a lot of open source software in its own products, AWS provides promotional credits to open source developers to entice them to use AWS products. It also directly sponsors some projects, through the recently announced GitHub Sponsors for companies program — which AWS was a founding sponsor of. Asay noted that this program allows AWS to send funds “directly to the projects that our customers deem important to them.” So not only does AWS support open source developers through initiatives like credits, but it has a good deal of sway over which projects those developers focus on. After all, if you’re an independent developer working in open source, it makes sense to work on a project that has a rich benefactor like AWS.
Open Source as a Strategy for AWS
Clearly, AWS is investing a lot in open source; and open source in turn contributes a lot back to AWS. Better products, more customers, and keeping their existing customers happy by funding open source development specific to their needs.
But what does Matt Asay do in his job at AWS? With AWS involved in thousands of open source projects, he surely doesn’t have time to keep tabs on them all?
Asay described his team as being “a service team to the service teams.” He told me there are more than 175 service teams in AWS that “either explicitly work with open source projects, or have open source as part of their service in some way.”
“Most of my time and my team’s time is focused on helping internal teams — the service teams — figure out how to effectively engage with open source communities and contribute to those communities,” he said.
Asay spends a bunch of his time working with AWS partners, such as MongoDB. Which brings up an interesting question: how does he explain the open source strategy of AWS to a company like MongoDB, which AWS actually competes with because of open source. Long story short: MongoDB is a company built around open source technology that it created, only to then watch AWS launch a managed service version of the same technology.
“We want to be the best place for these companies to run [their software],” he replied, “for them to serve their customers — because their customers are ultimately ours.”
He explained that even though one AWS service team competes directly with its customer — in this case, it’s Amazon DocumentDB (with MongoDB compatibility) — there are hundreds of other AWS services that just want to serve MongoDB as a customer.
“So in talking with them,” he said, meaning a partner like MongoDB, “our overarching strategy is to do whatever is right for the customer.”
I believe Matt Asay when he says this, because he’s an upstanding character and I know he’s passionate about spreading the open source gospel. At the same time, it’s also a disingenuous position for AWS to take — claiming it is helping MongoDB as a customer, while also openly taking MongoDB’s customers away from them, by taking advantage of MongoDB’s open source technology.
But such is the tech world we find ourselves in nowadays. While it’s true that open source drives a huge amount of innovation, it’s equally true that the big five tech companies have their paw prints all over it. Very little in open source has escaped the influence of Big Tech over the past decade — Microsoft even owns GitHub, the most popular open source repository!
As for AWS, it is not only running 1,200 open source projects and contributing to thousands more, but it’s also the place where a huge amount of open source code runs. I have no doubt that AWS customers benefit from that, as do users. But AWS benefits most of all, because it is collecting revenue in multiple ways from open source. Not that there’s anything wrong with that…