Tom Petrocelli's take on technology. Tom is the author of the book "Data Protection and Information Lifecycle Management" and a natural technology curmudgeon. This blog represents only my own views and not those of my employer, Enterprise Strategy Group. Frankly, mine are more amusing.

Friday, August 05, 2005

Open Source Fails for Enterprise Applications

I have this real affection for open source software. The whole idea of legions of programmers, working together for the shear joy of creating is very attractive. It speaks to the geek in me. What bothers me is the near religious fervor of the open source community coupled with this "open source everywhere" attitude. I'm sorry folks, but open source doesn't work for everything.

Let's, for the moment, set aside the whole "what is open source and what is not" debate. Sure, some products marketed as open source aren't really and open source is not necessarily the same thing as free. That doesn't take away from the usefulness of the model. It is a detail that still needs attention.

It is more useful to dialog about where open source is useful and where it is not. Clearly, open source has shown that it is attractive as infrastructure. Linux and the Apache web server, to name two popular packages, are the backbones of many corporate systems.

On the desktop, open source makes infinite sense. Applications like Firefox, Thunderbird, and OpenOffice are popular because they are multi-platform and evolve features more quickly than commercial applications. Even more interesting is that the development agenda tends to coincide closely with the end-user's agenda. They are not hampered by the need to make money.

When you step up to Enterprise applications, open source's advantages dim. Look at a typical open source Enterprise applications such as ERP or CRM. These are complex applications that rely on a host of infrastructure products. Practically none support commercial products such as Oracle. The true cost of these products is not in the liecense costs but maintenance, development, and administration.

I'm constantly amazed at how long the list of required software is for an open source application. Commercial Enterprise applications almost always ship with most of the software they need. The list of non-bundled software is short, usually only a database and operating system, sometimes a development framework.

Contrast that with the a typical open source version. One product I saw required Linux, MySQL, Apache web server, Tomcat, Perl, PHP, and three other open source products I hadn't even heard of. You had to get that all in place, tested, and fully operational befor installing the application.

That's an incredible amount of work. It also doesn't plug-in to the infrastructure of many companies which rely on Windows and Oracle. I can even understand the need to first install the database and maybe a development framework, but the all the other packages? I can't see too many companies wanting to do that unless they have already made a committment to these applications and packages.
This complexity makes maintenance cost more, not less.

On top of that, who is going to support it? The application vendor will provide support for their product but support for the ten other pieces of software are either going to come from a bunch of other vendors or "the community". That won't give a system administrator a warm and fuzzy for sure.

The idea of Enterprise open source is great. The packaging is all wrong. Vendors need to make all products available in a single install, expand support for non-open source infrastructure especially databases, and reduce the shear number of contingent packages. Otherwise, this will be great for hobbyists but never for the datacenter.

Meanwhile, I'll keep using Firefox and OpenOffice which install everything I need nice and easy.

No comments: