The Hidden Cost of Customization
If you’re like me, you probably have a bunch of addons for Firefox. I have between 5 and 20, depending on whether I’m running the latest beta (3.1 beta 3), or the stable version.
The problem with this, as I have just experienced, is that you not only increase the chance of failure, but you also increase the cost of repair. Let me explain.
Something happened to my Firefox installation, and anything typed in the location bar would grind Firefox to a halt, then eventually crash it. I tried re-installing it, but the problem remained. I then upgraded to Firefox 3.1 beta, without any further success. Since Firefox has such a large install base, I assumed someone else would have the same problem, and eventually there would be a fix. The plan was to use Safari (4 beta) until then.
However 3.0.9 came out and when I installed it, Firefox didn’t work any better. I resolved myself to do some sleuthing, and eventually figured the problem out, and solved it. The issue was caused by a mix of Google Gears, Adblock, PasswordMaker, and some others.
What’s to learn from this?
Customization is costly. Maintenance costs and instability are exponential to level of customization: if each component has a 1% chance to break per month, and you have 20 components, then you have an 18% chance of failure per month (1 – .99^20). Bear that in mind when you customize anything.
You also lose in security: the more you customize your software, the more lengthy and intricate it becomes to upgrade to the next version. This means that you run software that is always a few patches behind, and you become an easy target for hackers. The vulnerabilities of the version you use are public and easy to exploit.
Rising Probability of Similar Error
Furthermore, the more you customize, the more you reduce the userbase of similar installations. If you use default Firefox on default Ubuntu, then whatever error you encounter, millions of others will as well, and you can count on a patch to soon follow. If you use a highly modified version of Firefox on Ark Linux, you’ll have to do the detective work and patching yourself.
A corollary to this is that it makes an excellent argument for buying Dell when considering using Linux. You’ll have much less problems as the userbase is much larger. If you use a Fujitsu LifeBook 7010, with a tiny userbase, you’ll have many driver issues.
Analogy to Firefox addons
Coming back to my Firefox addon example, I could have waited years until this problem was found and solved. I would have to wait until someone else using Firefox AND Gears AND Adblock AND PasswordMaker AND Mac OS X find the error, come up with a fix, and share with all. This means that you just can’t wait bugs out if you aren’t in the mainstream. Whereas you can if you use plain vanilla Firefox on Ubuntu.
EDIT: Apparently, this is Oracle’s approach. Paraphrasing them, they advise to “stick with us; we will do it all, and make sure everything works together, and do not customize as you can not then take advantage of our innovations“. This goes in the same direction as what I argue in this post. Customization is costlier than it appears.