Related Entries

Vim outliner
Interesting software from Freshmeat
Duplicate CDs with CDRDAO
WideStudio, DjVu
Licenses or Support?

« JDO and object base
» Vim 6 as an outliner

Why is open source REALLY better?

Often, at work, I get to hear that most people prefer open source because it is free as in free...

Often, at work, I get to hear that most people prefer open source because it is free as in free beer. That might be true quite a bit, but when a choice of open source is made for enterprise systems, that is not the only criteria. Here are some of my arguments about why I prefer open source, if my job is delivering cost-effective solutions.

- Initial cost. I don’t have to worry about tons of licensing options and cost upfront. I know that if I use GPL software, even if I spend software costs, I don’t get ripped of when more licenses are needed. Most GPL software comes with reasonable cost too.

- Total cost of ownership. For most of the general purpose work (any thing other than super speciality application), this is almost a no brainer. You don’t spend money again and again to upgrade your licenses, you get patches rigorously on time etc.

- Trust worthiness of software. Unlike closed source, open source software has more chance of getting exposed to people with no financial interests. This really improves the trust worthiness - you don’t have to worry about claims like "oh, we want to get information from your computer to our server, to serve you better and to better analyze your problems". If need help, I’ll call the vendor rather than vendors collecting information on their own.

- Reliability of software. Well known open source software like Apache, Linux, Free/Open/NetBSD, Samba, Zope etc are worked on by people who do that work simply because they are proud about it. That, IMO, is the best ownership. You get code with lot of heart behind it. For most closed source software, that feeling of responsibility that any one and every one can see the code and hence you might be held responsible simple won’t be there. Just how would you like if your constitution is a closed book and the judges alone can look at it and decide whether you broke the law or not?

- Support. This is often brought up often by anti-open source advocates. I think, in reality, open source offers the best support, if you’ve competent people in your team. Either you can get help from the community or you still have the option to go through the source and fix it.

Example: For 3-4 days I’ve been trying to fix a content indexer issue on NT4.0. Absolutely *no* information about this anywhere on the web. The usual solutions have been to reinstall different pieces of software and trying things out. Mind you, this is a production machine and reinstalling things is not practical. When I had a problem with Zope, I could go to the source and figure out what is wrong and fix it. With closed source, I don’t have that option at all.

I think administrators prefer closed source because it offers some kind of protection in that you can always say "we are talking to the vendor, they are working on it...". So, the responsibility is conveniently shifted to the vendor. And this ripples up all the way to the top management. Net effect? Problem remains unsolved. Most surprising fact is that nobody seems to bother about it!

- Availability of people to hire. This is somewhat important. Most people who are experienced in open source software have gained that experience through trial and error and by self-application. This is very different from attending some fancy training and proudly displaying a certificate about attending a course, not passing any exam. My take on this is that, you need to hire people with good problem analysis and solving skills, integration capability and learnability. Whether open source or closed source, software is going to change. Your employees need to be able to adapt to the changing world. My recommendation - hire programmers who can also work on the command line, with ability to learn from manuals and not from GUI wizards.

An additional comment I would make is - select software to solve your problem, not the vendor’s case study. Don’t fall for the OOTB sales pitch. Your organization might work quite differently from vendor’s marketing sample! So, trust me when I say that you will be asked to customize the software, or to write extensions to it. In this phase, your customers will not have the patience they exhibited when you were going through the initial installation phase. So, consider the real possibility of having to quickly program it on your own.

What is the next best thing, if your vendor - by choice or by design - is closed source only?

In this case, I’d say go with a vendor who plays by standards that other vendors follow as well and supports interoperability. This is one reason why I like Oracle products so much. Yes, it is very expensive.

- But, it is reliable and proven - though I can do with longer version cycles.

- It is very well documented.

- It doesn’t lock you down to Oracle. It supports ANSI standards - it is up to you to use Oracle specific extensions.

- It is cross platform.

- Most Oracle software supports interoperability, atleast with well publicized APIs.

- You get good community support. You can also get very good paid support.