« Open source police force | Main | Google as a shield from RIAA lawsuits »

April 22, 2008

MySQL so busy becoming PostgreSQL it forgets its community

The best storage engine for MySQL is by far InnoDB (and yes some applications can live with MyISAM only, but that's not the point). InnoDB (now part of Oracle) is also dual-licensed and has had an agreement with MySQL for several years now.

On the surface everything is looking  smooth:

  • MySQL distributes proprietary MySQL+InnoDB to those who wants to embed them in their proprietary applications
  • The open source community can work with  GPL MySQL and GPL InnoDB.

In practice it doesn't work quite that way:

Firstly because InnoDB hot-backup feature for instance has never been open source released. So contrary to the recent brouhaha, MySQL  has fostered  proprietary components for a long time.

Secondly because even so  SUN  has globally a good relationship with Oracle when it comes to selling Oracle DB on SUN servers, it is unlikely that SUN will let its pricey acquisition be driven (through InnoDB/Oracle) by an outsider. Conversely,  the day Oracle perceives MySQL+InnoDB as a threat, the existing agreement won't be renewed.

So MySQL is on the run to develop a replacement for InnoDB (since they cannot use the GPL version of InnoDB with their proprietary release/license). A new storage engine named Falcon is currently developed by MySQL, concurrently with yet another storage engine: Maria (which is for now a crash-safe version of MyISAM).

Now think about the resulting effect on MySQL open source community:

  • 2 MySQL teams working concurrently to develop various storage engines that nobody really needs in the open source community since they have InnoDB which is GPL
  • MySQL teams working on plenty of new features so that to build a MySQL enterprise system with plenty of features that  PostgreSQL/EnterpriseDB already has.

Where are the resources dedicated to the community? How long will it take  for MySQL to reconnect and to produce something they can give back?

Where is the light, fast version that promoted MySQL original adoption? SQLite is growing fast for those 2 reasons, does it ring a bell?

Already MySQL community is much less active than that of PostgreSQl, in large part due to a dual licensing model that tends to attract less open source contributors: in order to stay open source,  MySQL needs a new business model. As Glyn Moody noted, has MySQL forgotten all it learnt?

But after all, if SUN wants both a large contributing community and another proprietary Enterprise Database there is a solution. Remember,  PostGreSQL has a BSD license and SUN owns the trademark MySQL therefore:

Why not release a proprietary licensed PostGreSQL under the name MySQL 7.0?

PS: You might be interested by this post about the perverse effects of dual licensing

This post is quoted or cited by:

TrackBack

TrackBack URL for this entry:
http://www.typepad.com/services/trackback/6a00e550a42259883400e5520964af8834

Listed below are links to weblogs that reference MySQL so busy becoming PostgreSQL it forgets its community:

Comments

Feed You can follow this conversation by subscribing to the comment feed for this post.

1) Competition Is Good
2) PostgreSQL is not even a little compatible with MySQL...calling one the other will only confuse the heck out of people.
3) MySQL has many pros vs Postgres, like speed (via MyIsam), great administrative tools, and a ton a non-transferable talent.

> Why not release a proprietary licensed PostGreSQL under the name MySQL 7.0?

It would be pointless to do so and it will confuse their market. Plus it would only help speed up Postgres adoption (unless that was what you intended to do in the first place). MySQL and Postgres support two slightly different SQL dialects. They also implement different cataloging systems, different authorization/authentication models, different configuration file layouts, and different database dump formats. In other words, you cannot simply rebrand Postgres as MySQL and "no one will know the difference".

Ok guys, this was a punch line which goal was to emphasize the absurdity of the current approach. Next time I'll post a smiley...

mtg

http://www.computerworlduk.com/toolbox/open-source/blogs/index.cfm?entryid=738&blogid=14


Here is an interview with Marten Mickos, formerly CEO of MySQL, and now head of Sun's database group, trying to explain what is going on.

The beauty of the MySQL model is that it can foster commercial extensions, which are then able to support themselves. I believe that this is part of the maturation of open source. While Sun/MySQL develop their own storage engines, there are others building plug compatible storage engines. Some are general purpose, whilc others go after specific niches. I was talking with the product manager for DB2 who was blown away at the innovation at the fringes like storage engines. That simply couldn't happen with DB2. I think ultimately, there is a balance between open source and commercial extensions that enables a thriving ecosystem.

Mr. Lee:

Competition is good, but duplicating past efforts with inferior technology is not.

PostgreSQL is nearly ISO SQL conformant, MySQL is not. It is MySQL which is not compatible.

MyISAM looses your data fast, and doesn’t scale. PostgreSQL not only has great tools, but it is much easier to manage in the long run. And non-transferable talent in MySQL means people who are wasting their talents in idiosyncrasies, not real features.

MySQL Storage Engine, this is an absurd approach. The plugin system only means MySQL will never be safe, nor fast, nor consistent, nor feature-rich. Plugins are nice as extensions, but where they belong: in user space, not in the engine. Witness the miriad programming languages and tools made in them PostgreSQL supports.

> Why not release a proprietary licensed PostGreSQL under the name MySQL 7.0?
I think we already past Aprils fools day....

@mtg: PostgreSQL outperforms MyISAM easely on more complex queries, adn even for simple queries you are very close. Specially when it comes to updates/inserts on a buzy server

3) I think that MySQL is just sitting in a different market then PostgreSQL works in. Both of there place.

For any business application I would consider PostgreSQL way over MySQL, for any simple web stuff I might consider MySQL. But to be honest I find administrating a MySQL DB more complicated then a PostgreSQL. This mostly because I do expect a crash of a table at least once a year.

I totally agree with Leandro specialy with the MySQL people wasting talent which I do find in the MySQL community, but just much less then in a PostgreSQL community. You can try this for yoruself on the freenode channel. (ask something complicated).

Ries

Verify your Comment

Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Working...
Your comment could not be posted. Error type:
Your comment has been posted. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.

Working...

Post a comment