Some years ago, before ubiquitous access to the Internet, you could sometimes make money on free software by selling it on a professionally produced CD-ROM. People would pay for having a verified version of the software delivered to them directly from by the primary source, (the company that authored the software), instead of shopping around for a cheaper alternative supplier whose version would be of unknown vintage and provenance.
That business model is dead now. Instant downloads from the Internet of a complete distribution is what is expected. Putting this distribution behind a paywall does not work, because Google makes it too easy to locate alternate suppliers that give users access to exactly the same tarball for free (i.e. without the paywall).
However. there are many different successful business models for Free Software and Open Source software in 2015, but selling the packages themselves is not one of them.
Wikipedia has a long article devoted to the subject.
I am not going to reproduce that long Wikipedia article here, but rather focus on the one of these business models I have personal experience with: Selling professional services - with a bit more detail than the Wikipedia provides.
The problem for many small software companies is to actually get anyone to look at their amazing software. If the brand is not well not known, or the software not generally acknowledged as "amazing", my experience is that it is hard to sell software the traditional way (i.e. making cold calls, spending money on advertising in magazines, having stands on trade shows, etc.) Just making prospective customers software notice your software may in some projects be just as expensive as writing it.
Also, if your company is small, your customer cannot be sure your company will survive. If they pay good money for closed source software, and the company behind it implodes, there will be no more support and no more releases. This renders most software useless after some time.
Making free software publicly available can be considered an alternative way of marketing that makes your software reach more prospective customers that traditional selling techniques.
Free software also comes with following advantages for the user compared to non-free software:
- It is available from download on the Internet and they can try it out for free.
- If your company implodes, the users are not left high and dry. Since they have the source code, they can get always get somebody else to support and maintain it.
However, so far I've only pointed out the advantages of free software for the user. You, the author, haven't seen any money yet.
What may happen if you do this, if your software truly is good and generally useful, is that you'll see thousands of downloads. Most of those will indeed use the software for free, and never earn you a penny.
However, you have users (hopefully thousands), and some of these users will want professional services. That this:
- they will be willing to pay you an annual support fee, in return for you supporting them (hot-line for user questions, first priority bug-fixes, etc.)
- they will be willing to pay you for specific customizations that address specific use cases
- they will be willing to pay consulting and custom development, where you adapt and integrate your free software to their specific IT infrastructure
The business model for professional services is not unique to free software. This is the usually a profitable business model for proprietary software.
However, if you're a small software company, you may never see your software used by anyone if you go the proprietary route. There are too many barriers between you and any users. With free software, you may get thousands of users, and if only a fraction of those sign up for professional services, you will have a healthy business.
In addition to selling professional services, there also exists a business model that involves some free software/open source components that is called freemium.
In this business model, there is an application that can be downloaded for zero cost that is also free software (i.e. "free" as in "freedom" as well as in "free beer"). However, this application only provides some limited service. The service can be enhanced, either by buying non-free premium plugins that integrates with, and enhances, the free application, or the free application communicates with some SAAS (Software As A Servivce) web-service that only provides a very basic service for free. To "unlock" more functions in the web-service, the customer has to pay for premium services.
I have no personal experience with this business model, but the anti-spam tool Mollom for Drupal (available under GPLv2+) is an example of a project that is successfully using the freemium business model.