When I talk to old-timers in the MySQL community, I often hear this question: “How come MySQL is so awesome and still more popular than PostgreSQL (according to DB-Engines methodology at least), but it is losing ground while PostgreSQL’s growth in popularity has been unstoppable?” Can anything be done in the MySQL ecosystem to reverse the trend? Let’s explore!
Let’s look into reasons why PostgreSQL has been going so strong, while MySQL has been in decline. I think it comes down to ownership and governance, license, community, architecture, and open source product momentum.
Ownership and governance
MySQL has never been “community driven” as PostgreSQL is. Yet, when MySQL was owned by the small Swedish company MySQL AB with BDFL (Benevolent Dictator for Life) Michael “Monty” Widenious in charge, it had a lot of community trust, and more importantly, it was not seen as a particular threat by big companies. Now, things are different—Oracle owns MySQL, and a lot of large companies in the industry, in particular cloud vendors, see Oracle as a competitor. And, of course, there is little reason to contribute code and marketing to create value for your competition. Moreover with MySQL, Oracle, which owns the MySQL trademark, will always have additional preference.
Compare this to PostgreSQL, which is run by the community, and each commercial vendor in the space is on a commercial footing—someone like EDB has no special preferences compared to smaller companies in the PostgreSQL ecosystem.
This means large companies prefer to contribute and recommend PostgreSQL as the first choice, as it does not create value for their competitor and because they have the larger influence on PostgreSQL project direction and hundreds of small companies make PostgreSQL ubiquitous worldwide, though local “grassroots” community development and marketing efforts.
What can the MySQL community do to fix it? There is little the MySQL community can do—this is firmly in Oracle’s hands. As I wrote in “Can Oracle Save MySQL?”, getting MySQL to a neutral foundation (such as with Linux or Kubernetes projects) would provide an opportunity to compete with PostgreSQL. I am not holding my breath, though, as I think Oracle is more interested in “hard” monetization than growing adoption at this point.
License
MySQL is dual licensed through GPLv2 and commercial license you can purchase from Oracle, where PostgreSQL is licensed under the very permissive PostgreSQL license.
In practice, this means you can easily create commercially licensed PostgreSQL-derived forks or embed them in commercially licensed projects without needing any “workarounds.” Folks building such products are, of course, supporting and promoting PostgreSQL.
MySQL does allow cloud vendors to create their own commercial forks and Amazon Aurora with MySQL compatibility is the most well-known and successful such fork, but not when software distribution happens.
What can the MySQL community do? Once again, there is little to be done—the only company that could re-license MySQL under a permissive license is Oracle, and I have little reason to believe they would want to reduce their grip, even though “open core” and “cloud only” editions often play well with permissively licensed “core” software.
Community
I believe when we think about open source communities, we better think about three communities not one.
When it comes to a “user community,” MySQL is still doing quite well, though PostgreSQL is increasingly the database of choice for new applications. User communities, though, are often the outcome of the work of other communities.
The “Contributor community” is stronger in PostgreSQL, and this is not surprising as it is driven by many organizations, not one. Specific events focused on contributors are held and books are written about how to contribute to PostgreSQL. The PostgreSQL extensions architecture also allows you to easily extend PostgreSQL and publicly share your work.
“Vendor community” — Though I think this is where the main problem lies, there are just not as many companies interested in promoting MySQL because you may be just working to create value for Oracle by doing so. You may ask, would this not encourage all Oracle “Partners” to go and market MySQL? Possibly, and you see some partner-supported MySQL events worldwide, but these are no match to the support vendors are giving to PostgreSQL, as it is “their project.”
What can the MySQL community do? Unlike in other cases, I will not say it is out of the community’s hands. While the current situation in other areas makes it harder and less rewarding, we can still do a lot. If you care about MySQL’s future I would encourage you to organize and participate in various events, especially outside of the narrow MySQL ecosystem, go write some articles, record videos, and write books. Promote them on social media and submit them to Hacker News.
In particular, do not miss the FOSDEM 2025 MySQL Devroom call for papers!
This is also where Oracle, perhaps, can get involved without requiring it to reduce its profit opportunities. Engage with would-be contributors—start some event where external contributors can participate, share your plans with them, and support their contribution efforts, at least as they align with your “MySQL community” roadmap.
Architecture
Some PostgreSQL folks believe its momentum comes from its better architecture and cleaner codebase. I think this might be a contributing factor, but it is not the primary reason, yet it is worth discussing.
PostgreSQL has been designed to be extensible, with a huge number of powerful extensions implemented, whereas MySQL has only limited extension possibilities. One big exception is probably the Storage Engine Interface, where MySQL has a number of different storage engines supported, while PostgreSQL only comes with one (though forks like Neon or OrioleDB change it through patching).
This extensibility makes innovation in PostgreSQL much easier, especially with a much stronger contributor community, without requiring inclusion into the core server.
What can the MySQL community do? I think even with limited MySQL extensibility, there is a lot that can be done through various types of plugins and “components” MySQL supports already. The first thing we need is some “community marketplace” of plugins in existence for MySQL, which will encourage developers to build more of them and easily be noticed. We also need Oracle support, a commitment to extend MySQL plugin architecture to empower developers to build plugins, even if it creates some competition with Oracle products. For example, if MySQL had plugins to create custom data types and pluggable indexes, perhaps we already would have seen a PNG vector alternative for MySQL.
Open source product momentum
Choosing a database, in particular, is a long-term bet, as changing databases is not easy. Just ask people who chose Oracle decades ago and are now stuck with it. This means you need to think about the future when making your database choices, and hopefully, not only if the database you are considering will be around a decade from now but also if it will evolve with time to meet the technology needs of the future.
As I wrote in my article “Is Oracle finally killing MySQL?“ I think Oracle has shifted a lot of its development focus to proprietary and cloud-only MySQL versions, with MySQL Community all but abandoned. While MySQL is still awesome for many applications today, it is falling behind, and many in the MySQL community question whether it will be a fit in the future.
What can the MySQL community do? Once again, the ball is largely in Oracle’s court here, as they are the ones single-handedly driving the official MySQL roadmap. You may ask, but what about Percona Server for MySQL? I believe at Percona, we indeed provide a leading open source alternative to Oracle’s MySQL, yet with our focus on complete compatibility, we have to be mindful of what changes we make to avoid breaking such compatibility or making upstream mergers cost-prohibitive. MariaDB makes a different tradeoff; unrestricted innovation makes it less compatible with MySQL, and each new version diverges further and further away.
MariaDB
As I mentioned MariaDB, you may wonder, isn’t MariaDB already solving all those problems to the extent possible, being governed by the MariaDB Foundation and such? Not so fast! I believe MariaDB is a Flawed Foundation, and it does not hold all IPs, especially trademarks, to provide a level playing field to all vendors. It still has a trademark monopoly problem as there is only one company that can provide all things “MariaDB” above all others.
MariaDB may have a window of opportunity, though; with MariaDB (the company) just acquired by K1, there is an opportunity for a change in MariaDB governance and trademark ownership closer to what PostgreSQL is. Yet, I do not have my hopes too high as reducing grip on trademark IP is not something private equity companies are known to do.
Of course, the MariaDB Foundation could also choose to gain complete trademark control of the project by changing it to SomethingElseDB, yet this would mean MariaDB would lose all its name recognition; it is unlikely to happen.
MariaDB has also diverged significantly from MySQL, and reconciling the differences would take a multiyear effort, but I think it is a solvable problem with enough resources and community will.
Summary
As you can see, the MySQL community is restricted in what it can do because of how MySQL is owned and governed. Over the long term, I think the only way the MySQL community can compete with PostgreSQL for relevance is if all significant players unite (as happened with the Valkey Project) and create a MySQL alternative under a different brand – this can solve most of the problems mentioned above.
Thanks for sharing this.
“So long and thanks for the all the fish (dolphin)” might be an appropriate way to say goodbye.
https://en.wikipedia.org/wiki/So_Long,_and_Thanks_for_All_the_Fish