Whether or not you can make money with an open source project, depends on many things. Based on experience, I see three factors that are important:
- Which license did you choose? Take a look at the schema in this answer and you'll see that on one end, you have permissive licenses and on the other hand you have licenses with a strong copyleft.
- Which type of product are you offering? There's a huge difference between offering a tool for consumers (something they can just download, run and use) and offering a library in a B2B context, for instance: a piece of software that parses XML, but that doesn't work unless you write some code around it.
- What is your business? Are you in the business of selling software (e.g. you sell a game that can be downloaded and that can be played off line) or are you in the business of selling a service (e.g. a game that can't be downloaded and that is played on line).
When to use a license with strong copyleft?
Although it was different in the past, I see that small "developer-driven" companies, wanting to create a software business in a B2B context, often benefit from a license such as the AGPL.
Warning: the original authors of the AGPL consider what I am going to write next as nefarious use of the AGPL, but this is the way companies such as MongoDB, SugarCRM, and others make money.
I have my open source project of my own, and in the past 15 years I have tried making money in the following ways:
- Donations: In the early years, users of my software would buy my kids Lego. I would receive books for my birth day. Somebody even sent me cookies. While this was certainly appreciated. That doesn't make a business. Also: I live in Belgium: when somebody sent me a DVD from the US, (1) I had to pay taxes on it (customs could be excessive), (2) I couldn't play it because the DVD could not be played in my region (unless I fiddled with my DVD player).
- Making money with ads: I was an early adopter of Google AdSense. In 2004, I made $8,900 with ads, in 2005 $14,500, but the revenue dropped to $6,200 in 2006, $2,350 in 2007 and $1,900,... I had more content, more clicks, but less revenue. I noticed two things: (1) most of the people advertising on my site, were competitors, (2) if you want to make money with ads, you need to specialize in making money with ads. As a result, I removed all ads. Ads as a business model are dead. See for instance what Codehaus wrote when they shut down their business: the hosting cost was exceeding the cost of the revenue from ads. You can also see that SourceForge has taken the wrong path
- Writing documentation: I wrote two books for Manning Publications about my project. Manning sold about 11,600 copies of the first edition and almost 9,200 of the second edition. Illegal copies of the book were already available before FedEx had the chance to deliver me my first paper copies. As an author, I received 10% on the profits. I made approximately $33K with the first book and approximately $30K with the second book. I used this money as seed funding for my company. Writing documentation is hard work and when you compare the time you spend on writing such a book versus the money you make selling the book, you soon understand that this is not a sustainable source of money.
- Selling support and maintenance: this works, but it's hard. It's not something you can do on your own, because it's not scalable: the more customers you have, the more employees you need to answer support tickets. Also: you face competition of professional players who offer support for a stack of open source products. By supporting more than one product, such a company can afford hiring more employees. In my case: I couldn't compete with OpenLogic when I first started doing business with my product. I had to find a different business model.
- Offering professional services: you offer the software for free, but you sell professional services to install the software and to integrate your product into a tailor-made project. This is even harder than offering support, because you have to compete against all the large software integrators who have more money, more employees, more everything than you. Your business will even be less scalable than support and worse: all the time you spend on projects for customers is time you don't spend on further developing your product. The Heartbleed disaster is an example of how that can go wrong.
If you are a single developer looking to start a business, making money with open source software, your best chance at being successful, is by offering the software under a dual license.
Which license? Well, you have to avoid Being forked into oblivion by a more powerful contributor, so only a license with a strong copyleft makes sense. You'll understand what this means when you read the Eat me section of the ZeroMQ guide. I quote:
In the software industry, there are friends, foes, and food. BSD makes most people see us as lunch. Closed source makes most people see us as enemies. GPL, however, makes most people our allies.
How does one make money with a copyleft license? That's explained in this video. You offer the software as free, open source software free of charge for every one who obeys the rules of the license. Companies who don't want to follow those rules, can still use the software, provided that they buy the software under another, commercial license. This model is called dual licensing. The weaker the copyleft of the license, the harder it will be to sell your product.
When to use open source with a permissive license?
If you are not a developer and you want to start a business offering a service. Or if you work a large corporation (say Google, Amazon,...), then you probably won't like what I wrote in the previous section.
You want to use software and do whatever you want with it. You don't like GPL-style licenses, because those limit what you can do with the software. You may even have to pay for the software you're using! The horror!
In this case, it is in your best interest to brainwash developers into thinking that open source software should be free as in free beer, that the GPL is bad and that open source software should not be offered commercially. You'll sponsor the most radical zealots that are popular among developers looking for a role model. As a result, these developers will start producing software under a permissive license that you can use any way you want to.
Your task will be to make choices: to separate the wheat from the chaff. It is not your business to sell software:
- You are offering software as a service (e.g. Google)
- You have a totally different business that relies on software (e.g. Amazon)
- You sell closed source, proprietary products and you make a lot of money in professional services (e.g. IBM or Wipro)
- Your main business is ads; your users are your product (e.g. Facebook)
Once you are successful enough in one of the above, you can afford giving away your software for free (as in free beer). As you have gained a monopoly, it doesn't matter if competitors can also use your software. If they are peers, they may improve the code and redistribute it, in which case you benefit too. If they are contenders just starting a new business, you either crush them (because your brand is king and your marketing budget is bigger) or buy them (and possibly kill them afterwards).
This is a great way to make money with open source software, but I see some disadvantages. The moment a large corporation decides that the value created by a project doesn't justify the investment, the "charity" will stop. Oracle dropped GlassFish, IBM backed away from Geronimo, Pivotal left Groovy,... Only when disaster strikes (like was the case with Heartbleed), these companies suddenly start raising money to "save the developers."
That's not a sustainable model for open source, is it?
I don't know if there are any numbers about this, but it wouldn't surprise me if you'd see that most of the software distributed under a permissive license is written by employees (people working for a large corporation), whereas most of the software distributed under a copyleft license is written by entrepreneurs (people owning or working for a small to medium-sized company).
Has it always been this way?
No, free and open source software has undergone an enormous change. Large companies used to distribute FUD about software that was offered for free. Often these are the same companies who are now claiming that open source software should be free as in free beer. If you want to know how it was in the early days, I recommend watching OS Revolution.
How am I making money today?
If you want to read more about my history in open source, I recommend reading the 1M/1M blog by Sramana Mitra. I founded my first open source company in 2008, 8 years after the first open source release of my product. In 2014, the group was profitable with a revenue of 5 million euro and an EBITDA of 43%. The company ranked 28th place in Deloitte's Technology Fast 500 in the EMEA region and it won first place as the fastest growing technology company in Belgium in the period 2009-2014.