There’s a pretty good chance that you don’t have a reason to look for a database engine, and even if you did, the choice might come down to one of three top contenders. There’s a deeper story to the plucky, underdog MariaDB engine, however, and it is about the difference between ‘Free’ and ‘Open Source’ Software. It’s also about the future of software as we know it, and as it could be.
From the creator of MySQL

Michael “Monty” Widenius is a hero, of sorts, for the concept of Open Source Software. In 1996 he released one of the most ubiquitous database engines now in use, MySQL. It’s hard to go much of anywhere in the programming world without hearing about it, and because of its simplicity, it is often used as the training ground for developers new to relational databases. This Open Source project was so successful, that Sun Microsystems (now Oracle) bought it out in 2008 for a staggering $1 billion.
The model for Open Source companies before this point was to provide a dual licensing of their software. MySQL AB, the company that grew up around MySQL, would provide a GPL version of the engine at no charge, but also sold a traditional license to companies wanting to use the engine in a more closed environment. Other streams of revenue included consulting and certification training for users. Widenius’s hope was that Sun would be able to provide the support needed for MySQL while also maintaining this open stance for the software, sadly, this was not the case.
Isn’t MySQL still free?
You might argue that MySQL, named after one of Widenius’s children, is still in the FOSS community, because it is free software, and you’d be right. It is not, however, Open Source. When Sun bought the rights, it closed down the availability of the code updates so that the production would continue in-house rather than publicly. This allowed them to market the product differently, and to rely more heavily on licensing with support and training built in. While the engine is still free, it isn’t available to scrutiny and review without Oracle’s say.
This is why Widenius stepped away from MySQL in 2009, just a few months after Sun’s purchase, and created a fork of the project called MariaDB, named after another of his daughters. The goal of MariaDB is to maintain the core code behind MySQL as an Open Source project. In fact, there are very few cases in which your already written SQL code won’t work with MariaDB. Widenius has formed a foundation around the intent to keep the project Open Source, and to create a centralized community structure for the developers interested in contributing called the MariaDB Foundation.
From Open Source to Business Source
You might be aware of various Open Source licenses. In August of 2016, MariaDB announced a new type of license that it will be piloting based around a business model for Open Source software called the Business Source License with its MaxScale 2.0 beta. One of the features of this license is a sample code model, in which the software is free to use on a limited number of machines, perhaps for testing purposes, but then must be licensed when used in an enterprise capacity.
Since this license is so new, it will take a while to see how effective it really is, but it initially spawned questions of the model seeming like a light version of many other available business licenses. The one feature that sets this license apart from others in the field is the inclusion of an Open Source date in the license features. The idea is to set a deadline for this enterprise license to be limiting on use by the community.
Widenius is vocal about the need for Open Source models to move away from “religious” belief in the software leading directly to support. He still believes that Open Source is one of the best ways to develop software, but is becoming increasingly aware of the challenges of creating a sustainable business model to continue to develop those projects.
Check out the MariaDB Foundation’s governance page to learn more about the aim of keeping the software Open Source, or learn more about the database itself at MariaDB website. Let us know in the comments what you think about a ‘business model’ for Open Source projects.
I completely agree:
‘Open Source is one of the best ways to develop software, but is becoming increasingly aware of the challenges of creating a sustainable business model to continue to develop those projects.’
I will not mind paying for say Ubuntu/ Debian as the developers will get better remuneration. Also, when something is free, it is generally looked down as being sub par. With the paid software also, there is no compensation for data loss, virus attacks etc. The utmost is free replacement.
Hopefully, people and Govts will understand this and not go by brand value.
Interesting article. You might want to check Percona, I recently discovered that is another fork worth checking with a lot of the enterprise features.
I’m not well-versed in the intricacies of licensing, but it sounded almost as though MariaDB is every bit as restrictive as MySQL, unti l took another look and saw that the requirement to buy a license applies to the “MaxScale” flavor. It appears that plain old MariaDB is still yours for the asking.
The last time I had to set up a LAMP stack for a personal machine, I decided to give MariaDB a shot and so far it seems perfectly fine. I was wondering what would happen if you pushed your luck by mixing MySQL and MariaDB in a master/slave replication setup, but of course they’ve thought of that, and explain at https://mariadb.com/kb/en/mariadb/mariadb-vs-mysql-compatibility/, as referenced above.
I’ve enjoyed reading a well wriiten article, possibly the best I’ve read. i’m not referring to the technical side of things.
it’s the language and grammar that interest me first. I could understand everything that Thomas wrote…didn’t have to worry about the jargon or acronyms. Keep writing such lucid articles for people like me…I’ll always read them. Thank you, nicko
MySQL server *is* still OpenSource.
As always, things are a little bit more complex than it appears at first sight. By the virtue of the GPL, Open Source code of MySQL server is still — and will remain — open source. Same for patches and update of that source code.
This part is what is called “My SQL Community Edition”.
You can download the sources here: https://dev.mysql.com/downloads/
Changes to that code base are regularly back-ported to MariaDB.
The reasons behind the initial fork between MySQL and MariaDB were related to the project governance. And according to Mickael Widenius, Oracle “have no love for open source, working with the community, or MySQL in general”.
This is proven by the willingness demonstrated by Oracle to develop closed-source software *around* MySQL server. Those are included in the so-called Enterprise Edition.
All that being said, I engage anyone having that choice to switch to MariaDB rather that staying with MySQL. Both for philosophical reasons. And to support the great people that originally brought us that amazing piece of software.
You’re right, of course, that the GPL is still in play with MySQL, it’s the continued expansion of plugins that’s more affected by the current governance. So, essentially, what’s available is a snapshot of core MySQL from a few years back (with required revisions) and an option to purchase the full version that it has developed into under license with Oracle.
I’m interested in the way the Business Source License is going to handle that, because it seems like they may be applying that license to the plugins being released (in this case, MaxScale 2.0) and then having an expiration on the closed portion of the BSL of that plugin, making a sort of ‘pay to play’ beta.
I’ll try and cover Bruce Peren’s (from OSI) help with getting the BSL to comply with Open Source in a future article as well.