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)