Few days ago MySQL released MySQL 5.0.37 which I would call first real Community Version, because unlike previous versions which were released from the same source tree as Enterprise MySQL this one has some community features added, which is great.
Also over last half a year MySQL seems to have organized resources for Community Engineering team which means we’ll likely get more cool contributions accepted into community version.
The great question however why MySQL did not announce the split just now when it really got some real meaning from technical standpoint ? I guess it is mainly to be able to sell to more customers which would not have to pay for MySQL running it under GPL but still would like convenience of having quick binary updates and running some kind of Certified version.
But lets leave this aside – this is how Sales and Marketing frequently works – lets go ahead and sell the idea and we can fill it with meaning later on if it takes on, if not – it is cheaper to scrap stuff if there were no real engineering done to support it.
The questions which I’m pretty curious right now are the following:
Are the more cool features to follow ? Jeremy’s PROFILE patches are great but I hope the patches will be continue to flow in. In fact we have submitted our slow query log with microseconds patch so we’ll see how quickly and if it will be accepted for inclusion.
How good will be quality control This is another scary thing for me. For example I have found Fedora Core quality sub par (updates breaking things in some cases) and so I use CentOS for production servers, which is effectively rebuild of RedHat Enterprise Version. Community Version of MySQL has all chances to be as stable as Enterprise or even more stable as it will be used by larger volume of users, and if there would be such nice stuff as profiling patches in it I guess many big web guys will use community version too. This is of course if MySQL applies reasonable quality assurance to accepted code.
What is about binaries ? MySQL 5.0.37 was rare exception of community release with binaries and if MySQL follows its promises we now will not see any more community binaries for few months. For us and our customers we have no problem building binaries. Some Linux distributions, FreeBSD etc will also likely have recent community releases quickly available (again assuming quality will be where) but distributions with conservative build policies, including RHEL will need third party binaries provided. Hopefully the people will settle in community which will do it.
What is about End of Life ? One thing about community versions is they are expected to reach end of life faster, so you will need to upgrade to new MySQL Version or you would be left without fixes. Same situation with Fedora Core actually was another reason to use CentOS for servers on production – Fedora Cores keep coming up and become unsupported.
Of course in theory I could upgrade servers to the new version relatively painless but I’m not venturing it for servers which are hosted on the other continent. With MySQL it is happily less painful and if new version does not work you can normally roll back easier but still. I suspect regarding this issue again will a lot depend on MySQL – if new version will be easy to upgrade to, the amount of new bugs and incompatible changes will be small – most community members will just move, if not there will be critical mass of community members reached and process of backporting patches to community version may be organized. Another good thing – unless you used some specific community features you should be good with self built enterprise version build as soon as sources will be available during for a whole life cycle of this version.