So now the big question is why did Oracle buy Innobase? Many people fear that their only reason is to damage MySQL. Given Oracle’s reputation, this is not surprising. Perhaps they fear that open source databases like MySQL will start to eat at their profits (maybe they already are?) InnoDb is GPL’d, but like all MySQL products, they sell support. It’s the money from those support contracts that pay the salaries of the developers who write InnoDB. The MySQL/Innobase contract is up next year, so theoretically Oracle could prevent MySQL from offering support to InnoDB users. That support includes a hot backup tool for InnoDB, a real must for sensitive, high volume customers. So indeed, Oracle could wound MySQL.
Personally, I’m not completely convinced. Does Oracle really fear MySQL that much? If they do, then I’m impressed. Oracle’s never shown that kind of foresight previously. If this is the case, then it would be a strange combination of insight and ignorance. They would be insightful for expecting MySQL to erode their market share in their more profitable spaces. They would be ignorant to think that an open source project could be crippled easily. MySQL already has other transactional engines. There are also many other open source transaction databases out there. It would not be difficult at all for them to replace InnoDB. Their very architecture makes it easy from a technical standpoint. Sure there would be some existing customers affected, but it’s really hard to imagine those people dropping MySQL and switching to Oracle.
And that brings me to the reason why I’m not convinced Oracle is trying to damage MySQL. MySQL and Oracle do not compete directly as much as one might think. Sure there are definitely companies that consider both. I really don’t think there are that many MySQL installs out there where they would have gone with Oracle if MySQL did not exist. If those existing MySQL customers were running Linux (Linux and MySQL put the L and M and in LAMP after all), then they probably would have gone to Postgres instead (or maybe Firebird.) If they were running Windows, then they would definitely go with SQL Server over Oracle, because of the price difference and the fact that they could clearly live without a lot of Oracle’s features.
Basically I don’t think MySQL’s customer base currently draws from would-be Oracle customers. It’s mostly people who want something free that won’t require them to have a full-time DBA to make it work. They want the opposite of Oracle. The two databases really are at the opposite ends of the spectrum.
So maybe Oracle will actually try to strengthen InnoDB and thus strengthen MySQL. Think about how much more attractive MySQL could be if it could boast that Oracle had contributed to its transaction database engine. One could really see MySQL eating into SQL Server’s market share. Meanwhile MySQL could have a lot more support contracts, which in turn could make the idea profitable for Oracle too.