Hi all,

I want to start a discussion about dismantling the
default-mysql-server and default-mysql-client virtual packages for
Forky (Debian 14), and transitioning the archive to point explicitly
to mariadb-server and mariadb-client.

To be clear: this change is proposed strictly for Forky and won't
affect any older or currently supported stable releases.

With the recent releases of MySQL 9.7 and MariaDB 12.3, there is now
enough divergence between the two codebases to warrant dismantling
this metapackage. Their SQL dialects, authentication methods and other
features have drifted to the point where treating them as
interchangeable drop-in alternatives under a single virtual package is
becoming misleading. We have already seen this friction for example in
the Perl ecosystem had to split into libdbd-mysql-perl and
libdbd-mariadb-perl because the underlying drivers can no longer
support both engines.

It is also evident that the broader open source ecosystem has shifted
from MySQL to MariaDB in the past decade as newer MySQL versions are
not getting traction. For example, according to WordPress.org usage
statistics[1], MySQL 8.4 has only managed a 7% share two years after
its April 2024 release, while the more recent MariaDB 11.8 already has
a 13% share - nearly double the traction in half the time. Those stats
also show MariaDB's overall share is now over 60%. Also note that for
MySQL, the majority is still on versions 5.7 or 8.0, which both are
now EOL and their share is likely to drop soon.

Many prominent open source projects also recommend MariaDB over MySQL
(e.g. Nextcloud [2],Mediawiki [3]). Despite pledges from the
community, Oracle hasn't shown any signs of being a better open source
steward, the commit activity is decreasing [4], and no new commits
have been published for the main branch in the past 5 months.

If you look at the Debian Popcon graph for mysql-server versions [5],
it shows that users installing MySQL in derivatives or from
third-party repos are becoming increasingly rare. When comparing
directly MySQL vs MariaDB in popcon it is also very obvious that
interest for MySQL is vaining rapidly [6].

By announcing this abstraction as deprecated now, we give maintainers
plenty of time to update their Depends and Build-Depends to point
explicitly to MariaDB. The whole metapackage can be removed once zero
packages depend on it in Forky+1 or +2. Users who require Oracle MySQL
can continue to use third-party repositories, but our archive
packaging should honestly reflect what Debian actually ships and
supports in main.

Let me know if you see any concrete blockers for your packages.

Thanks,

Otto

[1] https://wordpress.org/about/stats/
[2] 
https://docs.nextcloud.com/server/stable/admin_manual/installation/system_requirements.html
[3] 
https://www.mediawiki.org/wiki/Manual:Installation_requirements#Database_server
[4] https://github.com/mysql/mysql-server/graphs/commit-activity
[5] 
https://qa.debian.org/popcon-graph.php?packages=mysql-server-5.6%2Cmysql-server-5.7%2Cmysql-server-8.0%2Cmysql-server-8.4%2Cmysql-server-9.7&show_installed=on&want_legend=on&want_ticks=on&from_date=&to_date=&hlght_date=&date_fmt=%25Y-%25m&beenhere=1
[6] 
https://qa.debian.org/popcon-graph.php?packages=mariadb-server%2Cmysql-server&show_installed=on&want_legend=on&want_ticks=on&from_date=&to_date=&hlght_date=&date_fmt=%25Y-%25m&beenhere=1

Reply via email to