Thursday, January 27, 2005

Open source risk for Oracle?

One of the things I worried about when I bought Oracle was "What happens when someone makes an open source version of their products?" I mean, why would anyone pay $149 a user for Oracle Database Standard Edition One, when they could get PostgreSQL free? Assuming they have the same functionality (which they don't), the answer is the cost of changing database software. Joel Spolsky has an excellent article explaining why companies might support open source software even to the point of paying developers to work on it. You should go read that article if you promise to come right back.

More informed? Good. Ok, Oracle is happy to have, for instance, open source file systems that are optimized for running their database. And it probably doesn't bother them too much to have open source "Application Servers", like JBoss, even though they offer a competing product. That's because they want complements to be cheap so they can charge more for their core product: the database. So why aren't they more worried about open source databases such as MySQL and PostgreSQL?

It's clear that Oracle has lowered their price on the very basic versions of the database in response to not just open-source products, but Microsoft and other low-cost providers. At the high-end, there has been price pressure on Enterprise Edition as well, but that doesn't have much to do with open source. Obviously Oracle would love to charge more for low-end products, but they aren't making the big money on small customers. Selling to small customers is a bonus (especially if they eventually become big).

From a strictly technical point of view, PostgreSQL is the only real open source competitor to Oracle. Unlike MySQL (and most commercial database systems), Oracle uses multiple versions of the data stored in the database, which means different applications can change and access the database at the same time without bring it to a standstill. On top of this base, Oracle has designed a system to spread the database across a cluster of computers. PostgreSQL doesn't yet have this ability, but it is only a matter of time before someone will make it happen.

In the meantime, Oracle is trying to diversify away from reliance on the database product, which is the purpose of buying PeopleSoft/JD Edwards. If you read SEC filings of many different companies, you've probably noticed charges labeled "SAP" that occur over the course of several quarters. Huge software/process upgrades like this are the market that Oracle is trying to tap into, and open source software is a compliment for these systems. This is doubly so if Oracle manages to build up it's outsourcing business.

As was brought out in the anti-trust trial, most of the applications companies buy are not all that difficult to duplicate. Basic accounting and human resources functions can be found in any number of products. More difficult (especially if not built on Oracle's database), is moving all of a company's information into one place. Vastly more difficult than that is creating a structure to hold all the data of any particular organization.

No comments: