This question comes up quite often on online forums. I even had someone ask this in person recently. It’s kind of an odd question, actually, since there is a lot of proprietary software that is offered for cost-free, and no one seems to care how that software does or doesn’t make money. Well, let’s talk about it.
It doesn’t have to be cost-free
First of all, it should be noted that a lot of open source software is released under the GPL (GNU General Public License), which does allow you to charge for it. Of course, it becomes difficult to charge exhorbitant prices for software people can compile themselves cost-free. Yes, most people don’t want to go through the trouble of compiling software themselves, but they either can find someone who can do it for them, or they will learn how to do it if the alternative is forking out US$2000 for the precompiled equivalent. And even if one person did pay US$2000 for the precompiled binary, she could then redistribute copies of that binary for free. So, you can charge for GPL’ed software, but for all practical purposes you can’t charge much. People might pay US$10 for the convenience of having a large collection of software mailed (instead of downloaded) or packaged nicely with a manual, though.
But even if the software is available cost-free or you charge only a nominal fee for the software, you can still make money off support. Red Hat, for example, makes hundreds of millions of US dollars a year selling support for its server software. Support can mean anything from installation and configuration to training and troubleshooting. Most established corporations, non-profits, and schools will not purchase software that does not have paid-for support available for it, too. So open source software can make money this way.
WordPress is cost-free and open source blogging software. If you have your own web server, you can download the .tar.gz of the latest WordPress release, upload it to your server, create the appropriate MySQL tables, and have a free blog on your server. So how is WordPress able to make money? Well, it makes the correct assumption that most bloggers do not rent or own their own servers and know how to set up a MySQL database. So WordPress offers you the convenience of having the blog software installed, configured, and updated automatically, and of hosting the blog itself (providing its own server), but the version of WordPress that is offered for free blogs isn’t fully featured. So to get the extra features (the ones you’d have had cost-free if you’d uploaded the software to your own server), you have to pay for them (the ability to have limitless inline CSS or to install and configure new themes, for example).
The advertising could take many forms. It could be as simple as banner or text-based ads appearing on the homepage of the software project. But if enough people are visiting that free-to-download project’s page, the project can make some money—probably not enough to be millionaires, but enough to keep developing the software and maintain the website. Firefox is open source and cost-free, but it makes tens of millions of US dollars a year through a deal it has with Google with regard to the Google search built into Firefox.
This is a bit less lucrative, but it still bears mentioning. In stores that are few and far between, you’ll occasionally see a box for SuSE Linux or some other Linux distribution. It’s a box just as you would see for proprietary software. The software comes on a CD or DVD. A manual or orientation of some kind is included in the box. Yes, you could (if you had a fast internet connection or no bandwidth restrictions) download it for free, but if the packaged version is cheap enough and looks nice enough, you might just buy the packaged version.
So I’ve listed a whole bunch of ways open source can make money, but it doesn’t have to. A lot of open source projects are just homespun software created by people who wanted something to help themselves with a task and figured others could help them develop the software too, or by people who just have a spirit of giving and want to create something free that others can enjoy.
Likewise, some corporations will develop or sponsor open source projects for their own benefit and use, and not necessarily for profit. I believe Google uses its own custom version of Ubuntu, and I think Sun sponsors OpenOffice.
It’s not either/or
Many for-profit open source projects make use of volunteer development and volunteer projects, and what started off as a homespun project might turn into a commercial enterprise. The world of open source is a diverse one. It involves people from different cultures, countries, and ideologies. Some view open source idealistically. Some view it pragmatically. You get everything in between, too. But, yes, you can make money off open source… and you also can give it away if you’d like.