Today I'm going to take the time to answer one of the most common questions about Open Source. How do you make money? I'll try to be as factual as possible. Some infos I have, some other can be sought further on Google or other sources. Some numbers in particular am having troubles finding again, although I can assure they come from publicly available sources (if anyone could show me the financial results of IBM in 2008, that'd be cool :P). Before I start I'm going to make something clear from the beginning.
This is not about Open Source being better than the proprietary model. This is not about Linux being better than Windows. This is not about How evil Microsoft is.. I don't want this turning into a trollfest so please help me out.
On another hand, what this actually is, is an exposé of the Open Source business model. This model is very real and, contrary to popular belief, very widespread. Today it
generates billions of dollars a year, employs thousands of highly-trained workers and has even extended to
official public sectors. Some people even firmly believe that
the Open Source model is the only one who will survive in a few years because it's the only natural one for programmers. And now, for those of you who don't know, allow me to present to you:
What is Open Source?.
For a more detailed explanation, you could check this article. (spoiler alert: It's an article from my blog, I wrote it)
Traditional software industry is simple. The programmer writes a program. If the client wants it, he has to pay. In order to prohibit the copy and fraudulous distribution of the program, the programmer is protected by the law. He also cleverly hides his source code, the "recipe" of the program.
Open Source programmers behave differently. Once they have written the software, they give it away back to the world and provide along with it the source code. The idea being that if you give it to the world and allow them to make modifications, they will come up with new ideas and new features that will make the program better.
And now, the inevitable question: How do they get paid?
Explaining why Open Source can be profitable for some companies require high economics skills I do not possess. What I can do however is give examples of this: Who pays developers to work on Open Source projects? Now that's easy to answer. There are different reasons why you would pay a developer to work on an Open Source published software.
Sponsoring/Patronage
This is actually the most common form of payment in the Open Source world. In short, a company takes interest in what you are working on. It needs your software and it needs it to keep growing. So it will hire you as an employee to work full-time on your project. There are plenty of examples. I'm going to mention two relevant Google employees (there are worse job situation)
- Guido Von Rossum works for Google. He is paid to work full time on his project: The Python programming language, a 100% open source project.
-Andrew Morton is the #3 guy of the Linux kernel (after Alan Cox and Linus Torvalds of course). Actually over 80% of the linux project contributor are paid developers whose job is to work on this software.
Service provider
This one is pretty common too. You give away your product for free, without any licensing fee, but you take money on services like install, support, specific development, training, implementation, ... Here are two companies that do that:
-
OpenERP. Their software is valued at 3 million dollars. They give it away for free. They make all their money on services.
- Canonical, the company that publishes Ubuntu. When the French gendarmerie decided to shift to Ubuntu,
they bought a support contract from Canonical worth several millions of Euros.
Embedded hardware
Some products have all their value in the hardware sold. In order to augment the value of their hardware, they would equip it with a piece of software. Some of them decide to make the software open source. That's the case for example for
Linutop.
Another example is IBM. IBM makes there money in so many different ways, one of which is by selling servers with Linux pre-equipped. They are principally selling the hardware, but to augment the value of their machines, they hire developers to work on the software on top of it.
Not your core of business
It is also very common to see company release under an open source license, products that do not make the core of there business. Some examples include Hip Hop, a project by Facebook to compile PHP language to binary, that was since released under the PHP license. Or you can chose from the plethora of Google Open Source products like Android, Chrome, Chrome OS or even EtherPad. But the most prominent example is a historic one.
A few years ago (actually less than a year ago), there was a very exciting IT company called Sun. Sun was famous for plenty of projects like MySQL, OpenOffice.org or VirtualBox. Some of you familiar with Unix might have heard of some of their greatest inventions like NFS, Csh or Vi. But without a doubt, Sun's greatest inventions were Java, Solaris and SPARC. Java is the cool programming language you all know. Solaris is a Unix based operating system, probably the most stable one today, and SPARC is a super powerful processor architecture. It was the combination of those three that made Sun's fortune. Sun would sell some of the most robust solutions (and expensive too, this is probably why they crashed at the end). The only reason why they maintained all the above mentioned Open Source software (OpenOffice.org, MySQL, ...) was to provide some extra value to their platform. When you're a system reseller, having a database or an office suite work flawlessly on your platform is a huge plus. And open sourcing it provided a way for Sun to maintain them to lesser costs.
Academia
It happens. Some open source projects are backed by academic funds. That means there are researchers working on them. For instance, the popular media player started as a research project in a French university. It still gets funding from the lab.
Donations
Not the most sustainable, but still worth mentioning, donations can sometimes make an open source project live. Just ask Jimmy Wales.
I don't know if I'm missing anything. If you have any more questions don't hesitate to ask. But please understand, Open Source is not just a bunch of freedom loving hippies who want to make the world a better place. They are top notch engineers wanting to do business faster, cheaper, steadier. Any person having participated in an open source project before will agree how empowering the freedom you have to do ANYTHING you want can be.