Why Would You Pay for Free Software?

There are lots of businesses built around free and open source software. Why should you give them any money?

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.

Reasons for Buying

A few reasons for purchasing a support contract for free software might
include:

dependence on product

crappy product

good product

insurance

supporting the developers

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.