Wednesday, January 10, 2024

How to get more value from open source projects

What's the missing puzzle piece that improves the open source projects used in the services or products you deliver to customers to bring you profit? Read on to find out

Over the years I have created some open source projects. In fact, I have created a lot of open source projects. Some of them are seeing very little real-world use but many of them are used by hobbyists and academic institutions and powering companies of all sizes.

Altogether with all these projects I get a lot of bug reports, suggestions, feature requests, questions and so on. In fact, I get a lot more than I could possibly handle. This naturally means that some of them receive less attention, which can of course be very frustrating. But there is actually one simple thing you could do and I would like to offer this one solid advice on how to get my attention for your particular concern. Are you ready? It's actually quite easy. Ok, here it comes. Pay for it!


Now I can hear annoyed mumbling from some of you (*mumble* *mumble* paying?!? *mumble* *open source* *mumble* *mumble* should be free! *mumble* *mumble*) and I also think there's a lot of you who think this is pretty obvious.

The reason why I'm being very explicit about this is not that I'm angry or disappointed with someone or desperate for money, but over the years I have come to understand that a surprisingly large amount of people and companies just never have thought about this possibility. So I think it's good to make a very simple distinction here. The code is free. My time certainly is not.


That's right. The missing puzzle piece is money. You probably shouldn't pay me to do graphical design though.

Now don't get me wrong. I'm not threatening to kill an open source project every hour until I get a million in unmarked bills and a fueled airplane waiting for me. In fact, I will work on these projects regardless, because I want them to be useful for myself and others, and I really appreciate all bug reports and questions being sent, but if the choice is between getting paid to work on some feature or do it on my spare time, then it's a pretty easy choice to be made. And this is happening already today. I have happy customers who are paying me and my colleagues to work on some of these projects.

And conversely, when I'm working on some project that could benefit from support or a feature addition in an external open source project, I try to enlist the leader of that project when I have the chance. I find it tends to be great value for the money being able to get support from someone who knows every nook and cranny of a particular piece of software and can implement or suggest and desired changes. In fact, it's not just me saying this. A large-scale EU study released in 2021 concluded that the benefit-cost ratio of investing in open source software was above 4, so I say that's a pretty good way to spend your money.

So how does this work in practice? Well, just like any other contract work really. We define the scope, probably sign some NDAs, agree on a fixed price or a T&M setup, shake hands and get to work. Does the finished work product need to be open sourced as well? That's up to you as the customer. For any code that is generally useful, I would typically recommend integrating it back to the open source project where it came from because that saves you from being the only maintainer of that piece of code. But there might also be code that is closely tied to your proprietary work and in that case it's likely best that you keep it to yourself. Most often it's a mix of both and relatively straight-forward to decide what goes where.

And it really doesn't just have to be programming. Most of my projects work perfectly fine as they are, but perhaps you need some training to learn how to use them most efficiently, and I'm happy to supply that as well.

So, this one was a bit shorter than my typically long-winded posts, but I wanted to keep it short and snazzy because time is money, you know.


  1. It is indeed a problem worthy of a solution. Perhaps it might only be a first step, but as it has been shown to work (to some extent) for YouTubers, why not create a 'Patreon' programme for an Open Source project, and see what happens?

  2. It's a valid comment and it has crossed my mind, but I'm not looking for individuals to make contributions out of kindness. I have a good job that pays me well already. What I'm looking for is a systematic change and to educate people on the fact that open source and commercial software is not an either-or. I know how much companies pay for me to work on proprietary software and I want to get more people to understand that they could get an even better value by paying me to work on open source software instead.

  3. Your point is well made, and is essentially beyond argument. But if users are going to pay something towards the OS software they use, then isn't it either a business/commercial/contractual matter, where they have to pay, or otherwise, it is necessarily discretionary, and could reasonably be classed as 'kindness', either of individuals or corporations? So I'm suggesting that if it's not commercial, then there is nothing else it can be other than 'kindness'?

    The commercial step is a really big one, but a 'Patreon' scheme can at least be nuanced. Patreons can get earlier access to new features, or get serviced first in the queue of enhancement suggestions, they can even have their own newsletter or discussion group, thus pushing the kindness more towards 'enlightened self-interest', at which I would expect this community to be naturally adept.

    I'm not suggesting any of this is easy, but when there are two such fundamentally opposed models, then either one of them 'wins', or there is likely to be some fudging or friction at the interface.

    Anyway good luck with whatever you try. A new model for OS support should certainly be welcomed if it allows the development of good OS software to prosper.

    1. I see your point, and I absolutely think Patreon-like services are useful for many people, especially those who don't already have a steady source of income. How to finance open source is a big topic. I have taken part of some EU initiatives on this topic, and after discussing it in a bigger group it is very clear that there needs to be several different methods for this and both commercial contracts and funding by individuals are probably in there somewhere