A cup of coffee costs much more than a glass of water.
This is true even though we cannot live without water. (Most) people can live without coffee.
It’s true, even though it costs billions of dollars to build the infrastructure to clean and deliver clean water.
The critical reason for the difference is marginal cost.
Delivering one more glass of water costs the city next to nothing. Less than a penny.
But to deliver one more cup of coffee, it takes more beans, more roasting, more electricity, more cups, more oats, more cows, more staff… add it all up and Starbucks couldn’t make a profit selling the coffee for a nickel a cup.
The first thing to understand about free software is that the Marginal cost of one more email, one more download, one more bit is downright low, close to zero.
Given the low incremental cost of another user, it’s possible that if that were the only factor, most software wouldn’t be a very good business because it costs too much to develop, but market forces would continue to push the price down .
The second factor is lock up. Unlike coffee, software rewards users who follow it. Over time, the software you use becomes more familiar, opens files you created yesterday, and becomes increasingly difficult to switch. As a result, software companies work to create the conditions where people are encouraged to start now and only later find out that it is difficult to change.
But the real wonder of modern software is the network effects. Simply put: the software works best for each user when other people use it too. The network effect dramatically rewards initial startups. You want to use the same word processor as your peers, because opening their files is part of your job. You want to be on the same phone system, the same social network, the same protocols.
Sometimes, software is created in a community, by teams, and is often called open source. These projects exist to solve a problem and serve the user. But sometimes, software is a business.
An open source project created by the community can thrive for free. But software can also do really good work when the software creates enough value that people will choose to pay for it.
And a business-driven software project has similar choices to make.
And when all three pieces come together, we have two extremes that most software businesses face:
- Freeware is the best way to get started. The low marginal cost of new users means you can get big speed (100,000,000 new users for Threads in one week!). But, and it’s not just a but, it’s the whole point, some companies then choose to treat these new users not as customers, but as the product.
The lock-in makes it hard for them to leave, the network effect keeps the system growing, and now you can earn money through other means. Specifically, you earn money by serving someone other than your free users. As you get bigger and bigger, you make the product a little worse, rewarding your sponsors or your agenda as you go along. (Important exception: when your near-free users pay you enough, in enough numbers, that you can happily offer them the support and services they need… that requires relentless focus and care.)
- Expensive (not free) software rarely gives you a magical global scale. But it requires you to be fully aligned with your users, who are also your customers. That’s the point. Instead of locking people in, you can focus on rewarding them for staying. This is how almost every other business in the world works, and it can work for software too… if we decide we want to be aligned with the people who use what we make.
For a business, then, there is the path of free or near-free, aiming to make money in another way, or the path of expensive, which aligns the company’s decisions with those of its users.
And for community-based software, there is the magic alignment that comes from open source.
There is no obvious answer, but there is a clear choice to be made.