We all know we can use open source software without paying, but the real question is: what compels people to buy free stuff? Most widely used free and open source software can also be purchased. We are not speaking of alternative commercial licensing, in this context. We are talking about purchasing support contracts and add-ons for open source software. While you certainly do not need to purchase support services, there may be benefits beyond the obvious ones.
Many popular open source software projects turn into businesses. Not because they use a crack dealer's business practices-getting you hooked on using the software, then demanding money for upgrades or support-but most often because of external pressures to develop features. If a large company depends on a piece of open source software but finds it is missing one critical feature, the company will often persuade the developers of the software to focus resources on implementing the feature. This is done with money, obviously.
After developers implement a new feature and make a few dollars, they often begin developing a business plan. If one company paid, others might too. They invariably offer commercial licensing and support services to other customers, and then develop some non-free add-on products to sell. This is most always the startup process for open source companies, and this evolution frequently creates viable businesses with a full suite of open and closed source software, along with a large consulting department.
But while it is true that most open source software companies make ends meet from non-free components, there are also some that survive just selling the free parts.
A few reasons for purchasing a support contract for free software might include:
Dependence on a product and insurance go hand-in-hand. If you rely on an excellent piece of software, no matter how excellent it is, something might someday go wrong. When that happens, who better to call than a small company where support engineers will have access to the actual developers? Of course, you also have a service level agreement (SLA) with that company, guaranteeing a certain response time.
More often than we like to admit, we are stuck with a crappy product. It is the only option, it would cost too much to replace, or we cannot admit to choosing poorly. Whatever the reason, we need help just making the crappy product behave as advertised, so support is required.
Conversely, a good product may also elicit a need to purchase support, but for very different reasons. Aside from insurance or an SLA, we may feel a certain obligation to support the developers. First, they wrote a wonderful piece of software that we depend on and that saves us untold amounts of time. Second, we need to ensure that the project will continue. Finally, we may wish to "sponsor" certain features, rather than code them ourselves.