How to make money with Open Source projects?

Illustration of a cartoon character in old-fashioned swimwear and top hat diving into a bathtub full of coins and banknotes, with a wooden chair beside the tub. Illustration of a cartoon character in old-fashioned swimwear and top hat diving into a bathtub full of coins and banknotes, with a wooden chair beside the tub.

Imagine that you are a writer. You wrote a beautiful book, and it is your book. All the rights for this book belong to you and your editor. Nobody can copy it, and nobody can make money with this book without your permission.

But what happens if instead of making a book for monetary reasons only, we make a book in which copying and reproduction rights are unlimited? A book that can be downloaded for free, where each person can make a pull request to modify it. What if this book can also be copied in part or even in whole and then sell it in the traditional way without you getting anything.

If we think about this kind of book, it will be difficult for someone to want to be a writer, because it would be difficult for them to get money out of this situation.

Well, now imagine a company that pays its developers a very good salary for code every day 40 hours per week. And this company decides that all the code that is generated in the company will be Open Software. All the company softeware is going to end in an open repository where everyone can see it, can download, copy, replicate, modify, learn and use it. But at the same time, this code could be improved, people can help with bugs, port it to the community, use it as a reference and many other things.

Now think again. Could this company that pays developers salaries to be profitable or not? Because all the daily work is shared with all humanity.

In this article we are not going to talk about the positives or negatives of OpenSource or the differences between Free and Open, we are going to present different models by which companies dedicate their efforts and their monetary resources to open source because although it sounds strange, you can also make a lot of money giving free code to the world.

We need first to learn the reasons why people use Open Source when developing:

Security: This is important because there is no place to hide anything. Everything is transparent and this is the difference. Transparency. Everyone sees what is there and this way there is no way to inject bugs or a backdoor. But this comes with a problem too, you are explaining to all the hackers where are your issues.

Control: Like the previous point since the code is there at all times, we see what we are going to install.

Stability: Since so many people in the community work on this project, more and more tests are produced.

Community: When you share a project on the internet you are a part of a group that creates something, you are a community with people that share your ideas.

Good press: Or the other way around, not having bad press. If you do not follow the norm, many times society can look at you badly and therefore few clients will approach you.

All those are beautiful, but beauty doesn't generate money, unless that you are a model. So let's see what may be the reasons why Open Software can generate money for your company.

Notoriety: It is clear that the more people use your repositories and the more people want to use your code, the name of your company will be in everyone's mouth. And this is very difficult advertising to pay for. Everyone these days uses terraform and I think almost everyone knows HashiCorp. Can you imagine the amount of money that one company on the planet needs to expend to reach this level of notoriety? Hashicorp now is a multimillion company with 4 Open Source products and every year is growing more and more.

Fame: This is related to the previous step. As many people know you, and more people use your application or your code your company will start to be more famous and this always brings money. Whatsapp is a very good example of fame (but not of Open Source). This company was famous worldwide because it was a good free chat and one day Facebook spent 16 billion buying this company.

Support and services: This is a great way to get money. We have to think that Redhat Linux and Openshift are Open Source products, all HasiCorp applications are open source, Oracle with Java and Mysql are open source, Redis is open Source, OpenStack is open source, Apache, Adobe, some Microsoft Components, Linux, Gitlab, Hadoop, Apache Spark and I can be naming products for hours. And all of these products are associated with companies and they all make millions selling services and support. The idea is simple, I offer candy for free, and you like the candy, but the candy is with sugar and you need to go to the dentist, and that is where I am going to generate money. This is a metaphor by the way. But you use my product and your company needs to have support because you cannot have downtime, and that is when you pay.

Licensing: This is where another interesting part comes in. The licenses. You can download many applications, but for example, until you have a paid license, the application will not work for you or may be not completely. Another way to do that is like for example Hasicorp is doing with the enterprise version. You can download the Open Source version but support is coming with an enterprise version, only for you, a special customer.

Charge for licenses or updates: The code may be free but if you do not pay for a new functionality solution, it will not be applied. All of us know Redhat and the license model that they have. You pay for every license that allows you to update your machine daily and avoid all the security issues that appear every day. So in the end it seems that hackers are good for companies. They find the issues that for example RedHat left in the code, RedHat fixes the issues, and the customer pays for a solution that they never generated. Crazy world.

Possibility of finding new clients: Let's think that you are a service company and you have an application that is capable of locating in Kubernetes all the pods that have started without having to be up, consuming resources in your cloud. This may not be useful to many people but it will at least prove to your customers that your company knows about Kubernetes and is capable of working in teams and developing tools. This is free publicity and generates only good things and passive ways to generate money are always good ideas.

As you can see Open Software can be a great indirect way to generate money. Remember that all the articles that are written for free are there to generate fame for the writer and notoriety or visits to the page that presents them. This article, for example, you are here, and now you know that mkdev is on the planet Earth. Now you know that we in mkdev offer cloud services to our customers in AWS, GCP, and Kubernetes. And this publicity was for free.

DevOps consulting: DevOps is a cultural and technological journey. We'll be thrilled to be your guides on any part of this journey. About consulting

Here's the same article in video form for your convenience: