LWN.net Logo

Distributions ponder MariaDB switch

By Jake Edge
January 30, 2013

Since Oracle's purchase of Sun Microsystems in 2009, several of Sun's high-profile free software projects have fallen by the wayside. OpenSolaris, OpenOffice.org, Hudson, and others have all had their communities upended, to some extent, due to Oracle's inattention or worse. MySQL has largely avoided that fate, but that seems to be changing—at least partly because MySQL is being developed in a more closed way.

The emergence of MariaDB as a drop-in replacement for MySQL over the last few years makes it a viable alternative. Beyond that, MySQL has changed some of its policies and practices over the same period in ways that make it less attractive for Linux distributions. Changes to the MySQL security reporting practices, the visibility of bugs in the bug tracker, and the lack of a full regression test suite are all cited as reasons to consider switching.

Several distributions are either considering switching to MariaDB as the default, or have already done so. Mageia 2, which was released in mid-2012, was the first to adopt MariaDB as the default instead of MySQL. On January 25, openSUSE MySQL (and MariaDB) maintainer Michal Hrušecký announced that openSUSE 12.3 would make the switch as well. Meanwhile, Fedora has proposed replacing MySQL with MariaDB as a feature for Fedora 19, citing the following reasons:

Recent changes made by Oracle indicate they are moving the MySQL project to be more closed. They are no longer publishing any useful information about security issues (CVEs), and they are not providing complete regression tests any more, and a very large fraction of the mysql bug database is now not public.

Because it is a drop-in replacement, though, MariaDB cannot (easily) be installed in parallel with MySQL. Library and utility names conflict between the two projects, so users will need to make a choice—or allow the distribution to choose for them. From the discussions it is clear that the distributions recognize the need to continue supporting MySQL where it is already installed, and for users who have a preference; it is just new installs that would be affected. If, indeed, MariaDB just "drops in" that won't pose much of a problem.

There are a large number of packages available that use MySQL or, more correctly, the MySQL API. One of the concerns brought up after Hrušecký proposed the switch on the opensuse-factory mailing list was the compatibility question. Hrušecký expressed confidence that there would be no compatibility issues, but pointed to the continuing availability of MySQL as a fallback. The other main complaint in the surprisingly short thread was that it was rather late in the 12.3 development cycle to be making such a sweeping change. Even though 12.3 is due in March, the switch will evidently be made.

Fedora has a bit more time. At the January 30 Fedora engineering steering committee (FESCo) meeting, the feature was accepted for Fedora 19, which is due at the end of May (though it may well slip a bit after the long Fedora 18 delay). When Fedora program manager Jaroslav Reznik announced the feature proposal, it was greeted largely with approval in a thread on the fedora-devel mailing list. The only real opposition came from a somewhat surprising direction: Oracle, or at least some of its employees.

Andrew Rist of Oracle suggested that Fedora keep "MySQL, the leading edge and highest quality open source database, as the default choice in your Linux distribution". According to Rist, MariaDB lags in features and doesn't have the large development and QA staff that Oracle brings to the table. The posting refers to "we" throughout—and in places reads something like a press release—but does offer to help with integration and packaging. His argument is that Fedora should only be looking at the "merits and quality" of the code in making its decision.

Rist encouraged Fedora to not allow the competition between Oracle and Red Hat in the Linux support business to be a factor in any decision to switch. As Adam Williamson pointed out, though, the complaints about MySQL are typically regarding "the freedom of the development community, a topic that was noticeably absent from your mail". Furthermore, Rist's attempt to liken the Oracle security disclosure practices to Red Hat's tarball kernel releases was quickly shot down. As Rahul Sundaram put it:

Just to be clear,  RHEL != Fedora.  Red Hat policy for RHEL kernel is not acceptable to Fedora and Fedora kernel continues to have the patches split out.  You cannot use that to defend MySQL policies here.  You can do whatever you want to do for the MySQL "enterprise edition" which is a commercial product but the community project should have transparency and openness in how it handles bugs, security issues, test cases etc.

