My Italian reader might have read an “article” of mine dated back into 2005 (yes it’s a PDF… at the time I had no blog, I only posted a couple of things around, and this one has been written in LaTeX; one day I’ll replace it with a blog page instead, probably). In that article I put in words my feelings that the heavy dependency on MySQL for the Free Software community would have been a problem on the long run.
My reason to write that was that the dual-licensing would have most likely caused gripe and problems if patches weren’t accepted to be released for the dual license, and that a fork of MySQL would easily become incompatible with itself, causing interoperability problems between versions. No, I didn’t write this last week and back-dated it; there are witnesses who read it, and disagreed, back then. On the other hand, I feel like I nailed the problem quite well.
Indeed with the acquisition of Sun by Oracle, quite a few people seem to worry about the destiny of MySQL, and at least one major fork started.
Now, I have quite a few technical gripes with MySQL; partly because I had to fight hard with it when it was still in version 3 and it was quite limited compared to PostgreSQL, partly because I had recently to try fixing its definitely stupid build system based on autotools (calling that autotools is quite an offence in my opinion). So my usual setup makes use of PostgreSQL instead (both this blog and xine’s bugzilla use it). I had unfortunately to deal with MySQL in the recent past as well but that’s fortunately gone now. So myself I’m not really worried of what’s going to happen.
I guess that one thing that I should be glad about is that we’re not still in 2005. Back at the time, most of the web-application that went to be used were very specifically written to work on MySQL. If MySQL was to be forked, like it’s happening now, at the time, then we would have had probably a major problem at our hands. Nowadays, most of the applications, for good or bad, use ORM libraries that tend to be written in such a way that the underlying database is not called directly (I say “for good or bad” because sometimes I get to hate the ORMs quite badly; but on the whole I can see why the abstraction is necessary — no I don’t think that we should all be learning how a CPU work to write software; while that helps it’s no longer strictly necessary).
Anyway, I hope that whatever the outcome, this is going to be a lesson for everybody out there never to rely on any specific piece of code: there is never anything telling what upstream might end up doing… be either killing his wife or selling to the probably biggest company working in the same software area.
another fork is http://drizzle.org/ which has good potential IMHO.2nd the reports of a death of MySQL are greatly exagerated, too many big players use it, it may be (very much) counterproductive for Oracle to kill it.Postgress is much more in competition with Oracle DB than MySQL, it could even be of support of them, for it’s possibility to have pluggable storage engines and because it’s a light and fast.cheers
Diego, mysql is actually getting into a reasonable state now. Oracle has no intention of closing the source or not supporting it. There have been also several gradual steps to improve contributor’s status.MariaDB is mostly about the new storage engine Maria. So it’s not really a fork at this moment and I doubt that it would go in this direction.There are some companies who distribute mysql with their own patchsets (i.e. Percona). But Sun/Oracle actually merges Percona ideas into the official tree. This is actually what the 5.4 branch is all about.Mysql also changed its release cycle and is to be doing more stable releases per year. So now, the ‘forks’ actually work as testbeds for new cool ideas that get merged into mysql relatively fast.As about drizzle… Drizzle isn’t so much of a fork, its a complete rewrite of mysql. Basically what happened was that drizzle guys (someone correct me if I’m wrong) took the mysql 4 codebase, cleaned it up of all cruft and arrived at a clean ‘core’ with not so many capabilities. After they were done, they started to reimplement feature by feature from mysql 6 and add completely new features. Drizzle is all about plugins. All extra functionality is done throgh plugins. In the end, this gives cleaner code, faster development and a piece of software that should scale way better on multicore machines then currently mysql does.For more, there are actually quite a few Sun/Oracle people working on drizzle. So while it is technically a fork, I really prefer to consider it mysql redone way better.So, IMHO, the feature for mysql/drizzle is bright and shiny.
@Pavel just a correction Drizzle developer started from MySQL >= 5, not 4, would bet on 5