Exclusive Search giant Google has put its support behind an independent fork of MySQL, the famed open-source database that was gulped down by software giant Oracle when it acquired Sun Microsystems.
The Chocolate Factory has sent an engineer to the MariaDB Foundation, which looks after the fork's codebase, community and ecosystem, and has MySQL daddy Monty Widenius himself as its lead developer.
One engineer isn’t much considering the Google-plex’s humongous staff of 45,000, and the moneybags internet ads machine isn't stumping up any money either. But that’s not the point, apparently.
Having Google on board and working on MariaDB at all is of huge significant to Widenius, chief technology officer of a foundation he announced in December 2012. Maria's other sponsors include open source database consultancy SkySQL, Parallels and Booking.com.
Maria won't be owned by a corporate
The objective is for MariaDB to remain the kind of open-source project no single company can own. Widenius has said he regrets not taking steps to stop MySQL, his first love, from eventually being owned by a corporation – namely Oracle.
“That’s the one mistake I made,” Widenius told The Reg in an interview. “Based on the facts I had then, I’d say everything was done right. If I were able to look into the future, I'd have added one thing to the licence: that this licence is GPL but after three years it reverts to BSD, then Oracle wouldn’t have bought Sun because we’d be free within three years and MySQL would be BSD and nobody could take that away.”
BSD is a permissive copy-left licence that allows you to do anything to code, while GPL, also a copy-left licence, requires any changes you make to be returned to the community and that modified versions be marked as changed. MySQL's licensing policy puts it under both a GPL (for devs) and a "commercial licence" for businesses, which will need to pay a fee to Oracle.
Widenius created MariaDB after Oracle bought Sun – and with it, MySQL. He founded developer Monty Program to support and maintain MariaDB, which was first released in 2009. SkySQL, the company that provides commercial support for MariaDB and other MySQL variants, merged with Widenius’ Monty Program in April this year.
The reason is to ensure MariaDB’s independent survival as the official MariaDB distro, he said. “SkySQL has lots of power… because they employ lots of engineers. But they are not the ones who design it [MariaDB]. It’s developers who define it and that’s developers outside SkySQL. It’s done as a true open-source project and nobody can take that away.”
Widenius is talking to other unnamed other big companies about becoming Foundation sponsors.
What's in it for Google?
Google for Widenius represents independence and diversification of supporters for his database via an independent Foundation. But what does Google get?
Asked by The Reg, Google declined to comment. We can only guess the advertising giant is keeping its options open to prevent its cloud services from becoming tied into the roadmap and mercurial feature decisions of a single tech rival – Oracle.
AppEngine uses Google’s Cloud SQL for hosted storage.
Cloud SQL is based on MySQL 5.5, but ever since Oracle took ownership of MySQL in 2010, Ellison’s company has asserted its control over the database's development and roadmap, neither courting not accepting input from the outsiders.
Its fellow tech companies don't like this much, as you'd expect. Ironically, one reason Ellison cited for Oracle being the first serious software-maker to ensure its products run on Linux in the late 1990s was hostility at being tied into Microsoft's development roadmap on Windows.
On MariaDB, Google has the power to influence features and keep a working version of MySQL alive and in development beyond Oracle's control.
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 chipped in during our conversation.
“We have Google and several companies saying they are ready to employ full-time developers that they pay for, and that developers will ensure anything they need will be done. You can be sure those features need for critical availability will be there.”
There’s little to choose from between MariaDB and MySQL on a feature level at the moment, but things will change as more changes are made by Oracle to MySQL and by MariaDB’s backers to their fork over time.
Testing... testing... hello?
That's not just because Oracle is setting the roadmap, but also because Larry’s behemoth has gone out of his way to make the job harder for those outside Redwood Shores to implement changes in MySQL forks. Oracle does not release the test cases.
Test cases allow devs test their code against the main product to help ensure compatibility and to ensure the fixes work in all settings and platforms. If test cases are not released, developers cannot easily test and bugs risk popping up again.
Widenius said it’s possible to maintain feature and binary compatibility with MySQL but only as long as Oracle keeps releasing a Community Edition of the database. “We can do that for three to five years easily. As long as there is a demand and that means as long as there’s lots of MySQL users, we can do that,” he said.
He continued: "The code is getting more and more different, but we still have binary compatibility – 99.99 per cent. You can repeat MySQL with MariaDB. Over time things will be less compatible because we are adding so much more to this and we are so much ahead of MySQL.”
Widenius estimated MariaDB is “30 man years” ahead of MySQL, on the interpreter, optimiser, bugs fixed and support for NoSQL. On the latter, MariaDB is being positioned as providing a bridge between relational data types and NoSQL data stores, with connectors already in place for Cassandra and MongoDB.
Future development priorities are improved key access, an expanded range of storage engines, and improved scalability and elasticity for cloud computing.
But a huge bifurcation is a worry to the community and would be especially problematic for MariaDB, as it's trying to build off of MySQL. Sallner reckoned he’s had MySQL customers switch to MariaDB but use remains relatively small.
“The timing will be crucial,” Sallner said. “It makes sense to be closely aligned so the whole ecosystem can be together for now. There’s not enough critical mass around MariaDB and a lot of people would be very concerned if it happened too early.
"There’s a big question about the whole cake – that it’s better the whole cake is strong and there’s more for all of us and we can bring more users to the MySQL ecosystem.”
Until then, Widenus believes MariaDB can ultimately destroy the MySQL’s OEM business – 60 per cent of MySQL is used in somebody else’s product – and MySQL is also used in the cloud. Until then, it’s a waiting game, to which Google would attest. ®