Free software's second era: The rise and fall of MySQL
by Glyn Moody
If the first era of free software was about the creation of the fully-rounded GNU/Linux operating system, the second saw a generation of key enterprise applications being written to run on that foundation. Things got moving with the emergence and rapid adoption of the LAMP stack – a term coined in 1998 - a key part of which was (obviously) MySQL (the “M”).
But unlike the “A” and “P” in LAMP, which remained close to their hacker roots, MySQL grew under the guidance of Marten Mickos into one of the first successful open source companies not based around GNU/Linux distros. A few years ago, Mickos explained to me where one of his company's key ideas – that of owning the copyright to all the contributed code - came from:
There are some natural reasons for it. One is that the vast majority of the original source code was written by one man — Monty [Widenius]. Now his portion is much, much smaller, but at that time, most of the code was written by him. So it was natural that the copyright was held by the company. But second, Monty and David [Axmark] learned from the Ghostscript project. They were the first implementers of the dual-licensing model where you retain copyright but at the same time you release it under open source.
Owning all the copyright meant that MySQL was able to pioneer the dual-licensing strategy that soon became common in the industry. In 2000, MySQL made another move that was later copied by many open source start-ups: it adopted the GNU GPL for its free version. Mickos explained why:
Initially, [MySQL's founders] had another dual licence that said it's free on Linux but you pay on UNIX and Windows. And at some point, they realised to get included in the Linux distros, you needed a licence that people could readily accept. People had nothing against the MySQL licence, but it took time for them to read through it and accept it. And they argued that if they would adopt the GPL, there would be no questions asked.
Collectively, these moves helped define and propagate what became the standard business model for companies based around free software. That model received the ultimate vote of confidence in 2008 when Sun bought MySQL for $1 billion – an unprecedented sum for an open source company. As the press release put it:
Sun Microsystems, Inc. today announced it has entered into a definitive agreement to acquire MySQL AB, an open source icon and developer of one of the world's fastest growing open source databases for approximately $1 billion in total consideration.
If the deal confirmed that “open source icon” as the most successful open source applications company, and an example for others to follow, the subsequent two years have turned it into something of a warning of the pitfalls its imitators need to avoid.
One is failing to stay close to your community, with the result that you miss key signals about major shifts in the marketplace. For a small start-up, that's not really a problem; but it is for a big organisation that becomes part of an even larger one, with all that this implies in terms of hierarchical inertia and institutional caution.
A clear warning sign about the dangers of losing touch and becoming sclerotic appeared shortly after Sun bought MySQL, when one of the original founders, Monty Widenius, wrote a post significantly entitled “What if”:
For the last 2-3 years, Brian Aker and I have had many discussions about how to refactor MySQL. Brian has been the one driving these discussions by asking why some things in MySQL were done in a certain way and in a true "what if" manner asked what would happen if we would do things in another way.
Being tired of not being able to get critically needed reconstruction work done in the MySQL server, Brian started to work on Drizzle to search for answers to these questions.
Widenius then goes on to list problems that he thought Drizzle would solve:
- It opens up MySQL development for the community; You no longer have to wait years to get your patches and reasonable extensions into the server.
- Critical bugs that have existed for years can finally get fixed as the development is no longer constrained by unrealistic release schedules that put artificial constraints on things that can be fixed.
- Drizzle will put some MySQL server differentiation on a true test; A bit like Fedora does to RedHat.
- Drizzle has created new excitement in the MySQL developer community; A lot of people seem to be very enthusiastic to work on it in a true community-oriented manner.
- Developers working on Drizzle is doing drastic refactoring of the server, something that MySQL planned to do years ago but never happened.
- Development decisions are again driven by people that are using the server daily; This will ensure that Drizzle will be faster and more stable than what can be done with current MySQL development model
- Drizzle will target the MySQL core users, the web users, whose requirements have been ignored for years while the core MySQL developers have added features that they don't need.
Of course, what this implied was that the official branch of MySQL suffered from these very problems – a pretty damning judgement, and, if true, a sign that the project was in trouble. So it was hardly a surprise when the people behind Drizzle upped sticks and moved to pastures new. The parting shot confirmed the underlying issues:
I left my previous position of Community Relations Manager at MySQL to begin working on Brian Aker's newfangled Drizzle project in October 2008.
Many people at MySQL still think that I abandoned MySQL when I did so. I did not. I merely had gotten frustrated with the slow pace of change in the MySQL engineering department and its resistance to transparency. Sure, over the 3 years I was at MySQL, the engineering department opened up a bit, but it was far from the ideal level of transparency I had hoped to inspire when I joined MySQL.