133

Many open source projects I see involve having dedicated servers, as well as the expensive infrastructure that powers it. Many employ developers to work on the software full or part time.

What are the common ways that free and open source projects are monetized to cover the costs of development and deployment?


This is a canonical question. New questions asking effectively the same thing as this question may be closed as a duplicate of it.

3
  • 6
    often the cost of hosting and development is funded out of pocket and from donations. Commented Jun 23, 2015 at 19:21
  • 2
    Domain names are cheap, and often there is someone who has a server anyway. Commented Oct 1, 2015 at 15:28
  • 1
    Related question: When is open sourcing a threat to business?
    – Ooker
    Commented Nov 26, 2023 at 14:24

7 Answers 7

163
+150

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:

  1. 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.
  2. 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.
  3. 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.

Update 2021

In the meantime, I realized an exit. Right after I left the company, I wrote a book sharing my experience: Entreprenerd: Building a Multi-Million-Dollar Business with Open Source Software.

3
  • 30
    I created an account just to upvote this answer. I was one of those taken in by the "Gpl is evil" propaganda, until I read this. Thanks for the great links & answer. Commented Aug 19, 2015 at 12:54
  • 12
    I still hate the viral nature of GPL (I've no business telling anyone what to do with code they wrote, just the code I wrote), but you've made me hate it in general a little bit less. Very nice answer.
    – RubberDuck
    Commented Sep 29, 2015 at 16:19
  • 14
    While a very good answer, I think its worth mentioning one possible down-side with dual-licensing approach is it means all copyright holders must agree, in practice it normally means being the copyright holder to the entire code-base. That may inhibit you using code from other GPL projects and even be off-putting to other developers contributing larger changes (assuming they need to hand over copyright of their work for the project to include it, sign CLA's... etc).
    – ideasman42
    Commented Jan 3, 2016 at 4:54
28

There are a huge number of ways earning money with free software -- but none of them is guaranteed. Just a few examples:

  • Donations: Many users are willing to give a few coins each month for a project they like. If a huge number of people are doing it, your servers are paid for. Payment methods could be e.g. Flattr, Patreon, Paypal, Bitcoin or any other micro-payment service
  • Custom developments: A feature is missed by somebody who likes to spend money for it? Great. Go for it.
  • Education and Support: Many software projects lack good documentation. Therefore education and giving support can be a way to earn some money
24

There are several methods, often dependent on the type of software you've produced.

  • If you have space in a GUI, you could consider adding some adverts to it. There are plenty of services that provide you with money in return for taking some adverts.
  • Generosity. Users who genuinely like your product can be persuaded to give you some small donation in return. In general, the easier you make it the better - a Donate button on your distribution page is a good idea.
  • Monetization of features. Offer some features for a premium 'account' (or whatever the alternative is)
  • Further generosity. Some people may be willing to donate equipment or time instead of money. These people are useful, because they usually end up donating more value than the actual money - perhaps they're willing to host something, or monitor your servers for a while each week.

Often, it depends heavily on how much you're willing to let it impact the software experience: ads are invasive but effective, whereas a donation button is almost invisible but as such less effective.

There's a good video about this on YouTube.

16

Some projects sell the right to companies to use their code under a proprietary license. This is covered by Wikipedia in the Multi-licensing page. From Multi-licensing: Business models:

Multi-licensing is commonly done to support free software business models in a commercial environment. In this scenario, one option is a proprietary software license, which allows the possibility of creating proprietary applications derived from it, while the other license is a copyleft free software/open-source license, thus requiring any derived work to be released under the same license. The copyright holder of the software then typically provides the free version of the software at little or no cost, and profits by selling proprietary licenses to commercial operations looking to incorporate the software into their own business. This model can be compared to shareware.

As described in that article, a well known example is MySQL.

2
  • Is that really open source, though? (Honest question; I don't know!)
    – Air
    Commented Jun 23, 2015 at 22:06
  • To answer @Air, yes. These companies typically dual license under GPL and proprietary. Open source projects can use the GPL version. Proprietary projects have to buy a license.
    – Max Xiong
    Commented May 21, 2020 at 19:23
12

Large projects like MariaDB or some of the many under the Apache Foundation umbrella rely on sponsorship from big companies who benefit from using the software. Others sell support/training services of their software or make alternative versions with restricted features.

Take a look at Apache Foundation and MariaDB for examples, among many others.

10

There is no general guide for making money using open source projects because it highly depends on what the project is about.

Some projects are combining open source + premium features (that are mostly sold to the companies) like GitHub is doing. Some projects might depend solely on the donations like elementary OS is. Other projects might be paying for the full time support for their product.

For further reference, I highly suggest you the book called The Open Source Organization: Igniting Passion and Performance written by Red Hat's CEO Jim Whitehurst.

4
  • 3
    GitHub isn't open source; perhaps you were thinking of GitLab? Commented Jun 29, 2015 at 4:14
  • 3
    No I wasn't. Lots and lots of GitHub's resources and features are open source and you can find their code on GitHub. Of course, you can't really run your own version of it, so that's what I meant by premium features. They're basically selling the intranet version to companies. Therefore, I think of GitHub as a combination of open source + premium features.
    – r3bl
    Commented Jun 29, 2015 at 14:43
  • 1
    More "offer a service based on open source" to me...
    – vonbrand
    Commented Jan 16, 2016 at 0:36
  • 2
    It's a bit disingenuous to call Github open-source when the core of the product isn't open-source. That's like saying macOS is open-source because Apple uses open-source technologies like these: opensource.apple.com . Based on just about any open-source definition, Github isn't open-source.
    – Tin Man
    Commented May 25, 2021 at 17:37
2

The question Why did Google make Chromium Open Source? provides another answer:

Make sure the open source project is a complement of your main product before working on it

From Strategy Letter V – Joel on Software:

Every product in the marketplace has substitutes and complements. A substitute is another product you might buy if the first product is too expensive. Chicken is a substitute for beef. If you’re a chicken farmer and the price of beef goes up, the people will want more chicken, and you will sell more.

A complement is a product that you usually buy together with another product. Gas and cars are complements. Computer hardware is a classic complement of computer operating systems. And babysitters are a complement of dinner at fine restaurants. In a small town, when the local five star restaurant has a two-for-one Valentine’s day special, the local babysitters double their rates. (Actually, the nine-year-olds get roped into early service.)

All else being equal, demand for a product increases when the prices of its complements decrease.

Let me repeat that because you might have dozed off, and it’s important. Demand for a product increases when the prices of its complements decrease. For example, if flights to Miami become cheaper, demand for hotel rooms in Miami goes up — because more people are flying to Miami and need a room. When computers become cheaper, more people buy them, and they all need operating systems, so demand for operating systems goes up, which means the price of operating systems can go up.

If a program is a complement with your main product, then if you can lower the cost of the program by open sourcing it, then you can have more demand on your main product.

Read the rest of the article for full analysis. Laws of Tech: Commoditize Your Complement · Gwern.net has more link and analysis on this strategy.

1
  • This is a great read. Thanks for sharing this great example!
    – Unihedron
    Commented Apr 23 at 11:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.