This blogpost will talk about Faircode, an alternative to Open Source which aims to get creators paid. It will talk about why it’s important an alternative like this exists, and how we can balance paying creators with keeping things accessible for everyone. Let’s jump straight into it.
I think it’s important that there are simple ways for people who create things to earn money from what they’re creating. It’s important, both so that the people who are already engaged in creating things can continue, but also so that people who want to spend their time creating things see it as a realistic future for them and actually try it. This is true in all creative areas, ranging from games to music to software.
If there aren’t real financial options for independent makers in these areas, we’ll see fewer people try their luck, and thus fewer things tried. And for the things that are tried, only the most “safe” options are explored. Mobile gaming is a good example of this today; it’s virtually impossible for small games to survive so fewer and fewer people are trying new things. The few who do try to build mobile games gravitate towards addictive, micro-transaction based games because they’re seemingly the only thing that can make money (i.e. it’s the “safe” option).
I want to avoid this for software. I want people to feel like they can build a small, useful thing, and have a real chance to make a living out of it. It shouldn’t need to have to be grandiose. It shouldn’t need to be “go big or go home”. Some pieces of software are useful and should exist, even if they’re not destined to be the next Google.
The most straightforward way to monetize something is to charge for that thing itself. I think charging for other things around it (for instance micro-transactions in games) or even charging some other customers (selling ads on social media platforms, thereby making the customer the product) ultimately leads to misaligned incentives. If you make money from what you create, then the incentive for you is to make the best thing you can for your customer.
But just straight up charging everyone for your work doesn’t work for software. Even if your particular piece of software is cheap, the cost of acquiring all software someone needs to do something may in total be high, and in effect may be only available to people who have lots of money. This would be very bad. We need a system that ensures that it’s possible for everyone to build something new on top of other peoples work, regardless if they have a lot of money or not.
There is a simple solution to this. Charge for your software, but only charge a big group of entities that, per definition, have money; successful commercial companies. Let individuals and small companies have your software for free so that they can become successful with it too (or do whatever they want with it). This is what I call Faircode.
But for this to be possible, we need to change. Currently, there are two big obstacles;
- In the world of software it’s almost a taboo to charge for your software, as this makes it “not open source” (as defined by OSI). We need to get rid of this taboo.
- As employees, we need to get comfortable paying for software. It’s too common for people to not even look at software if it costs money, regardless of the how big the cost is. Paying for software needs to be seen as a good thing; something that enables your fellow developers to live and work.
We also need the tools to make it easy to do this for people. I don’t think we need anything fancy, but it does need to be easy to set up your project to accept payments and let the right people know you expect them to pay. And we need a simple, standardized license that enables this. I’m working on faircode.io as an implementation of this, as well as the Faircode License: https://github.com/faircodeio/faircode-license. Both are works in progress, but the goal is clear in my mind.
But what about Open Source, you may ask. Faircode is not a replacement for Open Source; it’s an alternative to it. There are times when Open Source makes more sense, and there are times when Faircode makes more sense. We’ll need both.
I’m excited by the idea of many people being able to live as small independent software creators. And I think it holds a lot of promise for companies too; by contributing comparatively small sums of money they can enable people who provide their building blocks to put a lot more time and energy into those building blocks, thereby making them faster and more reliable.
Diversity and creativity are not to be taken for granted, and I think it’s important we take steps to safeguard and further them. This is why Faircode exists.
If you want to learn more about Faircode, visit faircode.io. You can also help us develop the license at https://github.com/faircodeio/faircode-license, or support the kickstarter (for paying for a legal review). For an alternative to Faircode you can also check out License Zero.