Another Oracle employee, Norvald Ryeng, also posted in the thread. He focused on trying to determine what problems Fedora has had in maintaining MySQL, and to try to fix them: "Linux distributions are an important part of our community, and we'd like very much to hear your feedback and help make package maintainers' lives easier." Some of the specific complaints made by Michael Scherer and others made by Remi Collet were addressed by Ryeng. The dialog and Ryeng's efforts can only result in easier packaging of MySQL for Fedora. But it may be too late.

There is already some discussion of eventually dropping MySQL entirely. Mageia was able to do so as Olav Vitters reported, but it is a much smaller distribution, which means it has fewer users to be affected. Honza Horak, who co-owns the Fedora feature proposal with Tom Lane, suggested a "wait and see" approach on what to do with MySQL in the future.

It is a little hard to imagine that larger distributions can completely drop support for a package as popular as MySQL—at least in the next few years. On the other hand, there is a strong sense in the free software world that MySQL development is slowly being pulled inside the Oracle mothership. As has been noted in the thread, it is frustrating to get security updates with little or no information about what is being fixed and it is difficult to ensure that backports are working correctly without a regression test suite. Those things used to be more open and the concern seems to be that more secrecy and obfuscation are on their way.

It is a bit interesting to see Oracle (or, more correctly, some folks at Oracle) take such an interest in whether Fedora switches to a MariaDB default. One would think that Fedora users are a fairly small piece of the MySQL user pie, so it is likely that the real concern is for what happens in Red Hat Enterprise Linux (RHEL) down the road. While Fedora is partly an upstream for RHEL, there's no reason to believe that Red Hat would blindly follow Fedora's lead here (or on any other package choice for that matter). These recent shifts away from MySQL might make Oracle rethink some of its development strategies for the open source project. If not, it is probably only a matter of time before MariaDB (or some other openly developed MySQL fork) overtakes MySQL as the "most popular open source database". Or perhaps PostgreSQL will supplant both. It's hard to say, but we certainly won't lack for options whatever the outcome.


(Log in to post comments)

Distributions ponder MariaDB switch

