LWN.net Logo

Distributions

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.

Comments (11 posted)

Brief items

Distribution quote of the week

They're not warnings, they're "we just broke your system, hope you weren't doing anything tonight!" A boulder with WARNING: FALLING ROCKS spray-painted on the bottom.

Better to spare the innocents, and for the people who set I_KNOW_WHAT_I_AM_DOING=y in make.conf, we can create RESOLVED:I_THOUGHT_YOU_KNEW.

-- Michael Orlitzky

Comments (none posted)

Newsletters and articles of interest

Distribution newsletters

Comments (none posted)

Page editor: Rebecca Sobol
Next page: Development>>

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