Why Companies Really Use Open-Source, or Free is as Free Does
Forbes online had an article several weeks ago on the hidden cost of free open-source software (FOSS). The author's key argument is that nothing "free" is ever truly "free", and there are real hidden costs to free software. In his analogy, open-source is like the wood, bricks, nails and hammer to build a house, and commercial (often called "closed-source") software is like paying someone to take the tools and build the house. After all, how many people nowadays build their own house, unless they (a) have a lot of free time and are unusually skilled or (b) are in the house-building business anyways. The message is clear: why waste time with open-source unless you are in that business?
Because open-source is such a critical part of the current economy, I decided to address the issue and raise the real reasons companies - both those in the tech business and in other businesses - use open-source so heavily. Teaser: it is about a lot more than the price tag!
Free Is A Good Start
Indeed, one of the biggest advantages of open-source is that it is free. It has eviscerated markets for paid browsers, Web servers, app servers, proxies, and even, to some extent, operating systems. But price is is only part of the reason a company adopts open-source over closed, or a SaaS company uses it as a key component of their infrastructure or application. Let's look at the other, more important, reasons.
Fully Loaded Cost
Companies look at the fully-loaded cost of any solution to their problems, never just the purchase price. If all they cared about were the upfront price, every company in the world would now fleet the 1985 Ford Taurus, since there are millions of rusting away Tauruses available for free in junkyards!
With open-source, it is not the illusion of free vs paid, but rather the total cost of purchase+maintenance. No software, commercial or FOSS, is ever ready out of the box. Every piece of technology requires configuration, installation, integration, management and support.
So the relevant question really is:
"Does commercial software cost less to purchase, support and maintain over its lifetime than free open-source software?"
The answer, often, is no. In many cases the lifetime cost of support for open-source will be the same as or even less than that of commercial. After all, if many people decided to put in the effort to build and freely release the open-source version, they must have done it to save on the cost of dealing with the commercial alternatives, and so the fully-loaded cost is very likely to be significantly less.
Support
With a vendor, you know exactly who you have to call, and how much to pay (usually 18-20% of the initial license price) for annual support. With open-source, who can we call?
Surprisingly, support may be better for FOSS, if it has an established community; you just need to know how to get to it.
- Open-source software can have thousands of people online to help at any given moment, while even the largest of commercial software firms only has a certain number of people in support, with a ticket queue a mile long.
- The people volunteering to help open-source online are more likely to be those "in the field," who have had the same problems you have, unlike customer support at a commercial entity who have only seen it in the lab.
- Corporate support is usually based at headquarters or, at best, use a follow-the-sun model with 2-3 distributed sites. The non-headquarters sites usually are lower in quality and have first-line support only. With open-source, the community is around the world. John will help you at 2am EST, because he is a real user in Singapore where it is 2PM; Sally will help you at 10am EDT, because she is in Boston.
Knowledge
Most technologists would prefer to know how to solve their problems on their own, rather than call support. Why?
- The overhead in dealing with support can take more time than the problem itself.
- First-level support often lacks the skills to solve complex issues.
Yet the knowledge for solving these issues is often sparse and tightly held inside companies. Vendors will only expose the details and documentation that is in their interest.
Open-source documentation, on the other hand, is often community-generated by people who have tried to solve your exact problem. Further, while closed software does not give you access to the source code, and thus there are only so many avenues open to truly understanding the problem, open-source means you really can figure out "how it works." Even if you don't have the skills to do so in house, it is not difficult to hire, for example, a PHP developer for a few hundred dollars who will be happy to rip into the WordPress source code and solve the answer to your problem.
Legal Liability
Years ago, when I wanted to bring an open-source package into a company, the legal department refused to sign the deal. "If it goes wrong and breaks our systems and causes is $1MM in lost business, who do we sue?" I responded by showing the attorney the End User License Agreement (EULA) for the major software we had used until then, which had her approval. All of the EULAs clearly stated that the maximum liability was the cost of the software. Even with commercial software, we could sue... no one!
These are all standard reasons why companies love open source. Yet, there is one more very important one.
No one likes to run custom software.
Everyone says "my business is unique," yet everyone would prefer that their software were installed and configured identically to every other installation in the world.
With commercial software, if the product does not do what we want, the vendor is more than happy to sell us consulting services to customize it for our needs. I have (painfully) bought many customizations this way. But there is a downside to our custom implementation. Upgrades are now far more complicated, support is more expensive, and leaving the product for an alternative is much harder (which may be the idea), not to mention that we just paid $20,000 in consulting fees!
By contrast, in open-source, if we make customizations (or pay a consulting firm to do so), we can and often do contribute the changes back to the community. If we have this problem, it is guaranteed at least one or two others do as well. While that may not be enough for a vendor to make it part of the core product, it is probably enough for an open-source product to incorporate it into the core, or at least as a standard add-on/plugin.
The importance of standardization to IT can be seen by the sheer number of contributions to open-source by companies that use those same products. They could just as easily say, "we built this, we changed it, why should we share it?" Yet, they continue to share, because by doing so, they reduce their ongoing support and maintenance costs and complexity.
So Should I Use Open-Source?
As always, it depends. Does the open-source product fill your "must-have" list? Is there a large enough community to provide support? What is the release cycle of open-source vs closed?
Evaluate open-source like any software alternative... and be sure your expert evaluating knows all of the real (and often hidden) pros and cons of all of the products.