Maybe Oracle Isn't The MySQL Villain So Many People Think

For those still struggling to understand open source, the fracas over Oracle's handling of MySQL won't help. When Oracle acquired Sun in 2010, open sourcerors (including me) worried that Oracle would kill MySQL by under-investing in its development or turning it proprietary. Neither has happened. In fact, MySQL performance has dramatically improved under Oracle's stewardship, with the bulk of MySQL code remaining completely open. 

Yet some in the open-source community continue to pummel Oracle for its management of MySQL. Is it fair?

The MySQL Community Apocalypse ...

Oracle has never been particularly community-friendly. Even the users that feed it billions in sales every quarter don't particularly love it.

Small wonder, then, that Oracle's stewardship of MySQL has been under constant attack since Oracle bought Sun (MySQL was part of Sun). Some of the concerns were simply alarmist conspiracy theory twaddle. But some were real, like the surprising disappearance of MySQL test cases in 2012. Long a staple of open-source projects, test cases basically help users confirm that a bug has been resolved. Without them end-users and developers are left to fly blind.

Once it became obvious that Oracle truly had stopped publishing test cases, many started pointing fingers. For example, Sergei Golubchik of MariaDB, a fork of MySQL that proclaims itself purer and more community friendly than MySQL, assumed the worst, arguing that Oracle

intentionally kills whatever is left of the MySQL development community. Without test cases MySQL becomes as opaque to external developers as any piece of closed source software, and only those most experienced and familiar with the MySQL code base will be able to continue working with it.

Or so the theory goes.

... Or Not

As it turns out, the truth is more complicated. Misguided or not, MySQL's test case visibility may have been squashed by corporate bureaucracy, not nefarious designs, as open source pundit Simon Phipps reveals after talking with individuals "extremely well-placed to know" the truth:

A blog posting earlier in 2012 had pointed at test cases as a place to get ready-made source code to exploit security-sensitive defects in MySQL. In response to this, Oracle's security team insisted the MySQL developers not publish test cases associated with bug fixes in GA releases any more.

Although the MySQL team is aware this obstructs co-development and is opposite to the practice of most communities, internally to Oracle they have been unable to make the case for community transparency (even to the extent of giving this explanation publicly).

The fact that an ardent open-source advocate like Phipps acknowledges the non-evil (if not exactly positive) designs behind Oracle's policy changes is therefore a pretty hefty support for Oracle, even if it ultimately leaves the MySQL community worse off.

Still The Popular Kid

Still, despite Oracle's alleged mismanagement of MySQL, MySQL remains the most popular open-source database - by far - and could actually displace Oracle at the top of DB-Engines' popularity ranking by mid-2014. Whatever the community angst over MySQL, this hasn't translated into a slide in its adoption.

Part of the reason is that Oracle has dramatically improved MySQL performance and functionality, as Zack Urlocker, former EVP of Products at MySQL, insists:

Urlocker goes on to state that Oracle "improved performance in areas that were long considered impossible to address." The reason should be obvious: Oracle is a database company with decades of experience building and improving relational databases. It would be surprising if Oracle could not improve MySQL.

MySQL Performance Soars Under Oracle

Still, the fact that it has suggests that those (like me) who were suspicious of Oracle's commitment to MySQL need to reevaluate that thinking. While it's true that Oracle has loaded up some performance improvements only in its proprietary version of the database:

Though even the community edition keeps getting dramatically better, most recently posting 150% improvements in read/write performance between MySQL 5.5 and MySQL 5.6:

While the data isn't perfect and others like Facebook's Mark Callaghan have shown performance degradation since MySQL 4.1, the MySQL employees (current and former) I've polled all credit Oracle with significantly improving MySQL performance

As Monica Kumar, senior director of product marketing at Oracle, points out:

Oracle: Saint Or Sinner?

In sum, I suspect most MySQL users today are grateful for the Oracle's contributions to MySQL. Its backtracking on core community best practices are regrettable but understandable, in light of the company's security policies. Arguably, these should be revisited so that MySQL can benefit from Oracle's technical leadership while giving the MySQL community the unfettered access to information that will increase its trust in Oracle's technical leadership.

As former MySQL CEO (and current Eucalyptus CEO) Marten Mickos (@martenmickos) stresses in an email to me, "Oracle may not care about community, but they are doing a great job at maintaining and developing the MySQL product under the GPL license." Perhaps Oracle should care more about the MySQL community, but there's little cause to believe Oracle deliberately harms MySQL, either as a product or as a community.

UPDATE 6:23 PM PST on December 16, 2013: An earlier version of this article incorrectly identified Simon Phipps as interim CEO of the MariaDB Foundation, and suggested that Phipps is therefore a "conflicted" observer of MySQL. While Phipps currently holds this position, he did not at the time of the blog post referenced above. I personally apologize for this inadvertent error. (Matt Asay)

Image courtesy of Shutterstock