This content is part of the Essential Guide: A guide to open source technology in application development

Estimate the cost of open source software in 5 practical areas

Open source tools and technologies are free for the taking, as long as enterprise IT organizations correctly calculate the cost of implementation, support, contribution and more.

The promise of freely available code, coupled with limitless opportunities to change and build a tool to fit specific needs, makes open source software a compelling force for enterprise IT shops.

open source products enable organizations to shed onerous licensing fees, as well as the sizable annual maintenance charges that come with enterprise-grade software. But the cost of open source software is not always cheap, and its tantalizing benefits often impose added expenses.

Evaluate open source offerings against commercial products, including enterprise versions of open source technologies, to select a tool that both performs as expected and drops no surprises on the IT budget or operations team.

The cost of open source software support

An active community of open source developers can be a project's greatest asset or its greatest liability. Product support is one of the biggest -- if not the biggest -- barriers to adoption of open source software. When enterprises license a commercial software product, they buy a level of support that accompanies it, such as 24/7 year-round telephone access wherein technicians respond to issues within 60 minutes.

But in an open source community, there is no single source obligated to deliver assistance and solutions to problems that users experience. Open source software support comes through forums, chat mechanisms and other community-led resources. Support is strictly voluntary, and the possibility of getting an eventual response -- only to hope that it's actually helpful -- isn't a worthwhile risk for organizations that demand high service levels for a production workload.

To fill that gap for enterprise IT organizations, some vendors provide commercial support options, which come with a price tag, on open source software. For example, the open source version of configuration management tool Puppet is freely available, but Puppet Enterprise adds a series of professional-grade features to the product, including enterprise support, professional services and training resources. Support pricing often depends on usage, such as the number of nodes under management, and on the level of responsiveness and in-depth support desired. Review the support and partner options available for any open source software in consideration.

The cost of product documentation

Enterprise-grade applications are complex products. IT pros benefit from clear documentation to architect the appropriate infrastructure and then install, configure, optimize and troubleshoot the product. Community-developed open source software means community-developed documentation, which can vary widely in availability -- language options, for example -- as well as in clarity, completeness and accuracy.

Waste and risk are unquantifiable costs. IT staff could go off-track during product configuration and have to backtrack without appropriate documentation. This issue also exposes security vulnerabilities that could jeopardize the business. Documentation helps the IT team avoid preventable risks at even simple aspects of tool setup, such as log folder location, cryptic error message translation, certificate implementation and default credential management.

Documentation for a paid license of open source software might be more comprehensive than what's available for the upstream technology and could vary because of different features. For example, monitoring tool Nagios offers notably more detailed documentation for Nagios XI compared to the open source Nagios Core.

Before your organization commits to an open source tool -- or the enterprise-supported version thereof -- run a proof-of-concept project to make real use of the documentation.

The cost of adequate infrastructure

Applications require compute, storage and networking, as well as supporting infrastructure technologies, such as load balancing and databases. Some applications fit onto existing infrastructure, but enterprise-class ones could require new investments.

Assess the available physical resources, such as multiple servers to accommodate high-availability requirements. Also evaluate the software's infrastructure management needs, such as network load balancing. A tool could necessitate new skills, such as when a Windows IT shop adopts Zabbix and must run it on a Linux system. Experimentation and proof-of-concept testing helps an organization discover whether adequate infrastructure is available to deploy the open source software.

Many commercial IT tools are available as SaaS options, wherein the vendor deploys and manages the underlying infrastructure and delivers the tool's capabilities as a service.

The cost of additional IT staff

Open source software enables users to examine how the product works, and they typically must understand how to install, integrate, configure, optimize and update -- as well as customize -- the software.

Lack of IT staff expertise or time can lead to unacceptably long and troubled deployments. In these cases, the cost of open source software includes additional IT staff or a consultant who can deploy and maintain the technology and train the IT team.

The cost of customization

Commercial software products are tailored to address specific use cases or market segments, whereas open source, community-developed software lacks that focus.

Interesting or commercially competitive features are not of the same value to the open source community as they are to software vendors. In some cases, the community won't possess the technical abilities to create the features or integrations your organization has in mind. It's commonplace for open source communities to seek out developers to implement certain desired features.

An enterprise user can forego absent features and functionality or utilize its own dev team to modify the open source codebase to do a particular task or produce a kind of output. Open source licensing could obligate the company to make any changes available to the open source community, a step which might be undesirable for security and proprietary reasons.

Open source software has a place in enterprise computing. Talented and motivated developer communities craft creative answers to often complex business and technology problems. But the absence of a price tag doesn't negate the cost of open source software. Organizations must evaluate carefully and perform due diligence testing to assess support, infrastructure, documentation, staffing and other costs attached to an open source offering.

Next Steps

If and when to use open source code in proprietary software

5 open source licenses developers need to be abreast o

Dig Deeper on Systems automation and orchestration

Software Quality
App Architecture
Cloud Computing
Data Center