I think I’ve become an open source zealot. Having recently returned from Orlando and a four-day MySQL User Conference, I think I have the religion.
Open source is software that tends to be free and whose source code (before compilation) can be freely downloaded, inspected and compiled if necessary. It’s not that I don’t think commercial software has its place anymore. But when looking for information technology solutions I just increasingly question why any organization or company would not first look at the open source software market.
In my agency, the U.S. Geological Survey, we have a big enterprise license to use Oracle software. We are being gently pushed and nudged into looking for ways that we can utilize Oracle software in our information technology (IT) projects. In my part of the universe, the water resources area, we are Oracle free. Some visionary developers who arrived years before I did realized that the USGS could serve its water data to the public reliably and cheaply using an “open source” database product called MySQL. This was 1999. No, it didn’t have all the bells and whistles of an Oracle or a SQL Server database. But it was 90% of the way there and was good enough. More importantly it was free to use. In a cash-strapped agency we didn’t have hundreds of thousands of dollars to purchase Oracle licenses. Moreover we sure didn’t want the expenses to have to train a staff in using Oracle technologies. MySQL is straightforward to use, simple to set up, serves data with blinding speed and is rock solid reliable. We didn’t feel vulnerable picking it as our solution. But just incase the developers, MySQL AB went out of business we still had the source code and could improve or modify it as necessary.
In 1999 this was a very innovative act for a government agency. Use of open source software back then was limited largely to the Apache web server and the Linux operating system. More typical was the agency I was working for at the time. It was a pure Oracle database shop. Now unquestionably Oracle runs very fast. It has all the latest gee whiz sorts of features including XML support. But we weren’t using any of them. MySQL would have been fine for many of our needs, had our agency bothered to look at the product. And we would have saved hundreds of thousands or millions of dollars.
But open source is not just about saving money. It’s about allowing software to become platforms that can be extended in ways that suits a customer. By buying into Oracle we found it was difficult not to lock into Oracle. I found in my last job that when I compared Oracle Reports to Crystal Reports, Oracle Reports won because we could get it cheaper through our enterprise license agreement. It was more complex to run and set up than Crystal Reports, but that didn’t matter. “We’re an Oracle shop” was the message. Oracle was preferred and the default solution. But its products are black boxes that rarely can be installed and configured to run efficiently by themselves. If you want those sorts of extras you had best hire Oracle Consulting to come in. For $2500 a day they’ll be glad to tune these applications to make them work reliably in your environment.
MySQL, on the other hand, is just a database. It doesn’t have pretensions to be anything better. It is optimized to be a fast, open standard, and rock solid reliable database. Yes, it is missing some features that I have taken for granted in commercial products but it will get there in time. For now it is more than good enough. It is a bargain.
It turns out that MySQL is most beneficial as part of a toolset that can be used to plug into different products. It is part of an unofficial open source uber-suite called LAMP: Linux, Apache, MySQL, Perl/PHP/Python. These products are likely the highest quality open source tools out there. Linux provides a rock solid operating system. Apache provides the most feature rich and reliable web server available. MySQL provides reliable and fast persistent storage. And the Perl/PHP/Python scripting languages provide an easy way for fairly junior programmers to serve and collect real time data over the web.
On top of this rock solid and best of class software developers are scrambling to put together new products, some open source, some not. Within the open source community the numbers of projects that utilize these technologies are breathtaking. Look at the Apache site alone to see what clever collaborative communities are doing.
How do companies make money when all this software is free? Some do it by allowing open source software to act as a common denominator platform that they build on top of. Others, like MySQL AB have a dual license: one for non-commercial use which is free and one for commercial use that is not. But even the commercial licenses are very affordable and offer huge cost savings over closed source software. Other companies make money through support agreements. Lots of businesses don’t want to have to track down and fix bugs in software and will naturally want companies to do it for them. This is what we are doing at the USGS. Our use of MySQL is noncommercial, since we are a government agency. But we spent six thousand dollars a year for a support agreement with MySQL AB anyhow incase we need technical support.
I should point out that most open source software is entirely free for everyone. Apache and Linux, for example, are free. Most open source software is protected by a GPL license. It requires that anyone who improves the software make it available free of charge. There are other public licenses that can be used with open source software that aren’t quite as open. But there is usually a model that will work for any company interested in providing an open source product.
Internally we have systems using OpenIngres as our database solution. We are already feeling the pressure to move away from OpenIngres (which costs us tens of thousands of dollars a year in licensing and support costs) to Oracle. But it’s clear to me that by the time MySQL makes it to version 4.1 that it, rather than Oracle, would be a much more logical database to use internally.
If I were Oracle CEO Larry Ellison I’d be cashing in my stock options. I see the open source wave as something that will likely increase until it becomes a tidal wave. Eventually it will probably sink Oracle, or render it into a company that will have to compete on drastically reduced margins. Even Microsoft is not immune. With the success of open source Linux desktop packages and office suites like OpenOffice, Microsoft will too eventually feel the heat. If Microsoft were more agile, it would be beginning its transition to open source now. Its failure to do so might eventually prove to be its undoing.
Businesses that write closed source software will increasingly have to market their software in unique niches unlikely to be targeted by the open source communities. Open source solutions are likely to become more pervasive because the cost of entry is so small. No one just dips his or her toes into Oracle. Your checkbook better have at least six figures on it.
MySQL and Oracle might not appear to have much in common. But today they have deployed roughly the same number of licenses. By next year MySQL is likely to be the number one deployed database in the world. Oracle is a large corporation with lots of big buildings, guys in suits and Lear jets. MySQL AB is about 130 people, many of them living in Sweden, who dress in T-shirts and who are very approachable. I had a nice long discussion at my conference with Monty Widenius, cocreator of MySQL. He is still very much a full time software developer. You can bet that if I went to an Oracle conference I couldn’t get within a hundred feel of Larry Ellison.
It’s time for businesses and government to look at open source solutions first. We should buy commercial software only when there is a compelling reason to do so. For most IT needs these days, these compelling needs don’t exist.