MySQL 5.1 release as “GA” seems to be the most controversial to date. It had very negative response from Monty, original MySQL Founder and controversial responses in community including another beating by Kevin Burton.
There is also very interesting reading on MySQL 5.1 open bugs
So how do I take it and where do I think MySQL 5.1 Quality Stands ?
I’ve been MySQL user for years since version 3.22 and when MySQL 3.23 came out we were using it in production since 3.23.3 or so, when it was in the Alpha stage still. A lot of bugs were fixed after we started using it… we just made sure the bugs which are important for us are fixed. Later while working for MySQL I’ve seen big and famous companies shipping MySQL 4.1 beta build into their hardware solutions. This is to tell stability and amount of bugs is not about number but about the things which affect you.
So when people are writing hey, MySQL 5.1 works for them I do not think this has anything to do with MySQL 5.1 stability. I know people who are happy with MySQL 6.0 and Falcon stability for months now – it works for their workload.
So what is Quality Guidelines for Release (GA) when ? The current policies are here but a history of how they evolved over time is much more interesting and allows to much better understand why Monty is upset with release.
MySQL Release Quality Guildines devaluated during last years probably worse than dollar in the last century. In early days it was “no known bugs in release” when it changed to “no known bugs in production release” when it changed to “no crashing bugs in production release” and now it changed to be to “believed to be reliable, free of serious bugs”. I believe this is already below the standards of what qualities “GA” release should have.
But guess what? MySQL 5.1 did not really meet even these guidelines when it was released as GA. Check bugs Monty mentions and even official MySQL 5.1 bug list. These are number of bugs which I would consider serious which are not fixed in 5.1.30. But who cares about me ? “serious” is not well defined term and you can pick whatever you like to call serious.
On the bright side MySQL 5.1 “GA” quality was much better than MySQL 5.0 quality when it was released.
Though the question remains, was MySQL 5.1 release as GA now a good move ?
MySQL 5.1 spent in RC stage well too long so people already started to use it in production (because they started with 5.1RC during their development) without clear understanding how it is going to be supported from MySQL. It also needed more Community Testing to fix those rare bugs which only become found with very wide use. Finally it was helpful for corporate users who are stuck with 5.0 because of policies of using only “GA” versions of the product.
Here is actually there another challenge comes from – MySQL does not make a difference between which release is recommended (offered by default for download) supported and later GA release.
Decoupling these terms would allow to get users to the Recommended release, which is also supported while have still high and clear GA guidelines which could be met months after release is getting Recommended status.
Though in this case MySQL of course minds its commercial interests more than follows community sentiments – in commercial software market there is usually no such difference. So it is complex to make people to understand and sell. Plus people assume first GA release is crap anyway. I’ve seen a lot of policies like waiting at least 3 minor releases or waiting 6 months after release people use for Commercial databases this gets transfered to MySQL too.
As a Summary I think this was inevitable MySQL 5.1 will be released for commercial/marketing reasons, not because it really meets quality guidelines. At the same time I would like to send my warm congratulations to MySQL 5.1 development team which made this release better quality than MySQL 5.0 initial release.