How free software makes money!
Photo by SaveTheAggie
While Microsoft keeps churning out newer and newer versions of Windows at more and more unreasonable prices, the 'Free Software Movement' marches on. Ever wondered why a perfectly respectable system like Ubuntu Linux ships completely free of cost all the way from Africa?
While many people focus on this point, it is actually just a consequence of something else -- Ubuntu is only incidentally free of cost. Good people donate to it and sponsor its shipping costs because they like it. What is so special about Ubuntu? Why is it considered noble to donate to Ubuntu but not Microsoft Windows?
Ubuntu is "Free Software" or "Software Libre." "Free as in Freedom, Not Cost" which gives us 4 fundamental rights;
# The freedom to run the program, for any purpose.
# The freedom to study how the program works, and adapt it to your needs. Access to the source code is a precondition for this.
# The freedom to redistribute copies so you can help your neighbor.
# The freedom to improve the program, and release your improvements to the public, so that the whole community benefits. Access to the source code is a precondition for this.
Free software promotes sharing, kindness and humanity towards others, which is what Ubuntu the operating system represents. Instead of illegally sharing software you know nothing about and barely trust, running into the risk of being thrown in prison, why not simply use free software? People say it's impractical. How will a company that makes free sofware earn money and sustain? Who will work for free?
To understand how to, lets consider the two simple alternatives when I write a software;
# I'm evil. I close up the software, don't release the source code, don't tell anyone how it works and sell it at a high price. People will find ways around paying for my software and piracy will prevail. But I'll earn anyway and people will abuse me if the software doesn't work. I become greedy for more money, write some malicious code into the software to steal people's credit card numbers and distribute it again. Since nobody has access to the source code, nobody can actually prove that their credit card numbers are being stolen. They just have a gut feeling. People start hating me and each other for sharing the software in the first place.
# I'm not evil. I release the source code along with the software and license it using a free software license like the GNU General Public License, BSD license or MIT license.
Ofcourse, The First one is the easy way out. You create something, you package it and sell it, the same way the vegetable vendor sells vegetables on the street. Price per piece. Extremely simple revenue model and extremely evil. But how do I "sell" free software? Certainly not like vegetables on the street, because I've given everyone the right to redistribute it. So who's actually going to come to me and pay for it? Well, it turns out that there are many other creative ways to make money. Since the models tend to be complicated hybrids, lets do some illustration with these examples;
* SpikeSource is an example of a very successful company that follows a pure service model. They specialize in maintenance, certification, and integration of free software into large workstations. They capitalize on the fact that they have the power to study the source code (modifying it when necessary) and pinpoint exactly what went wrong during tech support. Free software typically comes with no warranty of any kind. SpikeSource fills this void for large corporations.
* RedHat offers RHEL, or RedHat Enterprise Linux which they build by gluing together various free software components and charge for the service of maintaining it. They capitalize on the fact that they are familiar with exactly what they built.
* MySQL and Trolltech Qt follow a double-license model. Why would people choose the proprietary license? The proprietary license offers some additional rights over the software over and above the fundamental free software license rights. Yes, it works. The proprietary license is available at a price.
Many companies also tend to maintain two versions of their software -- a free software "community" version that the community continually improves and a proprietary version that can be purchased at a cost.
Zimbra, the email client, is one significant example. Their desktop edition is free software but their network edition for large enterprises comes at a cost. RHEL/Fedora is another example -- RedHat constantly use ideas and code from Fedora, the community edition, to maintain RHEL (No, RHEL isn't proprietary, but neither is it developed by the community).
Many free software projects are funded by companies interested in seeing the project come up. SuSe, for example, sponsors a project called OpenSync because they want to see certain features in it that they probably wouldn't see otherwise. They additionally get some good publicity and a major say in any crucial decision. Instead of creating their own synchronization solution for their operating system, why not sponsor an already ongoing project? It's far cheaper and they get additional programmer passionate about the software to work on it for free (yes, I worked on it for a while too because I liked it).
Just like Google pays Firefox to get their homepage opened at startup by default, several companies might have interests in different popular free software. For example, if OpenSync becomes really popular and supports synchronization with Nokia and Sony phones, Motorola will immediately jump in and help OpenSync support their phones by funding the project. Zimbra did so well that it was acquired by Yahoo! in September 2007.
Well, as you can see from the few exmaples above, nobody is really doing free social service. Everything's rather business, just that the company doesn't need to burn down half the Amazon Rainforest to do it.