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: