Now that the EU has approved the Oracle Sun merger, programmers are worried about what will happen to some of their favorite technology, such as Java and MySQL. These have been offered free to developers and have not been a source of revenue for Sun, even though they have been used as core technology for countless businesses. Oracle has a different culture and is definitely not in the business of giving software away.
In the case of MySQL, one might look at Berkeley DB, which Oracle acquired in 2006. In this case, Oracle employs a dual licensing scheme, which is cleverly designed so that you can use the software for free unless you want to use it with a commercial product, in which case you need to purchase a commercial license from Oracle. In other words, it’s free, but…
It would not be surprising if Oracle takes a similar approach with MySQL, requiring payment for commercial use. This would hurt countless small businesses and startups, which have relied on open source solutions to build innovative products and compete with larger, better financed organizations.
In the press release announcing the EU Commission’s approval of the deal, they addressed the MySQL issue by noting that there are other competitive solutions in the marketplace.
The Commission’s investigation showed that another open source database, PostgreSQL, is considered by many database users to be a credible alternative to MySQL and could be expected to replace to some extent the competitive force currently exerted by MySQL on the database market.
I can tell you from personal experience that PostgreSQL is not only a viable alternative to MySQL, but perhaps a superior one. As CTO of Ad Infuse, I selected Postgres based upon my prior experience with both it and MySQL. Postgres had a better SQL implementation, with several features absent from MySQL, including subqueries and richer UPDATE support. Moreover, I had already experienced production database corruption with MySQL, but never with Postgres.
My expectation was that as Ad Infuse grew, we would need to upgrade to a commercial database. But as our core tables grew past 10, 20, 30 million rows, the database continued to perform well (with a little tuning). When these tables grew into the hundreds of millions and continued to rock, there was no compelling reason to switch.
There are some improvements I would like to see in Postgres, especially with regards to clustering and replication, but all in all it’s a more than satisfactory substitute for MySQL. And perhaps the Oracle acquisition might give the Postgres community a boost.