Proposal to make MariaDB the default MySQL variant in Ubuntu 25.04

lena.voytek at canonical.com lena.voytek at canonical.com
Wed Sep 25 17:22:41 UTC 2024


Hi Otto,

Thank you for bringing your ideas to this list, and for your excellent
and sustained maintenance of MariaDB in Ubuntu over many years!

In order to provide full context, I will direct most of this reply to a
general audience. As such I'll introduce myself:

I am the maintainer for MySQL in Ubuntu and Debian Unstable. I also do
what I can to make sure Otto's updates to MariaDB make it into Ubuntu. 

Reading the public commentary on this thread, I think there are some
misconceptions. So I'd like to clarify a few things for everyone else
reading this:

   * In Ubuntu, both MySQL and MariaDB are available. Users have a
   choice between the two options, and we do not override their
   decision.
   
   * MySQL, like MariaDB, remains Free Software and continues to use a
   license acceptable to both Debian and Ubuntu. We do not expect this
   to change.
   
   * The term "default" could refer to a number of things when it comes
   to us providing packages in Ubuntu. I'll clarify some of the
   possible meanings below, and how they may apply in this situation.
   
As things stand currently, both MySQL and MariaDB will continue to be
distributed by Ubuntu. Since we make both available, the choice of
which to install is provided to the user. In that respect, there is no
choice for Ubuntu to make here. Otto also mentioned that we could
"potentially remove MySQL in some later release", but there is no
suggestion to remove it immediately. I believe as long as it remains
under an acceptable license, and someone is willing to maintain it in
Ubuntu, that it would be contrary to our values for us to remove it at
all. To my knowledge, Ubuntu has never required such a removal in
distributing any other appropriately licensed and maintained upstream
project.

Having said that, here are the main technical choices to be made by
Ubuntu when it comes to the "default" behavior:

   1. What happens when the user "apt installs" a mysql package, such
   as "mysql-server" or "mysql-client"? Do they get MySQL or MariaDB?
   
   2. What happens when the user "apt installs" one of the many
   applications in Ubuntu that requires a MySQL or similar database
   engine? apt will generally pull in an appropriate server and
   configure it automatically. Should it provide MySQL or MariaDB by
   default? Note that the user usually has the choice of picking the
   other regardless.
   
   3. During package builds, when a package links using -lmysqlclient
   because it's using the MySQL C API, should we arrange that to link
   against MySQL or MariaDB? Note that the choice made here is
   generally invisible and makes no odds to the user. We must choose
   only for technical reasons.
   
   4. Which of MySQL and MariaDB will Ubuntu ship in its main archive
   component, as opposed to its universe archive component?
   
Regarding choice #1 - what happens when a user "apt installs mysql":
Given that we ship both MySQL and MariaDB and will continue to do so, I
think the user should get what they ask for. "apt install mysql-server"
should not result in MariaDB being installed, as that would likely
cause unnecessary confusion. If users want MariaDB, they can use "apt
install mariadb-server" instead. Contrary to this point, in Debian,
"apt install mysql-server" was arranged to install MariaDB. The
situation was different there though, as the Debian release team
imposed that Debian stable releases could not ship MySQL at all. So it
was necessary for implementing an automatic upgrade path. That
situation does not apply to Ubuntu, so there is no need to do that
here.

Before diving deeper into technical choices 2-4, is the above framing
reasonable, or are there any other aspects to this/choices to make that
I've missed?

Thanks,
Lena Voytek




More information about the ubuntu-devel mailing list