Saturday, March 21, 2009

Why do I ignore commercial software?

When I read back my last two posts about wiki software I noticed that I had ignored commercial offerings in this area without really evaluating them, without giving any reasons. Any software architect can tell you that that's not how you should do things. You should evaluate all the options, and be objective about it. When I do consulting for clients, like my last gig at KLM Air France, I am careful to do just that. For various reasons it's often Open Source that gets ignored in places like that. But when my own money is on the line, for personal use or for my own companies, then I automatically focus on Open Source only. For wikis - TWiki, for CRM - SugarCRM, for word /spreadsheet processing - OpenOffice. Why is that?

Part of the reason to ignore commercial software is likely the cost saving. I suspect that for many users of Free/Open Source Software that's an important aspect. It saves money, but perhaps more importantly it also lower the threshold to use something, and removes a lot of hassle. Instead of having to think about payment and delivery you can simply download it and start using it right away. If you find out you don't like it you can select an alternative and try that, without having to feel guilty about investing money in a software package that will now go unused.

The other major aspect of FOSS - that you can inspect, change and redistribute the source code yourself - is less important to me. It's certainly nice, and a cornerstone of what makes FOSS unique, but in practice I rarely use that possibility.

Clearly it's not those two aspects alone. If the only alternative to MS Office was a FOSS package that crashed all the time, and was completely unusable, designed by some blind nerds without any regard for normal human beings, then I'm sure I would buy MS Office. But the alternative is Open Office, a stable piece of software with good usability and some nice features (e.g. PDF export) that MS Office doesn't have by default.

So, after thinking about it some more, I'm sure it must be quality. I've come to ignore commercial software subconsciously because I've learned that for nearly every purpose there's Open Source software that's just as good, and often better. My experience is that most Open Source packages feel as if they were designed for smart people, by smart people with a passion for what they were doing. Commercial software often feels as if it was designed for stupid people, by people who are probably smart, but also wanted to go home at 5 o'clock to be with their families. And by definition they were guided by project managers and marketing departments that value the interests of their company above that of the user.

Commercial products nearly always have some built-in limitations, and some options that were deliberately removed, in order to create the opportunity for a more expensive variant with those options added in. Open Source packages typically have all the options that any normal user could be interested in, and then some.

I'm convinced that in the end many commercial packages will simply disappear, replaced by Open Source alternatives that are simply good enough. It's telling that while commercial vendors like Microsoft have more and more difficulty thinking of significant new features to justify a next release, many of the major Open Source packages have matured so much that they seem to have frozen. The Linux kernel for example has been at version 2.6 for ages already, with regular minor updates but without a version 3.0 or even 2.8 on the horizon. And that's good. After all another important architecture principle is: if it works don't break it.

No comments:

Post a Comment