January 19, 2004

Database deathmatch?

An article on Techweb reports on a just-published Evans study survey of 550 database developers that shows Microsoft Access and SQL Server use increased by 6% last year. At the same time, MySQL use increased by 30% among the same group -- impressive, even counting that MySQL started from a smaller base. Is MySQL poised to beat Microsoft in the database arena?
"Concerns over stability, expense and how well a database plays with others are leading a quickly growing number of developers' companies to seriously consider and implement an open source database solution. We expect this trend to continue as the open source offerings are continually improved upon," said Joe McKendrick, Evans Data's database analyst.

I can tell you from observation and experience that usage of MySQL has doubled or tripled in the last year among the blog set, which doesn't show up in a survey like this. Apache + PHP + MySQL has become the unbeatable trinity for simple Web services. Where a year ago people were running simple blogs, they are now running calendering, forums, groupware, accounting, mail, and lots of other applications through Web browsers via these three programs. My guess is that the majority of MySQL growth in the last 18 months has been through growth in the database market as a whole. The trinity has stimulated a lot of people to utilize databases for the first time.

That's why the TechWeb article surprised me. I had never seen MySQL as direct competition to any of the big database vendors. Although Microsoft is no Oracle, I had thought it positioned SQL Server as an alternative on the enterprise level. Yet Microsoft's own Web site clearly puts SQL Server in the small/mid-size business market. That puts Microsoft and MySQL on an apparent collision course.

When was the last time a new entrant came into a market and directly challenged Microsoft? This is doubly interesting because I believe MySQL has hit on the magic formula for dual licensing infrastructure applications. The software is released under the GPL, but if you want to use it for closed-source work, or just don't like the GPL, you can buy a closed-source license. The company also aggressively sells support and services.

Because MySQL is not specifically a Linux product, this contest will represent the first time Microsoft has had to compete directly with a for-profit open source company on the Windows platform. As such, this may be an important test case and instructive for all.

A few factors that stand out as potentially significant. First, MySQL is a Swedish company. Sweden is in the EU. You can bet that if EU bureaucrats were interested in Microsoft's alleged anti-competitive practices against Sun and Real Networks, they will be more interested in any complaints coming from a European company. More important, they will likely take quicker action if they do receive a complaint. Either MS will be aware of this and temper its tactics, or it won't and potentially create some real problems for itself.

Second, MySQL is multi-platform and SQL Server is not. That's a huge benefit for anyone who wants to future-proof their databases. Linux will have a larger market share in future, especially in the server market. Using SQL Server will limit one's future OS choices; given Microsoft's traditional business style, a multi-platform version of SQL Server is unlikely.

Third, for many usages, MySQL is free-as-in-beer. The company makes its money from proprietary licenses and service contracts. TCO, by definition, may not be lower with MySQL, but the up-front cost ($0) is pretty damn compelling. Any Microsoft counter-pricing will be constrained by anti-trust issues.

Then there is the issue of free-as-in-speech. Will readily available access to the source code be a decision factor for customers? Microsoft's shared source program (which does not allow source code changes and is not available to everyone) doesn't make source code available as easily.

Since MySQL is part of a de-facto standard package for Web services, Microsoft must overcome not only MySQL but also Apache and PHP if it is to dent MySQL's growth. In the short term at least, that is a practical impossibility. Microsoft hasn't made much headway against Apache, and PHP is almost beyond its ability to influence. Embrace and extend are the only tactics I can see for subverting PHP, but the furor over Microsoft's attempted assimilation of Kerberos in 2000, when the company tried to add proprietary extentions, suggests it wouldn't work anyway.

Lastly, we have to admit that if Microsoft does perceive MySQL as a threat, it will protect its turf by whatever means necessary. That's how they do things. There are a lot of very smart people at Microsoft, and just because they have used illegal or underhanded tactics as standard procedure in the past is no reason to assume they can't compete in a more transparent manner if they have to.

I have argued here and elsewhere that Microsoft's pathological competitiveness has created exactly the kind of competition it can't deal with, in the same way casual antibiotic use creates super-bugs in the hospital. That would give MySQL an edge, but it doesn't mean they will win.

However things unfold, MySQL's experience will provide something of a road map for all. Stay tuned, this will get very interesting.

Click Here!