Friday, June 13, 2008

Why I hate 3rd party closed source applications

I didn't always feel this way. For years I have loved 3rd party tools, some kind of black box that I just plug into and trust. I tell it what it needs and it does what it's supposed to. When there's a problem I complain to support and they update their product.

I liked this method. For many years. It's a simple method. I put my trust in someone, and they provide service. It's a proven method that works, kind of.

The problem arises when the responsiveness of the third party is slow. I find a bug that affects a major piece of functionality in my application, only in odd circumstances, but still, it happens. There is no log, and no way for me to prove that the black box is where the problem is. Unless I had source code. Something that I could step into, modify to log, or even fix the problem. It may not be a change that the provider decides to ever implement, but it could at least handle my environment the way I expect it to.

I'm not sure if the change in my philosophy is because I've grown to be more advanced as a developer, or if the market and open source has changed the expectations. I may not understand all of the source code for an application, but if I can step through it, I can usually figure out what the problem is and being able to fix something now instead of waiting weeks for a response from the vendor can be huge.

Think about the software you use in your enterprise. If you don't build it yourself, seriously consider open source, or at least contracts that let you view the source code. Having the ability to fix those problems or find the actual problem sooner, even if you can't rebuild it, can help you work with the vendor to get a fix in place sooner.

No comments: