In theory, Oracle owns the code for MySQL, which is still the world’s most popular open-source database. By acquiring Sun in 2009, which had previously bought MySQL for $1 billion, Oracle took control of MySQL’s code base. Or so it thought.
In the last five years, MySQL’s user community has actively sought increased control of MySQL, mainly through forks of the project like Percona or MariaDB. With this week’s announcement of WebScaleSQL—a collaboration from Facebook, Google, Twitter and LinkedIn to branch and improve MySQL’s ability to scale—Oracle’s leadership of MySQL could be in serious jeopardy.
Or would, if that’s actually what the Web companies wanted.
MySQL Is WebScale Now
Many years ago, the engineers at Facebook, Google and several other web companies turned to MySQL to scale out on commodity hardware. Given the economics of their data centers, it simply wasn’t feasible to build on proprietary products like Oracle or IBM’s databases.
It’s unlikely Oracle or IBM could have handled the scale at which the web companies needed to run. No database really could, even MySQL. But because MySQL is open source, each company was able to tailor the database to its specific needs.
As it happens, however, there were enough commonalities between what these Web companies needed that they decided to band together, calling the project WebScaleSQL. Facebook engineer Mark Callaghan’s website indicates the project was in gestation for months, but the companies finally announced it last week:
WebScaleSQL is a collaboration among engineers from several companies that face similar challenges in running MySQL at scale and seek greater performance from a database technology tailored to their needs.
WebScaleSQL currently includes contributions from MySQL engineering teams at Facebook, Google, LinkedIn, and Twitter. Together, we’re working to share a common base of code changes to the upstream MySQL branch that we can all use and that will be made available via open source. This collaboration will expand on existing efforts by the MySQL community, and we will continue to track the upstream branch that is the latest, production-ready release (currently MySQL 5.6).
That last line is what should give Oracle some peace of mind. Unlike Percona and MariaDB, both of which fork or replace the standard MySQL code base with their own (adding new storage engines or other functionality), the Web companies clearly want to keep feeding stock MySQL.
Talking to people involved in WebScaleSQL, it’s clear the initiative isn’t aimed at unseating Oracle. If anything, it underscores just how important MySQL is to these Web companies, given the massive investments they’ve made in fitting the open-source database to their needs.
Indeed, there are features that a Google or Twitter needs from MySQL that the vast majority of others users don’t need, or at least won’t need for years. But WebScaleSQL helps these companies with particular needs pool development efforts around a common platform. And that’s a big positive for Oracle.
Had the companies intended to go after Oracle, they would have released their own binary distributions of the database. But they’re not. They’re contributing code back to the “upstream” MySQL code base. Oracle can elect to include it or not. Given how much this development will improve the state of the art for MySQL, Oracle would be wise to embrace the improvements.
But let’s be clear: This isn’t a fork. But why not fork the code and move on? Because, as Pentaho engineer Roland Bouman goes on to argue, those companies need Oracle to set the base distribution:
They…are glad for Oracle’s ongoing development [and] just want the tweaks for their [own use]. I think WebScaleSQL is mainly a way to avoid duplication of work, and of course to benefit from each others’ ideas. Also, I think this is more than just a development effort, I think the QA effort is just as important. Sharing effort is way more efficient. Not so easy to recruit MySQL experts at this level.
But Will Oracle Respond?
Most open-source projects can only dream of getting this kind of heavyweight involvement from Google, Facebook, Twitter and LinkedIn, with other companies surely to follow. It’s free labor for an immensely popular database, labor that should make the database not only more useful for Google, but also for others, too.
Thus far, Oracle hasn’t been seen as the best steward for MySQL. It has removed test cases and done other things that have riled MySQL’s community. But it has also significantly improved the code. So long as the focus remains on doing anything possible to improve MySQL’s underlying code, Oracle signing up to embrace WebScaleSQL should be a no-brainer.