Everybody knows that money can sometimes be a harsh topic, but in today's post, we'll be talking about just that. With the OSS (Open Source Software) taking over, mainly because of closed-source slow obsolescence and harder maintainability, it shouldn't be a surprise to many that people have already found ways of turning it into profit... and for a good reason. While OSS most often comes at the price of free, people maintaining it has to somehow "maintain" themselves too. Sure, a casual job would do, but in such case, one would have to do double the amount of work with no additional profit. Naturally, there are people who really want to be helpful and create FOSS just for that reason. But, and that's a fact, it's much easier to find maintainers for a given project if there's some money involved.
So, unless your project is backed-up by a big company, what are your chances of monetizing your OSS efforts? What's the best way to do this? In this article, we'll be taking a quick look at some of the most popular approaches to monetization - their pros, cons and how they all compare. Keep in mind that this is based on my own experiences and research, so let me know in the comments below if there's something I missed.
Probably the first thing that comes to mind when talking about monetization are ads. For a long time now, it has become a sort-of primary way of monetizing a variety of products categories. Just place the ad somewhere on your website, app or etc. and you're done! But, yeah, there are some catches...
First off, ads have a lot of cons. Mainly, they can easily become irritating to the end user. And, when relying on 3rd party service, like e.g. Google, some concerns about privacy and similar stuff can occur. Somehow these ads must be targeted correctly, right? Yeah, but even then, they can often show stuff that's completely irrelevant or even conflicts with your very content.
Still, ads represent "imperfectly perfect" monetizing solution. User can get the content for free and its author can always earn at least some cash. Now, when it comes to OSS, it all boils down to its type. If it's an app you can show your ads directly inside it, if it's a library, you can place them in the docs - there are many possibilities. There's one important rule you cannot forget - you must be gentle. You can't just throw ads on your users from the right and left. I would personally recommend you to stay with 1 ad per view or something like that, but it's your choice anyway.
When it comes to money, ads aren't really that special. With multiple variables, like a number of visitors, their location and average CPM (what you can earn per 1000 visitors), your earnings may vary highly. On average you might be able to earn about 1K$ per 1M visitors or more, but, as you can see, it's not really that much. Having a website with 1M monthly visitors opens a completely new world of possibilities - some even far better than ads.
If you wonder, then yes - ads are used to make this very website ticking. Domain and hosting costs, am I right? But, yeah, as I didn't really want to use Google Adsense that much, I decided another solution - CodeFund. It's a very nice, developer-focused, non-tracking and open source, ethical ad platform. I just really like it and highly recommend it. Also, if you don't believe my word - you might be interested to know that likes of Material-UI, JSBin and CodeSandbox also use it.
If your OSS has a large number of supporters, you may consider funding your work through donations. In this way, users that use and care about your product can simply give you the money for its maintenance.
Donations can have many forms. Since it's the user himself who decides to help you, it's in your best interest to allow him to do that in the easiest way possible. Special platforms exist specifically for this purpose, like Patreon and Open Collective. With millions of users and an easy way to join, such platforms help authors and users stay connected. But, as they're mostly based on monthly donations, what if your user wants to donate only once? Well, in this case, simple solutions like PayPal button or crypto-currencies (if you're into this kind of stuff) can do the job. In this way, you make donating for your projects easier for hundreds of millions of people.
When it comes to earnings, donations can be tricky. You will never know how much your users are willing to give. From what I've seen, the amount can vary greatly - from tens to tens of thousands of dollars. Also, some users may appreciate that you give them the freedom of choice and change their mind on-the-go.
If your product is popular and recognizable enough, or even better - used by some big companies - there's a high chance that some of them might help you finance your work.
Generally speaking, having a sponsor is a good thing. Such entities (usually companies) can definitely improve your financial comfort. But, sponsoring in contrast to donations, requires you to give something back. Sponsors, depending on their demands, may want just a simple mention on your website, a badge, or even some other services that you'll need to provide. It's important to keep the right distance and not become too much dependent on your sponsors. But, from what I've seen, OSS sponsors are in general very nice and treat sponsored creators well. So, a badge and a mention would usually do the job.
The relation between the sponsor and OSS author is usually kept closed. With that said, I can't say how much money on average you can earn. Some smaller sponsors can take a for of e.g. Patreon donators. In this way, you can easily combine this method of monetization with usual users donations.
With your OSS being a highly complex and advanced product, some users might require something more than just a simple documentation. In this way, you can provide them with paid premium services that help them understand your product, and thus, utilize it better.
Services we're talking about may include additional features, materials, tools, personal consulting sessions and many other forms of support. Tidelift is a platform that helps fund OSS based on a subscription model. It also allows end users to get previously mentioned services, while also helping fund open source. It's just another example of how big the commitment of OSS users can be if the product is good.
You can also provide such services yourself. In this scenario, you'll be the one to decide the prices. Just know that your project needs to have high enough demand and be good enough for such monetization way to take off.
Personally, I don't like this approach, but it's a thing. As you know, open source doesn't really have to mean that it's always FOSS (Free & Open Source Software). Instead of commonly known and appreciated MIT, or e.g. Apache license, you can use the one that discloses the source but requires payment for the commercial use, above a certain threshold or in other conditions.
Because you're the author, you can license your products the way you want. You can use some kind of predefined license or even write your own! But, as you can see, from all the options we've discussed before, there are some better ways to monetize your projects. I personally try not to use OSS that has some complex and hard to understand usage conditions. If you want to get paid for your software directly, you might as well not open source it at all! The code you provide may only serve educational purposes and it'll be hard for you to keep track of people who don't really want to pay anything...
Long story short, you can change your software's license to be OSS but not free. I just don't recommend it. Instead, consider utilizing the paid services mentioned earlier, or split your codebase to provide some paid features at additional cost.
Beyond creating OSS yourself, open source can also be a great place to learn new things. This can be done by contributing and helping in the development of some of your most liked projects. You might be pleasantly surprised that, in this way, you can even earn something! Platforms like Gitcoin and IssueHunt create a community where people can fund and contribute to solving OSS issues. Such platforms get even better with additional social and funding features involved.
Open source rules!
So, there you have it. Just some ways of turning OSS into profit. Now, I know that some people do it just because they think it's the right thing to do and have a good heart, but the reality is - you need money to "maintain" yourself properly. I'm a big fan of open source and thus I want it to see it evolving. And for that, it needs to be funded properly.
Anyway, I believe a good project will always find its way to be maintained - as we've already seen in several cases. Either through community help or monetization. That's all for today's post! Let me know what you think about it all down in the comments and reactions section below. Also, consider following me on Twitter, my Facebook page and signing up for my weekly newsletter. Again, I hope you enjoyed this post and have a great day!