July 30, 2014

MySQL Community Needs

Sheeri just posted a great post putting a different view on recent MySQL Community Announcements.

This however raises very interesting point what MySQL Community really needs ?

I think the problem is there are no single set of needs for Community which can be maintained within single version. I see at least two set of community with very different needs.

First is “Production Community” – these are the guys which want stable MySQL version, do not want to take risks want regular updates. Some of them would like to see certain community contributions in server but not at the expense of stability.
For this group actually Old Time MySQL would work best when user contributions were accepted rather quickly into the mainline and frequent MySQL releases were built.

Second is “Development Community” – these are the guys which are hacking around MySQL and want to see these cool community features fast. They are often testing MySQL rather than running version in production so they are not so conservative and would like to see changes faster even at the cost of risk.

I typically belong to 1st group but often to second – I mainly care about performance monitoring extensions which are very special – you do not have to run them in production all the time. You can use them for some time gather the stats and roll back to the safe binary without the changes.

Looking at announcement translation by Sheeri it looks like MySQL is focusing on the first group rather than the second.

This is very interesting if we compare it to RedHat/Fedora community which has the same difference.

Production Community RHEL is called CentOS – it is same as Enterprise version but it has number of community extensions if you want them. For example there are CentOS 4 kernels with Reiserfs which is not supported in RHEL. Note this is not maintained by RedHat as it is hard to differenciate between two versions both of which are production focused.

Development Community version is called Fedora – this is maintained by RedHat and gets a lot of bleeding edge cool features for people who are less concervative, so among other things they can be tested before going to Enterprise version.

I’m not saying MySQL should copy the same approach. Fedora is used a lot on Desktop which is less mission critical while it is rarely used same way with MySQL – even if MySQL is used on Desktop by end users it is typically for development in which case you try to keep same version as used on production system.

It is however clear for me it would not be easy for MySQL to have both Community version which is absolutely great for Production and used in production by millions of users and Enterprise version which is used by thousands of enterprises and lacks certain version community has.

As a side not I also read InfoWorld article today
Dave Dario puts another interesting ange to the discussion saying MySQL unlikely does it for revenue (which seems to conflict with what Kaj himself is saying) but what MySQL may be doing it for IPO to show potential investors its IP is protected (even in such wierd way of inconvenient source code access)

I’m not to discuss if Dave is right or wrong – the thing is he is guessing, why ?
Because it does not looks like Kaj describes true reasons at least all of the reasons, and I think this is one big item which offends community.

Community does not like when it is attempted to be approached with Enterprise class marketing which tend to draw the rosy picture and replace true reasons with something which allows to keep the face. Have you ever seen Enterprise announcements saying something like “We fired our CEO because he was clueless in business and poor leader and Board was blind unable to notice it for years” ?

The true community demands brutal honesty, especially as it comes from Kaj’s personal blog rather than company press release which Enterprise users also read and which may be shocked by someone trying to be honest to them.

About Peter Zaitsev

Peter managed the High Performance Group within MySQL until 2006, when he founded Percona. Peter has a Master's Degree in Computer Science and is an expert in database kernels, computer hardware, and application scaling.

Comments

  1. Bill says:

    Forgive my ignorance, but isn’t the production community/ development community simular to what mysql was trying to do with mysql-max? Why didn’t that work? I never looked into it, because I fall more into the production side of things especially when mysql-max was still around and my needs at that time were rather modest.

  2. peter says:

    At the time of MySQL-max the turn around was much shorter so for features you was getting them fast… if they were accepted of course. The -Max was mainly for big features which could be compile time enabled, mainly Innodb in 3.23 and BDB in all versions (it never made it to standard).

Speak Your Mind

*