Remember MySQL? Most famous for being part of the LAMP stack, and thus powering the bulk of the innovative work done in the field of ecommerce for a decade or more, it's rather fallen off the radar recently. It's not hard to see why: Oracle's acquisition of Sun, which had earlier bought MySQL for the not inconsiderable sum of $1 billion, meant that one of the key hacker projects was now run by the archetypal big-business mogul, Larry Ellison. So it was natural that people were unsure about MySQL's future, and started looking for alternatives.
Fortunately, open source comes with an escape module built in: it's called forking, and that's what gave rise to MariaDB:
For all practical purposes, MariaDB is a binary drop in replacement of the same MySQL version (for example MySQL 5.1 †’ MariaDB 5.1, MariaDB 5.2 & MariaDB 5.3 are compatible. MySQL 5.5 will be compatible with MariaDB 5.5). What this means is that:
Data and table definition files (.frm) files are binary compatible.
All client APIs, protocols and structs are identical.
All filenames, binaries, paths, ports, sockets, and etc... should be the same.
All MySQL connectors (PHP, Perl, Python, Java, .NET, MyODBC, Ruby, MySQL C connector etc) work unchanged with MariaDB.
There are some installation issues with PHP5 that you should be aware of (a bug in how the old PHP5 client checks library compatibility).
The mysql-client package also works with MariaDB server.
The shared client library is binary compatible with MySQL's client library.
This means that for most cases, you can just uninstall MySQL and install MariaDB and you are good to go. (No need to convert any datafiles if you use same main version, like 5.1).
That's well and good, but raises the question: how will MariaDB be different from MySQL in terms of who manages the code? Simply slotting in another company that then proceeds to run the project as it wishes is not much of a step up from Oracle running the project.
Fortunately, MariaDB seems to be aligning itself with what I believe is a key trend for commercial open source: the use of a foundation, with a community-managed governance structure:
The MariaDB Foundation, stewards of the community-maintained open source MariaDB database that is sweeping the Internet, announced today the next steps towards a community-managed governance structure. With the appointment of a new, enlarged Board of Directors and a new interim chief executive, the MariaDB Foundation is now on track to a fully member-led governance in the second half of 2013.
The Board members are now Rasmus Johansson, Andrew Katz, Simon Phipps, Michael "Monty" Widenius, and Jeremy Zawodny. The first act of the new interim Board was to appoint Johansson as Chair and Phipps as Secretary and Chief Executive Officer.
As can be seen from that press release, the Board includes two Computerworld UK writers, Simon Phipps and Andrew Katz, which must be a good sign. In terms of how the new foundation will be run, the press release has this to say:
The interim Board plans to adopt a membership-based governance model that includes a diversity of stakeholders, similar to that used by the Eclipse Foundation, so has invited its Executive Director Mike Milinkovich to directly advise on governance matters. The Board aims to devise and publicly review suitable governance rules between now and July and then to have MariaDB Foundation members and contributors elect a new Board using those rules.
All of this sounds good news. Foundations can bridge the two worlds of commerce and coding, allowing the former to generate profits without taking advantage of the latter. I look forward to hearing more about MariaDB's evolution – and to seeing other companies adopt a similar approach to making money from open source in a way that is good for everyone.