OSCON: The saga of MySQL

At OSCON in 2006, I followed sessions that discussed how open source companies would fare when big corporations come in. Back then there were only a handful of examples of big companies purchasing small open source companies. Three years later, we’ve witnessed MySQL AB get swallowed by Sun, only to have Sun be swallowed by Oracle. Now there are more open questions than ever and at least three versions of MySQL that are jockeying to continue the MySQL blood-line. Yesterday I attended talks by two of these groups and I have to wonder how the MySQL game will play itself out over time.

The first talk I attended was: “Drizzle: Status, Principles, and Ecosystem” where a number of Drizzle developers shared their thoughts about this project. Brian Aker forked MySQL to create Drizzle a year ago with the premise to create a new database that was leaner and more extensible by using a micro kernel and plugin model. The existing MySQL codebase had grown overly complicated after a number of features were “hacked in” which made adding more features overly difficult.

The drizzle team, which has several developers sponsored by Sun, seems very much concerned about the technical nature of their project. As in most open source projects the developers seem less concerned with politics and companies and more with creating a kick-ass database. I tried to ask a few questions to see where they think that MySQL, Drizzle and MariaDB were headed, but largely the questions were not answered — they reiterated the focus on technical excellence. Aside from having serious corporate support, Drizzle appears to be driven by classic open source principles. This makes me happy, because the future of both MySQL and Drizzle are unclear since Oracle just purchased Sun. Given the focus on open source principles, I’m certain the Drizzle would not go away should Oracle decide to stop supporting the team.

The second session was: “MariaDB: Community Driven SQL Server” which presented Monty’s (of MySQL AB fame) new company Monty Program AB. Unlike the Drizzle group, Monty’s new company has clear corporate goals, complete with fluff and marketing speak. The new company’s fork of MySQL, MariaDB, aims to be 100% compatible with the original MySQL. Its designed to be 100% drop in replacement that goes even as far as letting people who are certified on MySQL apply their skills to MariaDB. Even though Monty Program AB differs in a few aspects from the original MySQL AB, it really seems to follow a fairly similar model.

The people working on the original MySQL were not too well represented here at OSCON. Unlike Drizzle and MariaDB, MySQL is shrouded in uncertainty since no one know what Oracle plans to do with MySQL. Given that it MySQL can cannibalize (and probably already has) Oracle’s flagship product, the future of MySQL is very uncertain. The mindshare at OSCON clearly belongs to MariaDB and to Drizzle.

Returning back to my original point now, we can see that the acquisition of MySQL AB by Sun hasn’t worked out at all how everyone had hoped. Many of the fears raised by my blog post from 3 years ago have manifested in this mess. After MySQL became a Sun property, the quality of MySQL started to suffer, including releasing a version of MySQL that had serious known bugs. This had never happened before and sent a clear signal that not all was well with MySQL. And the community had a lot of frustrations with Sun as Sun slowed or stopped accepting patches. Even important companies like Google had serious patches to MySQL ignored. Clearly the process had broken down.

Today we find ourselves with at least three versions of MySQL that all have differing goals, yet promise to share code with one another. Some will be compatible with each other, some break new ground. The one thing we know for certain that nothing in this game is certain. Until Oracle makes a statement about the future of MySQL nothing will be clear.

I find it really interesting that both Drizzle and MariaDB have returned MySQL to fundamental open source roots. Neither group is going to require fancy licenses or copyright agreements and will solely rely on using the GPL. Drizzle is devoid of a commercial model for the time being and even Monty Program AB will look like a more “classic” open source company.

Amidst this uncertainty the only thing that is clear to me is that the MariaDB and the Drizzle communities are not waiting for anything — they are working on new improving their projects as fast as they can. I personally think that Drizzle presents the most interesting approach to saving MySQL — it sounds like the codebase needed a serious overhaul in order to break some development bottlenecks and to allow more people to come and participate in the development process.

Even though I’ve switched to Postgres many moons ago, I’m utterly fascinated by what is currently happening with MySQL. The current events in this space are things that we discussed three years ago with the conclusion of “This will be interesting to watch!” Indeed, it’s interesting to watch — I think we’ll be talking about this situation for quite some time to come. Oh, and MySQL users: Worry not — you’re going to be the winners in this whole debacle!

Related

