It might seem strange coming from the founder of OpenLogic, a company focused on helping others succeed with open source, but the fact is that closed source is better than open source in certain situations.
With closed source…
1. You never have to fix components when something goes wrong.
With any software, things occasionally go wrong. When this happens with open source software, you, or an engineer who owes you a favor, may need to spend time debugging the problem. This entails reading through code, working with an open source community, or your open source support provider, and applying a fix. With closed source, on the other hand, once you determine that the problem lies in your vendor's code, you're all done! All you have to do is file a ticket and wait. Sure, you may have to wait a few months or years for the fix, and sometimes it never comes at all, but there's nothing you can do about that! Just kick back, relax, and hope for the best.
2. You don't have to worry about contributing your changes back to a community.
With open source, there's an expectation that if you fix a bug or make an improvement, you'll contribute your code back to the community that can help test and maintain it over time. With closed source, you never have to contribute anything to anybody. Of course, that's because you can't change the code as you don't have access to it, but you may create your own workarounds to problems you run into. Sure, you might have to keep working around the same issues version after version, but at least you never have to work with the community to make the solution better for others.
3. You don't have to think about open source licensing terms and compliance issues.
With open source, you have to comply with the license terms specified by the components you're using. It can take some time to understand the terms of an Apache Software License versus a General Public License (GPL), for example. Depending on which open source components you use and how you use them (e.g., distributing to third parties or using only for internal purposes), different license terms may apply (e.g., attributing the open source component in your documentation). Companies like OpenLogic make it easy to understand and comply with open source licensing terms, but with closed source, you don't have to worry about any of this! Your vendor's license agreement takes away all of your rights to the software and makes it nearly impossible to consider any usage not explicitly approved by your corporate attorneys, so you don't even have to think about it. Sure, you have to deal with license counting, surprise software compliance audits, terms that worsen over time, and nearly incomprehensible legalese, but at least you don't have to understand how you're using open source components.
4. You don't have to choose among dozens of options for every component.
Open source offers lots of solutions when considering a database, web server, application server, programming language, GUI framework, and the like. In practically every category, you can find robust offerings built in a variety of languages with different architectural approaches. It's also very common to find similar tools that are optimized for different use cases (e.g., performance versus scalability versus simplicity). To make sure a tool will work best for your particular use case, download it and give it a try. With closed source, you don't have to contend with so many options. You only have to explore two or three large vendors in each market. You can save time if the vendors don't offer free trials, or make it hard to get started by forcing you to pay for a trial or sign trial agreements up front.
5. You don't have to look around for slideshows.
It can take some time to find conference presentations, architectural diagrams, screenshots, and other documentation for any software, but with open source you might have to read wikis, forums, and email lists to get the information you need about a particular component. With closed source, you're never more than a phone call away from a nice PowerPoint presentation delivered right in the comfort of your office by professional salespeople in nice suits. Sure, you'll have to provide your contact information up front and the salespeople will never stop calling you, but at least you don't have to search the web for glossy slides with beautiful graphics.
6. You don't have to look around for technical support.
You can get open source support from a community, your own engineers, or professional open source support organizations. It can take some time to decide whether you want Service Level Agreement (SLA) support with guaranteed response times like you can get from OpenLogic, or if you feel comfortable posting issues to mailing lists or doing your own support. With closed source, you never have to worry about where you're going to get support. Sure, you might not ever get to speak to an actual engineer, but at least you always know who to call.
7. You can just throw in the towel.
With open source, there's always a way to get something fixed, patched, improved, enhanced, refactored, upgraded, or rewritten. There's no easy way to throw up your arms and walk away like there is with closed source. Sure, you can curse the community that developed the open source component causing you problems, but you can usually work around the issue, get help from the community or a support organization, or even fix the issue yourself. It's just not nearly as satisfying as cursing a commercial vendor and calling it a day.
So, there you have it. Seven good reasons why closed source is better than open source. Do you have others you'd like to share?
Originally posted on the OpenLogic Enterprise OSS blog. Reposted using Creative Commons.