Fatal Exception’s Neil McAllister questions the effect recent developments in the MySQL community will have on MySQL’s future in the wake of Oracle’s acquisition of Sun. Even before Oracle announced its buyout, there were signs of strain within the MySQL community, with key MySQL employees exiting and forks of the MySQL codebase arising, including Widenius’ MariaDB.
Now Widenius’ Oracle-less Open Database Alliance adds further doubt as to which branch of MySQL will be considered ‘official’ going forward. “Forks are a fact of life in the open source community, and arguably an entirely healthy one,” McAllister writes. “Oracle just better hope it doesn’t end up on the wrong side of the fork.” To do so, he suggests Oracle will have to regain the trust and support of the MySQL community — in other words, “stop acting like Oracle.”
McAllister further details the similarities between the current ongoing Oracle/MySQL saga and the case of egcs, which was a fork of gcc. This fork came about because of the stagnating nature of gcc. The main gcc eventually died off, and egcs was renamed back to gcc – making it the default branch again. Something similar could happen regarding eglibc, which we reported on earlier.
I guess forking is simply a part of the open source development model. It ensures that code moves forward, regardless of political struggles or cranky maintainers. It might sound like a bad thing to fork, but it’s just part of the open source model, ensuring open source progresses.
Note: The last two paragraphs were written by Thom Holwerda, the first two by snydeq.
I’ve heard a bit about the various forks, but how popular are they really? I’d be really surprised if even 1% of hypothetical mysql users had moved over. And really, if you’re going to take the time to port over/retest your code to a new db/storage platform, why not just take the plunge and move to postgresql and reap the benefits that brings?
To me, the main selling point of mysql is simply that it’s so darn popular, meaning there are tons of examples/compatible products. It certainly wasn’t the technology behind mysql itself, which could claim only that it was fast, assuming you could actually connect to it as it might be crashing when user #101 hits your site.
On the other hand, maybe we’ll see these forks go off and polish some corner of the code base, and then in 3 years maybe all the pieces will come back together again and we’ll have a really first rate oss db with stored procs, good concurrency, acid compliance and high availability. OR We could just have that today and not use mysql/its derivatives.
In some way I agree with you.
As much as I respect Monty as a developer, I think his somewhat obscure actions in the past couple of years have just degenerated the product — or perhaps more importantly, devalued the good brand that MySQL had in certain segments of the database market.
Technically MySQL was never that good in my opinion. These numerous forking actions will just push people towards PostgreSQL and other alternatives, I think.
I am not an expert but there must be reasons why people chose MySQL over Postgres. There are some very big groups using MySQL technology when they could have gone the other way. Why? Was it the fact that there was Enterprise level support offered for MySQL? In any event, we need to watch Red Hat and Suse. If they dump MySQL, which I doubt, then there is a chance that one of the other forks will become mainstream. Just like when everyone switched from XFree86 to Xorg.
The one flaw you make is that everything is chosen for rational reasons; a lot of the selection is based on, “no one ever got fired for using [company] product”. Take Sybase, it wiped the floor with Oracle on Solaris x86 in a benchmark not too long ago and yet people still fixate around Oracle even with its major performance draw backs.
I agree, similar situation with Apache httpd IMO.
MySQL has the mind-share and customer base weighing in its favour. When a new project is started MySQL is chosen usually because it is the first thing that comes to mind and there’s a lot of success stories surrounding it(especially the “next big thing” “garage to riches” “web 2.0” start-ups all blogging about what they achieved with it).
In the Mac world there is also a fixation around Filemaker which always leaves me confused; having be a bit of contrarian when it comes to software I tend to look at alternatives to the mainstream – many times finding the under used and undermarketed as being superior. 4th Dimension being one example on the Mac which, once setup, left many of my former clients surprised at firstly how easy it is to use, maintain, update and the speed is awesome.
As much as I blamed marketing in the previous posts, on reflection I think it is prejudice and bias that also inhibit good ideas making their way into the mainstream of information technology.
Around 1998 I moved my development from Postgres to MySQL because I found it did what I needed, was simpler, and less complicated.
Around 2007 I moved my development from MySQL to Sqlite because I found it did what I needed, was simpler, and less complicated.
(Postgres wasn’t designed for SQL and had all kinds of bizzare notions – my understanding is it has been redesigned since losing the war)
Remember sleepycat – bought for dinner…
Well Postgres is a redevelopment of ingres the grandfather of all relational databases we know today.
It was started by the ingres father!
I would not say it was not designed for SQL since it was the first db providing an ANSI SQL 97 compliant implementation but I assume parts of its codebase are way older than SQL, if those still exist.
But Postgres has more things going on, it up until now still is the only oss database which can do table inheritance, it recently got recursive joins, I have yet to have a deep inside look at the db, but there is a load of enterprise features hidden under the roof which are worthwhile checking out!
@TechGeek
“I am not an expert but there must be reasons why people chose MySQL over Postgres. There are some very big groups using MySQL technology when they could have gone the other way. Why?”
There isn’t a specific reason that I can see. At least not a logical one. Instead it seems that people who are choosing MySQL are doing so because they don’t use much if any of the traditional RDMS features, choosing to instead use application level APIs to provide similar RDMS style functionality. This is good for the application developer in the sense that they are not tied to a specific database vendor per-se.
Take Facebook for example. Lead engineers have stated specifically that they don’t care that the data be consistent at all times. They understand that they work in terms of time zones, geographic locations, etc, so if a user doesn’t see all the updated information right away who cares.
This thinking isn’t bad, but much of the functionality that Oracle, Sybase, PostgreSQL or MySQL just doesn’t matter when you develop like this.
I guess it’s just like how there must be a reason why people chose Windows Server over Linux.
Years ago there used to be a significant performance gap(in MySQLs favor) between MySQL and Postgres when under the sort of loads often found with web sites. The admin tools for MySQL used to be better and easier to handle. Also a great many third party applications and libraries used to be MySQL only and require a great deal of hacking to get working with postgres.
Non of these limitations hold true and more, but the result of all of this is that there are a lot more people and projects that use MySQL for historical reasons and see no compelling reason to change. Even when starting a new project many people will go with what they know.
The problem I saw was that the performance was only there due to the reason the MySQL guys left out transactions for a reason. They could not pull of their own transactional storage.
Exactly this made me suspicious about MySQL in general before even having used it. Then shouting out left and right that no one needs transactions anyway, because they could not pull it off did not help me in my confidence using it!
The funny thing is, as soon as they added a transactional storage backend the speed went down big ways especially if you used it in classical relational situations with joins over several tables and parallel access!
On the other hand Postgres devlivered transactions out of the box, and improved their performance and nowadays is in the same league as MySQL in its isam implementations while handling parallel loads way better, while MySQL itself still has not transactional storage mechanism of its own (well not it has now that everything is under the Oracle umbrella)
I´d say the biggest problem why everyone adapted MySQL was, the media hype and the close tie in the LAMP stack between PHP and MySQL. But I see a load of shift recently. The kids from back then have grown up and now know better about databases. The raving from a few years back is gone and a load of MySQL users already also use alternatives and mygrate. I think the reason why MySQL still is as strong as it is is mostly legacy applications which are too costly to be migrated to another DBMS, and for simply webapps MySQL often is fine enough (if you dont run into buggy UTF-8 implementations like I did in version 4)
When I had to setup my first app with database back end it came down to Postgresql and mysql. LAMP said mysql as did the distribution defaults. Numerous other since have defaulted to mysql so I stick with it. The user account, host, database security combination is also nicely done though I don’t know postgresql’s to compare.
Actually, it’s only with Deb Lenny and eGroupware that I’ve seen postgresql as the default dependency.
At work, it’s a lagacy issue due to inheriting a number of webapps already built on mysql.
I’m happy to change the database if the developers are happy to port the webapps but my position is to support the metal up to the web layer to enable the developer’s work rather than complicate it.
They choose MySQl over PostgreSQL, because they think that MySQL is faster, and a few years ago they would have been correct, but now not so much….
PostgreSQL is so much better than MySQL it’s not even funny. If enterprise level support is needed there is EnterpriseDB which also offers a Oracle compatible version.
If that were the case then Firebird would be a winner almost everytime – MySQL simply had more marketing muscle behind it and media adoration to it; nothing to do with technical merit and everything to do with being in the right place at the right time and creating the right alliances with other projects- LAMP being the prime example of how M could be replaced with numerous possible other replacements but people continue using it because that is what is marketed to them.
Couldn’t agree more. People are more sensitive to marketing than to technical merits. This is also true for web browsers.
sensative to marketing in web browsers.. heck, sensative to marketing in general computing. The better technology rarely wins over the better marketing given the popularity of Windows and the even more wide open to exploit osX (sorry fans, pwn2own’s winner explained why osX falls first every time; here’s hoping for the next major version).
Outside of computers, it’s not much different. Beta VS VHS, HDD VS Blueray. Reality TV which continues to persist. Everybody Love’s Raymond; who is this “everybody” that loved the show long enough to keep repeat going for so long?
Cow’ing the public with good marketing is, sadly, not unique to IT though it does seem a main tenant of the IT industry.
It has mostly historical reasons. Postgres for a long time did not have a decent windows port and almost no client tools. MySQL howevery while it lacked the quality of postgres had both and was strongly tied to PHP. Add to that that there is almost a generation of developers having grown up with both php and MySQL and you can see now why! I personally hate mysql, it always feels shoddy compared to the rest and the shennanigans the developers pulled in the past dont give me confidence into it at all while all postgres installations I have seen are happily chugging along and the mailinglists are helpful and no stupid things have been done by their devs in the past!
I guess using a DB is often also a big matter of personal or company preferences over anything else!
I think the popularity of MySQL is just momentum. Early on was simple to install and use. It was reliable, well tested, and fast.
My first experienced in the late 90s were in comparison to Postgres, which was terrible to use at the time. Slow complicated, buggy, and arcanely complicated. Version 7 was the turnaround. Since then it’s been very good.
And Oracle, which was way too complicated, way to expensive, and massive overkill for an OLTP website.
Other databases suffered from one or other problems that made MySQL just seem like a better, simpler choice.
Add in the LAMP environment which universally leveraged MySQL and you get to where we are now.
I’ve used Postgres, Oracle, MS SQL Server often enough in the last few years, and had few complaints. I can’t explain a preference for MySQL beyond relatively good experiences, and long term reliability. A decade is a long time in computing.
The article is a good one and raises some interesting questions, however the article assumes that Oracle has an interest in MySQL succeeding and continuing, personally i don’t think Oracles cares about the continuing success of MySQL. I believe Oracle only want the hardware stack and perhaps Solaris, as this provides the necessary pieces to become the apple of the enterprise world (i.e. supplying everything and becoming a one stop shop).
I believe the rest of the products Sun has such as openoffice, MySQL etc.. will just be left by oracle to be picked up by however wants to continue, i.e. forked.
I hope im wrong as these products are exceptional and have changed the computing landscape, i believe the only reason we have a Free Microsoft SQL Server or a Free Oracle 9 lite is because MySQL is out there.
Oracle is a database company, primarily. They think of themselves this way. They want to own the DB market. And, from the high end, they mostly do; ask anyone what the best DB is and he’ll say Oracle automatically, unless he is an actual DBA and knows the merits of the various DBs. The one segment of the market where Oracle isn’t an automatic choice for most people is the low end. By ‘owning’ the Mysql brand they are now in a position to go directly to their Mysql customers and sell them an ‘upgrade’ to their own DB product. This kind of targeted marketing opportunity has dollar signs written all over it.
But no, I doubt Oracle cares about Mysql as such.
I wouldn’t be so sure, Oracle wanted MySQL in the past.
When SAP said they were moving to MySQL, Oracle wanted to buy MySQL immediately. But they couldn’t at the time and bought Innodb, the then current storage engine of MySQL which MySQL was licensing. Then MySQL said they would create a new storage engine them selfs. I stopped following MySQL after that, but I think they did build it. And now, I’m not sure what SAP is using, but Oracle does have MySQL.
This is pure speculation but I think Oracle might actually have an interest in MySQL.
What if Oracle builds easy upgrade tools so you can migrate from MySQL to Oracle with a level of ease that you just can’t achieve usually?
You start your business or service with MySQL, it’s free and therefore it makes $$ sense. Your product / service takes off in a big way, and suddenly you want better database performance and enterprise features, so you upgrade to Oracle because it’s easy and integrated.
In this way Oracle leaves MSSQL server and other commercial RDMS’s out of the logical upgrade path.