This morning when I walked into the office, Theo asked “Did you hear the news?”. When I didn’t immediately recognize what he was talking about, he knew I hadn’t. At OmniTI, we are in an interesting position, as we use both PostgreSQL and MySQL, and we do a lot of it on top of Solaris; so news that Sun was buying MySQL certainly has the potential to impact us. Personally I don’t think it will cause much change for us, but I thought I’d share some thoughts and ideas on the topic after talking with a number of people around these various communities today. The first question on peoples mind seems to be “Why would Sun by MySQL? Haven’t they been pushing PostgreSQL lately?”. (Yeah, that’s really 2 questions). Last weekend I saw Charlie Wilson’s War, and I now have an analogy for how Sun has approached PostgreSQL. Basically the scene looks like this:
Me: So, what is Sun’s strategy for PostgreSQL? Berkus: Well, strictly speaking we don’t have one, but we’re working on it. Me: Whose “we”? Berkus: Me and three other guys.
(My apologies to Mr. Berkus, those are my words in his mouth, not his). Seriously though, Sun really has not invested a whole lot into PostgreSQL relative to the size of thier company, or the size of the investment they are making in MySQL. What they have invested I think has been a really nice boon for the PostgreSQL community, and I’d like to think they have been rewarded on some level as well, but realistically, there hasn’t been that much capital invested. As Gregi put it on IRC, for one billion dollars you could take the top 100 Postgres developers and pay them each a million dollars a year for 10 years! Now, just because they haven’t invested the pinkies touch in PostgreSQL, that doesn’t explain why they would buy MySQL. I don’t have any insider info, but my guess is that it is all about control. Companies don’t like to invest a lot of money into something that can’t control, and PostgreSQL is like hearding cats; you can’t control development, can’t control release, can’t control any of it; you have to be a team player, and multi-billion dollar companies don’t like being team players, especially when they are the junior members. The other side of the coin I’d guess is that buying MySQL is like buying Facebook, maybe the business isn’t really worth that much, but you get a huge install base and some level of revenue from that, so being able to point to that collection of people tends to comfort some shareholders. So, having thought about the why, this of course gets people to wondering what is going to happen in the future. At this point I don’t think we really know, details of the arrangement, and more importantly how MySQL people will be integrated into Sun (I don’t think it is going to be at arms length as people think) will make a lot of difference. Rather than decide on any one facet, let me speculate on them all :-) This will be horrible for MySQL: Sun being Sun, non-Solaris platforms and non-Java programming languages will become second class citizens, MySQL support will get gobbled up inside the Sun machine, and, being constrained by a lack of solid OLTP engines not owned by direct competitors, they will re-position MySQL as an entry level database somewhere next to Derby, filling out a line-up where Postgres is pushed for mid-level business, and Oracle stays atop for large enterprises. This isn’t even a worst case scenario; imagine that Sun engineering decides that the MySQL code base just isn’t salvageable, and sets a path for MySQL 7 to be rewritten in Java (hey, it happened to ACS). Given this stress, people being walking away, and Monty is out the door in 6 months time. OK, yeah thats all pretty wild, and not very likely, but you never know… :-P This will be horrible for PostgreSQL: Stick with the staff of 4, or stick with the Billion. Basically the end game is Sun drops support of PostgreSQL, and maybe carries it further by promoting MySQL in the other open source products it controls; making the uphill battle that much steeper. This might also cause strain between some of the PostgreSQL related companies that have agreements with Sun (think Greenplum and Thumper). This will be great for MySQL: MySQL has a lot of problems, many of them centered around thier management team. Depending on how things are aligned, Sun might be able to straighten out a lot of them. (One example, maybe Sun drops the whole dual license thing and makes MySQL a pure GPL product, that would be cool). Sun also has a lot of smart people, so perhaps they can straighten out many of the technical short-comings that MySQL has, and maybe they can even help push Falcon to a point where it is ready for production use. This will be great for PostgreSQL: With Sun now in charge of a suite of database systems (Derby, Postgres, MySQL), and also in charge of a large development staff that specializes in the database field, they start promote a true Open Source Database environment. This would mean things like having MySQL developers work along side the PostgreSQL project, or taking some of MySQL’s gui tools and turning them into database independent tools that work on all three database systems. They might also provide support for working groups trying to get the various open source databases to work better together; they might even turn the MySQL users conference into an Open Source Database conference. Yeah, probably some of those things will happen, but most probably wont; I will make this prediction though… this change, like **all** changes MySQL does, will piss off some small number of thier users who swear off the database and switch to PostgreSQL. That much I am sure of, the rest, who knows?