A Call for Transparency: Let’s Stop Mislabeling Open Source
I'm fortunate to have the opportunity to talk with tech industry thinkers as part of my job, and one of them recently said something that struck me as right on target. While discussing database cloud services, the topic of open source-derived or compatible services came up. He mentioned how the label "open source" is misused to make these services attractive to developers who care deeply about the movement. Because those cloud services aren't remotely open-source, once a cloud vendor forks the open-source code to create a cloud service, all the ideals that initially drew someone to open source are gone.
Think about it: There's no way you can download the latest version of Postgres, develop a new app against it that takes advantage of all the latest and greatest features, and then upload that software and have it work seamlessly against Amazon Aurora. Because Amazon forked Aurora from Postgres a decade ago, it doesn't have those same features. Same with MySQL or any other open-source initiative. Amazon has also put features or capabilities into Aurora that aren't in Postgres -- but unlike other cloud vendors, Amazon has never put any of those changes back into the open-source community.
Whatever terrific changes or enhancements they made to their fork, they’ve kept to themselves because it’s a cloud service. And cloud services are, by their very nature, proprietary. You don’t get access to the source code, so there is no way for community members to enhance the code or correct a bug. Their only option is to file a bug with the service provider, just as they would do with any proprietary software.
And that’s not a bad thing; when we use a cloud service, we’re paying for the convenience of somebody else managing it. We can start a project almost instantly, and the cloud provider handles the database environment: it’s backed up, it’s secure, it's automatically patched, etc. We just focus on developing the app. That’s what we’re gaining. But inevitably, all the beauty of open source—like portability, control, and giving back to the community—has disappeared.
So, the upshot of the conversation that started my line of thinking was this: open source cloud services are a bit of an oxymoron. As soon as you make it a cloud service, it becomes a straight-up business with proprietary code that you can’t see or change in any way.
Next time you hear about "open source” or “open source-compatible" database services bear in mind all database cloud services are proprietary. To suggest otherwise is simply misleading.
Well said
I agree in general with statements about "openness" and contributions from AWS to open source. But I haven't heard anybody calling Aurora open source database. The fact that it has somewhat compatible API of course doesn't make it open source. I don't see on AWS website where it is called open source. What I see is "is a MySQL and PostgreSQL-compatible". So, maybe you are right and some people have mistakenly assume that but I don't remember anybody from AWS doing so. From other side the Postgres or MySQL as RDS have probably exactly the same code base as their on-prem counterparts.
Good point.
You're absolutely right Maria. It's no longer open source if the Cloud vendor forks the code and keeps it to themselves.
This is a fantastic post Maria. The one item I'll mention is that often what developers do care about is that cloud services are compatible with the original open source APIs so that if they ever have to move to another vendor or even self hosted they can be confident there will be little (if any) changes necessary. At least in the case of OCI, I think that is an attractive point of using managed services.