Graeme's

You can get new post notifications through RSS, email, Twitter or Facebook

MySQL: what is the problem?

Posted by Graeme in Software at 11:50 am on Saturday, 19 April 2008

MySQL’s decision to produce proprietary add-ons to its highly successful open source database has been widely misunderstood, and in some cases spun to produce the impression that it is a failure of open source.

What is really happening? The former CEO of MySQL AB, head of Sun’s MySQL division since the acquisition, Marten Mikos, has explained in a post of Slashdot. In summary, all they are doing is providing proprietary add-ons to paying customers.

What this means is that they are no-longer a pure open source business in the way that Red Hat is. On the other hand, many other companies have used similar models, even a strong advocate of open source like Canonical can sell proprietary software as part of its range without controversy.

In addition, Broadstuff’s suggestion that MySQL is somehow capturing control of a community developed project is wrong on both this count and another: the vast majority of MySQL code was developed by MySQL AB.

The comparatively small number of outside contributors were happy to transfer copyright in their contributions to MySQL, and knew it would be used in proprietary versions. Some people apparently do not mind this: BSD developers have never objected to bits of their software being incorporated into everything from Microsoft Windows to Apple’s MacOS X. Those who do want be certain that their contributions to remain open contribute using a license that ensures this, such as the GPL.

The idea that the community is powerless is wrong as well. Consider what happened when XFree86 tried to change their license. There are plenty of companies that could fund a fork: Google already has a team working full time on MySQL, and for Linux server companies it is part of their open source stack.

In addition, MySQL is popular because it is open source, Sun, having learnt from its mistake in not open sourcing Java sooner, is unlikely to undermine MySQL in a similar way. I believe Marten Mikos when he says the core product will stay open.

However the poor way in which Sun has handled this may well damage them. It has been a perfect opportunity of PostgresSQL advocates to remind people that it exists.

Another problem for MySQL is that they are now doing the opposite of what Red Hat does with Fedora, implementing new features in the community version first, so that paying customers get a product that has already been widely deployed, and tested until it is rock solid. MySQL’s fairly small number of paying customers will not have to discover all the bugs that slip through testing.

MySQL are not doing anything wrong, however it may prove to the the wrong decision, and the way in which they have done it may prove to be foolish.

Comments (2)

Comments(2)

Comment by alan p at 4:13 pm on 21 April 2008 at

Graeme, my post was specifically about the view that Sun had handled this badly.

The reference to control being captured by a small group was not MySQL specific, more a discussion on the game theory of using offset labour for development if it became clear that others would profit unfairly from it – you of all people understand the behavioural economics of that!!

Comment by Graeme at 6:49 pm on 22 April 2008 at

You do not make it clear that the way in which Sun have handled it badly is primarily a PR failure. That is very clear if you read Marten Miko’s explanation.

Secondly, AFAIK most of the work has always been done by developers paid by MySQL/Sun. There is also a team paid by Google. Why would they feel that Sun has profited unfairly? They have been paid for their work.

As for external developers, they have specifically agreed to this. That is why MySQL ask for a copyright assignment. MySQL is doing what you describe: “grab all the loot, and run off with it”. The loot has always been theirs, and everyone involved has always agreed that it is theirs.

Most projects using the GPL merely ask that contributors GPL their code. It is not possible to close the project without removing the contribution of everyone who does not agree. This is true, for example, of the Linux kernel. How can anyone grab the loot in those circumstances?

Sorry, comments are closed