It's fair to say that MySQL creator Michael "Monty" Widenius is not a fan of Oracle. When the company announced in April 2009 that it was purchasing Sun, Widenius saw a bleak future ahead for the (still) wildly popular open source database, which Sun had snapped up in 2008.
The day the Sun purchase was announced, Widenius responded in the tried and true open source fashion — he forked MySQL, launching MariaDB, and took a swathe of MySQL developers with him.
"Many of the original MySQL core developers, including me, didn't believe that Oracle would be a good owner of MySQL and we wanted to ensure that the MySQL code base would be free forever," Widenius explains.
Some of the new code by Oracle is surprisingly good, but unfortunately the quality varies and a notable part needs to be rewritten before we can include it in MariaDB
Widenius and a number of other MySQL developers started a company, Monty Program Ab "to provide a home both for MariaDB — the new MySQL — and for all MySQL core developers".
"Monty Program Ab is owned by the employees and uses the 'hacking business model' as a way to drive the company," Widenius says.
Although MySQL is still widely used — Db-engines.com ranks it as the third most popular RDBMS after Oracle and Microsoft SQL Server, compared to MariaDB coming in at #35 — Widenius still believes the database has a bleak future under Oracle's stewardship.
Oracle's treatment of MySQL and its community since its purchase of Sun has proved Widenius' original fears correct, the developer says. Not mincing words, Widenius says that Oracle has made it clear "that they have no love for open source, working with the community, or MySQL in general".
Widenius cites as examples of Oracle's disregard for open source principles the September 2011 announcement of commercial extensions to MySQL, the bugs database not being public any more, and a lack of test cases for new code in MySQL 5.5 and 5.6.
Drupal 8: Re-architecting for world domination
Linux distro spotlight: Mageia
Contiki: An operating system for the 'Internet of Things'
AmigaOS 4 developer interview: Why it endures and what the future holds
Widenius is also scathing of the quality of Oracle's MySQL development efforts. "Some of the new code by Oracle is surprisingly good, but unfortunately the quality varies and a notable part needs to be rewritten before we can include it in MariaDB," he says.
He also says that security issues are not addressed quickly enough.
"Instead of fixing bugs, Oracle is removing features," Widenius says.
"The MySQL documentation was never made open source, even [though] it was promised in the MySQL conference in April 2009," he adds.
"Flagship features promised for MySQL 6.0 have never been released, even if they were fully developed and ready to be released," he says, referring to online backup for all storage engines and foreign keys for all storage engines.
"Most of the original MySQL developers have left Oracle. Without people that can understand and explain the code it's almost impossible for Oracle to develop MySQL further even if they wanted to."
As further evidence of disdain for MySQL users, Widenius cites what he describes as "sharp" increases in licence and support fees, a lack of an open roadmap and no way for the community to participate in the database's development.
"Why is the price for a MySQL OEM license higher than for Oracle Express?" Widenius asks.
MariaDB was created to be a drop-in replacement for MySQL. Widenius says that as long as MySQL has a larger user base than MariaDB, remaining drop-in compatibility will be essential, in order to make the transition between the databases trivial.
"However, being a drop-in replacement doesn't stop us from changing the underlying code to make it faster and better or add new features," he says.
He makes the bold claim that MariaDB is some 30 developer-years in front of Oracle's MySQL efforts. "MariaDB 5.5 has everything that MySQL 5.5 Enterprise has, plus a lot more," he says.
The code base has begun to diverge significantly from MySQL in some areas, such as in replication and the optimiser, he says, while other areas it remains close, such as InnoDB.
"This allows us to take most of the MySQL bug fixes and apply them quickly to MariaDB."
Widenius says when it comes to areas such as NoSQL extensions and storage engine support (MariaDB includes support for Aria, XtraDB, FederatedX, SphinxSE, Cassandra and OQgraph, for example), MySQL has been overtaken.
Other areas where MariaDB has the lead include "dynamic columns, which allows you to store a different set of columns per row and provide an interface to NoSQL storage engines; pool of threads (similar to what you have in MySQL Enterprise Edition); virtual columns, much better GIS functionality; multi-source replication; and multi-master setup (with Galera)."
MariaDB developers have made a lot of speed improvements, especially in the optimiser, Widenius says, and applied a number of security and bug fixes to the RDBMS.
The simple truth is that there is no reason to use MySQL over MariaDB anymore, while there are plenty of reasons to choose MariaDB
Widenius says MariaDB has enough momentum that the project won't be affected by Oracle's continuing ownership of MySQL.
"MariaDB is not depending on MySQL for future development," he says.
"If Oracle tomorrow closed the code base or stop developing MySQL, we can continue to develop MariaDB as if nothing had happened. This is because almost all of the original core engineers, including all MySQL architects and the original MySQL optimiser experts are now working on MariaDB."
By Widenius' estimates there are now 1 million MariaDB installations, and the decision by RedHat's Fedora and SUSE's Open SUSE Linux distributions to include the newer database by default will bring this install base close to 10 million by the end of the year. Slackware announced on 23 March that it was ditching MySQL in favour of MariaDB.
"It's my belief that the MariaDB Foundation will do a better job with the code, be more responsive to security concerns, and be more willing to work with the open source community," a post on Slackware's site explained.
"And while I don't think there is currently any issue with MySQL's licensing of the community edition for commercial uses, several threads on LQ [Linuxquestions.org] showed that there is confusion about this, whereas with MariaDB the freedom to use the software is quite clear."
Widenius says that the "simple truth is that there is no reason to use MySQL over MariaDB any more, while there are plenty of reasons to [choose MariaDB]". These include the database's features, security and speed, but also that it is not encumbered by its association with Oracle.
"There are some people who don't trust Oracle and prefer MariaDB because it's not controlled by Oracle," he says. "MariaDB is truly open source — not open core as MySQL [is]. MariaDB is also developed by the community, not just one company," he adds.