Open source software is free to download, modify and use, but that doesn't mean it's not worth paying for sometimes. If you're using open source software in a commercial, enterprise capacity, here are six reasons why you should pay for free software.
Red Hat announced last year that it plans to offer OpenStack on a subscription basis as a commercial, enterprise-grade product. OpenStack is an open source software project for building private and public clouds.
Red Hat's engineers contribute to the OpenStack project, and the company is an old-hand at productizing open source projects and offering them on a subscription basis. It is probably best known for Red Hat Enterprise Linux (RHEL), a productized version of the open source Fedora Linux operating system, as well its JBoss Enterprise Middleware, based on JBoss community projects.
Companies such as Red Hat make a lot of money selling products based on open source projects. But if the underlying software is free, what exactly are you paying for when you subscribe to these products?
1. Enterprise-Grade Support
If your company uses open source software in mission critical areas then you'll probably need someone to provide support when the software doesn't work as expected.
With proprietary software, the availability of support is a given, but when you download and run an open source project you may have to rely on the help and support of the project's developer community. That help may arrive, but then again it may not: Community support comes with no service-level guarantee and a 24x7 telephone support line is not provided.
Third-party companies offer support for some open source software on a commercial basis, but Gordon Haff, a senior manager at Red Hat, says, companies like Red Hat that sponsor and productise open source projects are in a better position to provide you with support than these third-party companies.
"One key piece of value is that for most of the core software technology that we offer through subscription, we employ the experts who are, in fact, the key contributors to that software," he says. "More importantly, they are a key part of the developer community, and can put in changes or fixes for you when they are required," he adds.
2. Input Into New Features
Another benefit of paying a subscription is that in many cases it can give you a say in the product's roadmap, according to Haff. This is clearly not possible if you simply download and run the open source software.
Therefore, if there are certain features you want, paying a subscription can be a cost effective way of getting them incorporated into the product.
Ironically, paying customers have to wait longer for new features than other users do because new features are released in the "upstream" open source projects before they make it to the productised versions of the software. In other words, Fedora is more "cutting edge" software than RHEL.
3. Tested, Stable Products, Rapid Bugs Fixes and Predictable Lifecycles
Companies like Red Hat carry out testing, tuning and troubleshooting across a wide range of hardware, configurations and applications before it allows any new code from open source projects to trickle down into their subscription products, Haff explains.
This requires considerable corporate resource--people, processes, systems and infrastructure--and arguably it's the stability and reliability that results from this, more than anything else, that you are paying for with your subscription.
The effect of this slow trickle down of technology is that the current version of RHEL is usually several releases behind Fedora, and since the Fedora development community doesn't provide fixes to outdated packages, Red Hat provides interim security or bug fixes to RHEL packages as part of the subscription. New features that appear in the latest releases of Fedora may also be back ported to the RHEL, Haff says.
Subscription products also tend to have a defined lifecycle that specifies the length of time they will receive enhancements, bug fixes and security updates, unlike open source projects. This allows you to plan your upgrades and bring hardware refreshes into line with upgrades where necessary.
4. Extra Functionality
In many cases it makes sense to pay for a product that has additional features that the underlying open source offering lacks. For example, Big Switch Networks is the sponsor of an open source network controller project called Floodlight, and its Big Network Controller (BNC) product is built around it. The benefit of paying for BNC is the extra functionality BNC provides to enhance the Floodlight controller.
"BNC uses Floodlight at its core, but it also includes additional modules for tracing, statistics, performance scalability and so on. These extra modules are not open source," says Andrew Harding, a senior director at Big Switch Networks. BNC also offers a multiple node deployment capability--a feature which most enterprises look for in a network controller to allow for failover, but which is absent in the Floodlight network controller.
5. Integrated Hardware and Software Solution
It's often worth paying for a hardware and software package that includes open source software to ensure you get a solution that is guaranteed to work. For example, Digium is the creator, maintainer and sponsor of Asterisk, an open source PBX telephony software project.
In additoin to offering SLA-backed support for Asterisk, the company sells hardware designed to enhance the software in the same way that Big Switch Networks offers additional paid-for software modules to enhance Floodlight.
The hardware includes redundancy appliances designed to enable physical-layer failover of telephone connections, so that in the event of a hardware or software failure on a server running Asterisk, communications are automatically switched to a backup Asterisk server.
Digium also offers a range of IP phones with Asterisk-specific features such as the capability to be supported and configured remotely, and PSTN interface cards that are sold with support to work in an Asterisk environment.
So while you are not strictly paying for the software, you are paying for a solution built on it. "Many companies don't just want Asterisk, they want to buy a complete telephony solution which includes software, support, phones and failover capabilities," says David Duffett, Asterisk's community director.
6. Low-Cost Platforms for Proprietary Products
Digium is unusual in that in addition to distributing Asterisk under the open source GPLv2 license, it also makes the software available with a low-cost commercial license. This provides one final reason to pay for open source software: If you pay for a commercial license, you can modify the software without the obligation of providing the resulting code to the original development community under the GPLv2 license. This can be useful if you want to incorporate the modified code into your own commercial products.
That's a (Commercial) Wrap
What you are generally paying for with a subscription to an open source-based product is a commercial wrap to put around the open source code. That wrap includes support, testing, hardware certification and predictable product lifecycles.
"By paying a subscription you get the same experience as you do with proprietary software, only for far less money," concludes Haff.