Posted Jan 31, 2013 8:44 UTC (Thu) by dottedmag (subscriber, #18590) [Link]

Similar comment by Oracle employee has appeared on CFEngine mailing list when we decided to drop Berkeley DB in favour of Tokyo Cabinet: he pitched the merits of Berkeley DB, but was of little help to solve the problems we were facing with Berkeley DB.

Distributions ponder MariaDB switch

Posted Jan 31, 2013 17:14 UTC (Thu) by drag (subscriber, #31333) [Link]

Every time I have to deal with Oracle for any product for any sort of support for any reason with any level of contracts... it makes me want to hurt people, even myself to make the pain of dealing with Oracle stop.

Moving to MariaDB just to avoid dealing with Oracle seems like a decent move and I wouldn't blame distributions for wanting to do that.

Distributions ponder MariaDB switch

Posted Jan 31, 2013 11:14 UTC (Thu) by johannbg (subscriber, #65743) [Link]

For the first there is no such thing as an "default" DB in Fedora and if Oracle really wants MySQL in Fedora all they have to do ( just like anyone else ) is to step up maintain mysql in Fedora. ( which at this point they will have to do )

One thing that people seem to forget with regards to MariaDB is that switching over to it might break paid application support since MariaDB is not listed in the relevant application supported platform like for example [1].

Just something distribution need keep in mind for their use base while they pounder the thought of dropping MySQL in favor of MariaDB

1.https://confluence.atlassian.com/display/DOC/Supported+Pl...

Distributions ponder MariaDB switch

Posted Jan 31, 2013 12:48 UTC (Thu) by khim (subscriber, #9252) [Link]

One thing that people seem to forget with regards to MariaDB is that switching over to it might break paid application support since MariaDB is not listed in the relevant application supported platform like for example.

No they don't forget about it:

Going through the thread I currently see two reasons to keep packaging mysql after switching to mariadb:

Firstly, some admins may be bound to mysql because of the certification or similar reason, but it probably won't be a technical reason. It'd be nice if admins work with providers in such cases and push them to add mariadb into set of "supported" options. I believe there won't be technical barrier to do so, so everyone could benefit from that.

Second, if mariadb differs more in the future and stops to be "drop-in" replacement, then we'll need an alternative for applications, where mariadb won't be suitable enough. Nevertheless, this is not a current issue right now.

In both cases we'll probably need some time to evaluate how the things with mariadb goes, so I'd suggest to wait, observe, test and after some time to re-open the discussion and make a decision about dropping mysql.

This is sensible approach: if MariaDB is a default in most Linux distributions and it's not a disaster (WRT security, stability, etc) then "paid support" will eventually will be offered for it and if MySQL is available as [non-default] alternative then everything will be fine till it happens.

Distributions ponder MariaDB switch

Posted Jan 31, 2013 13:01 UTC (Thu) by johannbg (subscriber, #65743) [Link]

We offer a plethora of databases in the distribution so mariadb is going to be a default for what again?

If there is going to be any default database then it has to be an db the keeps messes like this sunacle one out of users face and equally if not better supported out there namely postgresql.

Distributions ponder MariaDB switch

Posted Jan 31, 2013 14:33 UTC (Thu) by philipstorry (subscriber, #45926) [Link]

I imagine by "default DB" what they mean is the default that a package recommends and is configured for.

So in a situation where Drupal, Django and Wordpress can all use either MySQL/MariaDB/PostgreSQL/($AlternativeDB), the package itself will recommend MySQL, and the config files will probably reference MySQL (if such a reference is required).

You're welcome to pick an alternative, but there might be a bit more work involved...

Having tried to set up a couple websites using a CMS - admittedly on Debian/Ubuntu - I have to say that MySQL is pretty much the only default.

I would really, really, really like the default to be PostgreSQL. Both for ideological reasons and for pragmatic reasons. But the simple fact is that the developers of many systems might say that non-MySQL DBs are supported, but they onlyt seem to test with MySQL.
So unless you want to be the tester, you pretty much just pick MySQL and go with it.

My brief experience with alternate DBs for what will probably be the most popular usage case therefore leaves me unconvinced that this is a decision that Fedora should be taking.
This decision should be being made upstream with the projects themselves. Let them take the decision on what's their recommended DB, and let them do the testing for the users. Anything else is just asking for trouble.

Distributions ponder MariaDB switch

Posted Jan 31, 2013 17:16 UTC (Thu) by drag (subscriber, #31333) [Link]

Very few people have any interest in exploring any sort of database that isn't installed when they do 'yum install <thiswebapp>'

Distributions ponder MariaDB switch

Posted Feb 1, 2013 8:14 UTC (Fri) by zlynx (subscriber, #2285) [Link]

They should care about the database, because they are going to end up needing to use the thing. They might lock themselves out of important tables and need to start it up in admin override mode. They might need to configure it to allow remote access from certain IP ranges. They might need to do a backup recovery, or do backups at all.

No matter how much they like being a Ruby on Rails developer, the system owner is going to need to deal with the database on a basic level of system admin and should pick one he or she likes.

Distributions ponder MariaDB switch

Posted Feb 1, 2013 19:33 UTC (Fri) by k8to (subscriber, #15413) [Link]

I think the point is not "they should not care". It is instead "they do not care".

We all ought to do lots of things that we actually do not.

Distributions ponder MariaDB switch

Posted Feb 2, 2013 22:43 UTC (Sat) by el_presidente (subscriber, #87621) [Link]

If you have to choose between two databases that seem to be exactly the same, it's probably a good idea to trust the default.

Distributions ponder MariaDB switch

Posted Feb 2, 2013 22:24 UTC (Sat) by Tet (subscriber, #5433) [Link]

MySQL, the leading edge and highest quality open source database

One wonders if Rist has heard of PostgreSQL, or seen the leading edge features it boasts and the high quality it delivers. Certainly I would trust it with my data much more than I'd trust MySQL...

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds