Free software does not exist

“Voor niets gaat de zon op”, is a Dutch saying. Loosely translated, it says that only the sun rising is free. It implies that everything else in your life comes at a cost. Yet, we often speak of ‘free and open source software’, or FOSS. In this article, I want to show you that free software does not exist. And, I might even be able to show that the Dutch saying isn’t true. At all.

Free doesn’t equal free

I agree. This is confusing. So let me explain the different meanings of ‘free software’, and why they are very different. 

When we’re talking about free in our daily lives, we typically mean there’s no monetary value assigned to a service or product. There’s no cost to getting a (copy of) a product. This is the case for all plugins on wordpress.org, for example. You can download them free of charge. 

However, this is not what we typically mean when we’re talking about free software. What we’re typically referring to is the freedom to use the software for whatever purpose. Especially with software governed by a copyleft license (like the GPL), which is a so-called viral license, those freedoms are baked into the software itself. And yes, this includes the freedom to (re)sell the software.

However, for the purpose of this article, we’re going to stick with the ‘you don’t have to pay’ explanation of free. 

What does it take to build free software?

It takes a lot. Bluntly said, the bigger and more popular the software is, the higher the cost to build and maintain the project. We’ll take a look at a few of the many aspects that go into building a free software product. 

The examples

Let me use two projects as examples. The first one is our own Progress Planner plugin which recently launched. The other one is WordPress itself, a slightly larger, and very different project. 

Progress Planner

Progress Planner is a freemium plugin on the WordPress repository that helps you find the fun in the boring maintenance tasks on your WordPress site. It’s a utility plugin built by Joost de Valk and the development team (Ari & Filip) at Progress Planner. Progress Planner is available on wordpress.org for free. In the plugin, you’ll find a few upsells to the plugin’s Pro version, which adds extra features and some consultancy in the form of workshops and webinars.

On average, around 120 to 150 working hours a week are spent building Progress Planner. Employees are fully paid to work on the products. 

WordPress

The larger example is WordPress itself. Powering over 43% of the internet, WordPress is one of the largest open source projects out there. Hundreds of people are involved in every release, each release taking several months to complete. And it’s not just developers; many more disciplines come together to build, translate, and support each release. 

It takes time

Building a product takes time. It takes time to learn the necessary skills, it takes time to discuss what should be built next, it takes time to build the actual product, it takes time to test the product, it takes time to market the product, and it takes time to support the product. All of that quickly adds up, from a few hundred hours for Progress Planner to many thousands of hours for every WordPress release.

To help you get a bit of an understanding of the time invested in WordPress, we can take a look at WordPress.org’s Five for the Future page. This page aims to list the time invested in the WordPress project by companies in our ecosystem. It’s both an underrepresentation, because not everyone contributing is listed here, and an overrepresentation, because people might overestimate their hours, of the actual time spent. But if nothing else, it’s a nice indication of commitment to the project. 

Looking at the top 30 contributors (at the moment of writing), they’re together pledging 8,933 hours PER WEEK. Knowing that the average release cycle for WordPress is around 15 weeks, we’re talking almost 134.000 hours spent on WordPress by just the top 30 contributing companies. And, we haven’t even looked at the other 210 listed companies…  

It takes money

Time is money. We all know this. If you want something done, you’ll have to invest money. The interesting thing is that it’s not the entire truth for open source software projects. Many open source software projects also rely on unpaid contributions. But first, let’s look at paid contributions.

Paid contributions

Paid contributions can also be summarized as “it’s a job”. And that is most definitely true for the team working on Progress Planner. It’s their full-time job to build the open source software Progress Planner. 

Some of the hours spent on WordPress are also paid. This means the people spending their time on WordPress get financial compensation for the time they’re investing in the project. Just like Progress Planner’s employees do when they’re working on their own plugin. For those paid to work on a (non-commercial) open source project, we typically see two variants. Either they’re regular employees, but instead of working on the company’s own commercial products, they’re partially or fully dedicated to the open source project. In the past, we saw this a lot at Automattic.

The other option is a sponsored contributor. Typically, that’s someone who’s earned their stripes in the project and gets financial support from individuals or companies to continue doing the work they’ve been doing for a long time. Lately, we’ve seen Kinsta sponsor quite a few amazing contributors to WordPress, for example. 

So, while the WordPress Foundation, the main organization behind WordPress, doesn’t directly pay anyone to work on WordPress, many of the thousands of hours going into WP are actually paid for by companies in the ecosystem. And thus, building free and open source WordPress is costly.

The cost of unpaid contributions

However, looking at WordPress, a very large portion of the hours spent on building WordPress happens outside of people’s working hours. Those hours are not paid for by an employer or sponsor. So, one could argue that those hours are free. After all, the contributor did not get money for their contribution to WordPress. I disagree. Just because the hours are unpaid doesn’t mean they don’t have a cost. It doesn’t mean they’re completely free.

The easiest to understand cost of unpaid contributions is for those who are self-employed. After all, an hour spent on WordPress is one hour of client work they can do less. For this group of contributors, it’s possible to calculate the real cost of their contribution. It’s simply their hourly rate times the number of hours they contribute to the project. 

But what if you’re an employee and are spending time after hours on WordPress? That’s free, isn’t it? Well… it’s unpaid, for sure. But I’d argue that time is probably the most valuable resource we have. And that’s where things become tricky. How do you calculate the cost of hours not spent with your family? Of hours contributed to the project instead of relaxing on the couch, watching a movie? How do you determine the value of time not spent in person with friends?

It takes hard- and software

I know. It sounds obvious. But is it really? Not everyone in the world has a computer, laptop or even an internet connection – yet. But in order to contribute to a project, you’ll need a connection to the internet, a device to work on, and probably also one or a few pieces of software.

Especially in this day and age where AI helps you be more productive, you might have a competitive disadvantage if you do not have access to some of these tools. While this is less of a problem when you’re contributing to a project like WordPress that won’t make you money anyway, it might be a real problem when you’re working on your own project and have to outpace and outsmart competitors.

It takes a strong belief

Beyond money and time, working on open source projects requires a strong belief that open source is the best way to make the web, or even the world, better. To invest time and energy into a project that can be copied by anyone, you need to have a strong belief that sharing source code is a good thing. You need to believe that multiple teams trying to build the exact same thing is wasteful. You need to believe in open source.

Open source projects allow you to build upon work done and shared by others, and others to build upon work you’ve done and shared, and for everyone else to benefit from the collective effort. The hundreds of thousands of hours invested in the WordPress project, for example, have led to software running over 43% of the web. WordPress is built by a community that believes in collective growth.

Sustainable free software

But, no matter how strongly you believe in the concept of open source, people need to gain something to help them keep their motivation. Money can be a strong motivator. But so is recognition.

Building an open source project like Progress Planner is ultimately done to make a living. The free version of the freemium concept can only be developed if enough people decide to buy the paid version. So, if you’re an avid user of free software, you may want to consider purchasing its paid version, even when you don’t need its (extra) features. It really helps the developer work on the free version. 

But in open source projects like WordPress, there isn’t that same financial incentive, especially for unpaid contributions. In such projects, motivation is built through other means. For some, the opportunity to be part of something greater than themselves is enough to keep them motivated. For others, being recognized by the project and peers for the value they’ve added is the more important motivator.

To make contributions to a project sustainable, contributing will need to bring at least as much positive energy as one puts into it.

Is free really free?

Every morning, the sun rises because the earth has spun in a full circle. It doesn’t require any effort. It’s completely free. But, to get to this point where sunrises are freely available, a lot of energy has been put into the earth’s spinning motion at the start. Someone, or in this case, something, did that for you. And, if at some point it slows down, we may need to put new energy into it to keep having a sunrise.

That’s the same for free software. The end result may be available at no cost, but it requires time, money and, above all, energy to get there. Free software is free because people are willing and able to invest their energy into building something useful for themselves and everyone else. Their willingness to invest heavily in collective growth is key.

And to keep the free software available, those people will need to stay motivated. Through financial incentives and through recognition. And I’m sure it doesn’t surprise you that even just a thank you already goes a long way.

How are you supporting the maintainers of your favorite free software today?


Leave a Reply

Your email address will not be published. Required fields are marked *

Looking for our logo?

You're in the right spot!
Go to our logo & style page.