Sign up for the O'Reilly Programming Newsletter to get weekly insight from industry insiders.
topic: Programming
  • http://www.silverstripe.com Sigurd Magnusson

    The fact that there are three versions shows the strength of open source licensing and communities in surviving major acquisitions. This is a great case study of why open source is essential for a commonly used platform. If MySQL had a fully proprietary license it could have represented a major crossroads, and depending on what comes next, we might have seen mass migration, say to Postgres or SQL Lite.

  • Morgan Tocker

    “After MySQL became a Sun property, the quality of MySQL started to suffer, including releasing a version of MySQL that had serious known bugs. This had never happened before and sent a clear signal that not all was well with MySQL”

    That’s simply not true. Having worked in the MySQL Support team around the 5.0 release, I can tell you that it was a much worse release.. and that happened entirely without Sun.

  • Anonymous

    It it interesting that the founders of both Monty AB and Drizzle have benefited tremendously through Sun’s acquisition of MySQL.

    The reason they cannot have the same commercial (dual licensing) model that MySQL AB can have is because they sold their dual licensing rights *already* for hundreds of millions of dollars.

    It is now funny to complain or to claim that they are somehow purer because they do not have a dual licensing model.

    This “choice” is not really a choice between two alternatives. It is a choice that they have left themselves by the sale of MySQL to Sun.

    To claim that they are somehow making this choice form higher moral ground seems really disingenuous to me.

    Drizzle and MontyAB, their founders having sold their commercial rights already, have no choice but to rely on support, NRE and other techniques for moving the business forward.

    Of course, Drizzle remains an OS project whose ownership may still be completely Sun’s to have since it is a Sun project, and licensing agreements for contribution will put the ownership squarely in Sun’s hands.

  • http://krow.net/ Brian Aker

    Hi!

    I don’t believe that it is appropriate for me to really to criticize other open source databases (I don’t always accomplish this, but I do try).

    Cheers,
    -Brian

  • http://rpbouman.blogspot.com/ Roland Bouman

    Hi!

    “After MySQL became a Sun property, the quality of MySQL started to suffer, including releasing a version of MySQL that had serious known bugs. This had never happened before and sent a clear signal that not all was well with MySQL.”

    I’m with Morgan here. MySQL 5.1 is a good release, much much better than MySQL 5.0. Also, Sun allowed MySQL to largely run its own engineering show – It is completely unfair to blame Sun if there are any problems with MySQL 5.1 quality.

    In my opinion, of all things Sun had a good influence on MySQL 5.1 resulting in better support for Solaris. And the current beta, MySQL 5.4 is very promising, and finally incorporates community patches.

    “And the community had a lot of frustrations with Sun as Sun slowed or stopped accepting patches.”

    Again – not Suns fault. The practice of not adequately dealing with community patches predates the Sun acquisition by a couple of years.

    “Even important companies like Google had serious patches to MySQL ignored.”

    Some of the google patches are really nice improvements. But, – and this was also pointed out by Peter Zaitsev from Percona in his OSCON 2009 talk on community patches – the Google patches are quite specific for the way Google uses MySQL. This does not automatically make them suitable for the rest of the world notwithstanding the excellent engineering effort on Google’s part.

    I hope this adds some nuance.

    kind regards,

    Roland.

  • http://www.wendallcada.com/ Wendall Cada

    They may have a reasonable argument about the Google patches. However, when you consider the inclusion of multiple alpha quality features, it ends up sounding like a lame excuse.

    I’m glad to see the project forking.

  • Mark Callaghan

    I also think that Sun made MySQL releases better especially the performance folks who prevented a repeat of the performance regressions that lasted long into the 5.0 cycle (specifically in the parser).

    With respect to patch acceptance, Oracle/InnoDB accepted/published a large patch and I think the 5.1 plugin is close to being GA so they deserve a lot of credit for getting that done while they are concurrently making InnoDB a lot better/faster on their own (fast index create, compression) and more is on the way real soon. Oh, and embedded InnoDB was just released and that deserves much more attention.

    Sun/MySQL has accepted all of our patches — they just haven’t been so fast at publishing them in their alpha/beta/GA branches.

  • http://fakeamelia.blogspot.com Fake Amelia

    Robert,
    MariaDB is not “…designed to be 100% drop in replacement…” of MySQL. It’s simply MySQL 5.1 + the Maria storage engine. Yes, the same MySQL 5.1 that Monty dismissed as unreliable in November.

    Wendell,
    you got it all wrong. It’s MySQL *forks* that include alpha quality features, and are presented as ready for prime time.

    Amelia

  • http://openlife.cc Henrik Ingo

    Hi

    The issue whether MySQL shortcomings can be blamed on MySQL AB or Sun has been commented already, so here goes another minor thing:

    Actually, for MariaDB we do plan to ask for copyright assignments to be pooled by us or the Open Database Alliance, unless rights have already been assigned to (or are owned by) Sun/Oracle, in which case we use them under GPL. This is to keep the door open that we could choose to assign all of the MariaDB diff back to Oracle. Our main interest there would be to allow the commercial licensees of MySQL to benefit from MariaDB work. I believe Percona intends to do the same with XtraDB.

    This may turn out to be a useless exercise in the future, but for the time being it seems wise to maintain the door open to do this.

    That being said, we would probably look into getting something in return from Sun/Oracle – just giving it for free. (And would make fruits of any such trade available to community, of course.)

    Thanks for a nice post!

    Henrik Ingo
    Monty Program Ab

  • http://krow.net/ Brian Aker

    @Fake Amelia

    “are presented as ready for prime time”

    Drizzle is not ready for use. We have been very public about this, and continue to be so. We still have several months of changes before we are ready to declare “please test us for production”. Until we say this we will not support in place upgrades, which really is a requirement for release.

    Cheers,
    -Brian

  • Anonymous

    Too bad that O’Reilly couldn’t get someone more familiar with MySQL to write about MySQL.

    Bad for credibility

  • bob

    The final winner will be whoever controls mysql.com

  • Fake Monty

    Interesting thread. I was at several of these sessions, including an abysmal BOF on MySQL forks (no lack of dysfunction in this crowd). ODA/Maria/Monty Program does not appear on its surface to be that open. Drizzle, while still nominally under Sun control, seems more open than the Open Database Alliance…

    @Fake Amelia – Maria is a fork of 5.1 – it is not 5.1 itself.

    What is totally not clear to me is what expectations either of these projects has regarding adoption. Is there some sense that the market may abandon MySQL and move to one of the competing forks? By the market I mean the mainstream of MySQL users — not Brian or Monty’s top 20 BFFs.

    Is it possible that one of these will emerge as the replacement?

  • Anton

    I think one of the main things people might miss in terms of adoption and that is Linux distro adoption. While this is major blasphemy, a few wisely funnelled dollars to Debian or Ubuntu could cause immediate adoption. Can you imagine what a default install of MariaDB instead of (semi-official) mysql in Ubuntu would mean for Monty? If there is anything that I as an admin hate, it’s having to do more work than (script or) execute apt-get update. And Linux may still not be a presence on the desktop, but in the MySQL world, it’s No1 by such a long way that it’s silly.