In the realm of open source software development, many programmers aspire to transform their passion for coding and their drive to make the world a better place into a sustainable livelihood. In an ideal world, the desire to contribute positively to society would be enough. However, the reality of life is that money is needed too. Some developers have managed to generate income from open source projects through various channels such as the goodwill of supporters, sponsorware, and sponsored screencasts. For example, Caleb Porzio earns one hundred thousand dollars per year. So, the idea is to just write some software, cast your screen, and you will earn money? Probably not. Let's reason through the situation.
The key to making money lies in providing value, which can appear in two forms:
directly benefiting the user, for instance, through entertainment or by enhancing productivity, or
by enabling clients to create value for others.
Usually, the idea that software has to create value is clear. However, what is usually not clear is that open source developers, who aim to receive money from people, inevitably find themselves competing with businesses. Now, there is good news and there is bad news, and more bad news. The good news is that software is not limited by geography, so software can create value anywhere. The bad news is that software is not limited by geography, so open source software competes against any global corporation including Google and Microsoft. The more bad news is that capitalism is ruthless. Competitors will steal ideas and run with them. Sometimes competitors will even bundle a competing browser inside their own operating system. This is what happened to Netscape when Microsoft decided to bundle their browser with Windows. Even though Netscape may have been better, they didn't have a chance against a bundled browser.
Fortunately, there exist countermeasures that developers can use. Developers can establish a durable competitive advantage or moat. Hamilton Helmer's book, "7 Powers," offers a comprehensive list of moats, or what he calls powers, that can be adapted to open source software:
Scale Economies. Helmer defines Scale Economies as "a business in which per unit cost declines as production volume increases." Generally, we can say that the cost of adding new features decreases with the number of clients.
Network Economies. In network economies, the value of the product increases if the amount of clients increases. Social media are well known examples of this. So, for making the next social platform this is a useful power as demonstrated by Signal and Mastodon. However, this can also be beneficial for other projects. The network effect also holds for having more people adapt and contribute to the software. In turn, this can increase value through improved functionality, richer documentation, and a more extensive library of plugins or extensions. This leads to a self-reinforcing cycle that attracts even more clients and developers.
Counter-Positioning. Helmer's favourite power is counter-positioning. This requires products to be build in such a way that competitors can only compete by damaging their own business. Take, for example, those old Nokia phones that everybody loved due to their reliability. Around 2009, Nokia did not want to admit that Apple's smartphone was a better technology because that would hurt their Nokia sales. There are countless ways for open source developers to take advantage of this. For example,
open versus closed-source programming languages such as Julia versus Matlab, and
open versus closed-source image editors such as Gimp versus Photoshop.
In both cases, Matlab and Photoshop would lose income if they would make their products open source.
Switching Costs. This is the power that most developers are well aware of. Software by corporations is full of vendor lock-in meaning that switching to another product would be very costly. For example, production software written for AWS Lambda will probably remain on AWS Lambda or you risk going offline during a complex migration. For open source software, switching costs usually arise automatically via the interfaces, extensive documentation, and integrations with existing systems.
Branding. Branding involves creating a unique and positive identity for a product or service that differentiates it from competitors. Open source software can build strong brands by developing recognizable project names, logos, and design principles. However, brands typically have effect only once the product is well-known already, so this power will not be so useful for starting projects.
Cornered Resource. A cornered resource is an asset that you can access more easily than competitors. For example, a mine is a cornered resource. For software, if you are an extremely talented developer or have talented friends who only want to collaborate with you, then those are also examples of cornered resources.
Process Power. An company organization and activities which are markedly more effective than those of the competition. In the book, Hamilton Helmer gives the example of the The Toyota Way which gave Toyota an nearly unbeatable advantage in the car production. According to Hamilton Helmer, this was most likely due to having process improvements trickle from the workfloor up into the whole organization. A nice example of this could be the creation of Git which trickled into the whole Linux organization (and the world). This takes time and is therefore most likely not a good power to depend on for new open source projects.
In a nutshell, we can say that the competitive advantage of open source software increases when
it's used by more clients, who, for example, file bug reports and feature requests, and
it's being improved by skilled developer(s).
As an example, let's apply the 7 powers to the Linux kernel:
Scale Economies. The Linux kernel benefits from its widespread adoption, which allows it to distribute maintenance and development costs across many clients. As its usage expands, the cost per user decreases.
Network Economies. The Linux kernel's open source nature has attracted a large community of developers and clients. As more people contribute to its development, it gains new features, improvements, and optimizations. The large user base also creates an ecosystem of tools, libraries, and software compatible with the Linux kernel.
Counter-Positioning. Linux's being open source makes has clear benefits over Microsoft Windows and macOS. It allows clients to customize and modify the kernel to their specific needs.
Switching Costs. Users who have adopted the Linux kernel often face switching costs when considering a move to another operating system, as they have invested time and effort in learning Linux-specific tools, commands, and system administration techniques.
Branding. The Linux kernel is well-known.
Cornered Resource. The Linux kernel has a cornered resource in the form of its creator, Linus Torvalds, and the large number of core developers who have applied their skills to to the kernel.
Process Power. The Linux kernel's development process has historically been ahead of the competitors. For example, Linus made Git.
Just like above, the competitive advantage of the Linux kernel increases when
it's used by more clients and
it's being improved by skilled developers.
But this is not a typical project. Does it also apply to smaller projects with only one developer?
cURL is the well-known command line tool for transferring data and is created and maintained by Daniel Stenberg. According to Open Collective his annual revenue from curl is $78,000. The following powers apply to it:
Scale Economies. The cost per user decreases when more clients use it.
Network Economies. Many tool and tutorials have been written around it plus most developers know the tool.
Switching Costs. Like many software projects, switching costs are high because other tools may behave differently in unexpected ways.
Branding. Almost every developer knows cURL.
Cornered Resource. After 27 years of working on it, we can conclude that Daniel Stenberg is an expert in writing command line tools for transferring data. He has proven that he can create and maintain software that is valuable.
Process Power. Hamilton Helmer defines process power as having improvements trickle from the workfloor up. Since cURL is mostly a one-person project, this power probably applies. For example, maybe the success of the project mainly depends on Daniel working alone (low cost) and having persistence.
The same summary applies; the moat increases when:
it's used by more clients, and
it's being improved by skilled developer(s).
In conclusion, making money from open source developement is tough since it's a ruthless competition against other people and corporations. Luckily, strategies from Hamilton Helmer's "7 Powers" can be used to establish a durable competitive advantage. Especially hopeful is the fact that many proprietary software projects will damage their own business if they would compete with open source software. Furthermore, it is also hopeful that many powers such as process power and the network effect will likely happen automatically as the project grows. The advise to open source developers is then easy, as long as the number of clients and the amount of work by skilled (a) developer(s) increases, the competitive advantage will increase too.