MariaDB, the open source fork of the popular MySQL relational database, is slowly but surely making inroads in the MySQL user base by building a stronger community. Clear evidence of that comes with the report from The Register today that Google is assigning a full-time engineer to the MariaDB Foundation. But Oracle is responding with its own plans to diversify its own MySQL developer community.
In itself, Google sending a single developer to MariaDB might not seem like big news, but it points to a growing trend for MariaDB in its battle against predecessor MySQL. MySQL has become increasingly isolated as an open source project since the open-source database was acquired by Oracle when the software giant purchased Sun Microsystems.
"Isolated," in this case, points to the growing perception that Oracle does not accept many outside contributions for the MySQL database, which is dual-licensed under the GNU General Public License for developers and a commercial license for customers. The GPL is key here: any project that forks away from MySQL and makes code changes to improve upon the original MySQL code is required to publish the source code for those changes somewhere, presumably for the benefit of the MySQL team.
This is the very heart of free software "copyleft" development: it ensures that improvements can be shared among many related projects. But critics such as Monty Widenius the original creator of MySQL and the newer MariaDB project, maintain that Oracle is deliberately keeping the number of accepted contributions low. There is no rule in the GPL, after all, that says code changes have to be accepted by the parent project.
The effect of such policies, critics charge, is that as forked versions of MySQL like MariaDB are changed, it is increasingly difficult to maintain compatibility with MySQL. While some forked projects in the open source world don't give a flying fig about compatibility MariaDB most certainly does—otherwise, it would not be able to be a one-to-one replacement for existing MySQL databases.
This is why Widenius and his MariaDB team are geared up about Google's participation: they believe that strength in diversity will make MariaDB a better project and one not controlled solely by a single commercial entity. Indeed, the Register article speculates that this is why Google is coming on board: their own Cloud SQL product is based on MySQL, and therefore has its destiny tied to the whims of Oracle. Getting more involved with MariaDB is a good piece of insurance, should Oracle get squirrelly.
SkySQL CEO Patrik Sallner gave The Reg his theory on why he thinks Google is joining in. 'There are quite a few companies not financially sponsoring the Foundation but [which] are providing resources, because they see the value of being part of the community. That's another thing we learned from MySQL, to make sure there are enough contributors. At MySQL there were not that many externally,' he said.
'None, none,' Widenus [sic] chipped in during our conversation.
Did Oracle Pick Up The Clue Phone?
Widenius may have gotten ahead of himself with that statement to the Register, as Oracle may be wising up to the fact that if it wants to keep interest going in MySQL as an open source project, it has better start opening the shell a little. As recently as last month, MySQL Community Manager Dave Stokes made a public call for external contributors for MySQL.
Stokes' request was met with some derision, with complaints about his mentioned requirement for contributors to sign the Oracle Contributors Agreement. Such agreements can rankle those in the open source development community, since they usually mean giving up license control and even intellectual property rights for submitted code to the project host.
Former MySQL Community Manager Giuseppe Maxia came to Oracle's defense a few days later.
"I may not like it, but licensing was still a consistent part of the business when I left Oracle, and I assume it still is. Since this “feature” helps paying the developers that create open source software, I believe it is a reasonable trade-off.
Maxia also cited that in his experience, contributing to MySQL code is more difficult than other projects, due to the intricacy of the database's source code itself.
If Oracle's call to action has the intended effect, it should increase the diversity of the MySQL community, and perhaps allay ongoing fears that Oracle will always dominate the destiny of MySQL and can't be trusted.
But that won't stop the MariaDB team from using the "more open than MySQL" tactic to win over business customers and their developers.