This is a complicated problem I see pop up on HN every once in a while, in different forms. I think there is neither an easy solution, nor a simple one.

Each culture is different, but many people now see 'free' and don't think of how that product is getting created.

For Open Source the problem is even worse. As a project becomes more popular there are more demands on a maintainer's time, which is in short supply for most good senior devs. They have a demanding job, they have a wife, they have children, they have other family, they have friends, they have their own self-learning. This doesn't count the lucky ones whose employers pay them to work on Open Source software. Once a FOSS project gets to a certain adoption level it becomes a supply & demand problem where the demand quickly outstrips the supply.

How do we fix this? Well, we can either reduce the demand (PRs, issues, etc on a single project) or increase the supply (hours of dev time).

One way of reducing the demand is to have many projects that do similar small things, splitting users across the ecosystem. The NodeJS NPM system is like that. I think that leads to problems with reliability, technology selection choices, and vulnerability finding/fixing. Then again, NodeJS is still going strong.

Increasing the supply from one person is hard. For most the supply spent on personal relationships (family, friends) should not change, except to go up. That leaves the supply spent on work. This is a hard problem too. Most devs work a minimum of a 40 hour week. The only possibilities are going freelance, so you can choose your own hours if you can financially justify it (many freelancers work more than a 40 hr week though), or going part-time (which is not an option for many). Let's say a senior engineer makes $160k salary (not looking at options, etc in this math). For him to go freelance he would need to cover family health insurance and life insurance, say $2000 per month, $24k total [1]. Taxes will be around $60k [2]. These are both much more than he'd pay working for a company. To get the same spending power freelance as he did at a company, he's going to need to make about 40% more (16% for FICA taxes, 24% for insurance), or around $200k. That's not doable from donations, for any other than a select few maybe.

What about around half? He can make $100k from freelancing, $104k from Open Source donations. For Patreon the average backer pledges $6 per month [3], or $1.50 per week. You'd also need to figure out what pledger rewards were. You would need around 1800 backers to do that. As a project rises in popularity you will also have an opportunity to get a co-maintainer or two who helps oversee PRs, etc. The pledges should be split among the co-maintainers, which means more pledges needed. The co-maintainers can also start to have some of their freelancing be consulting on using the project. JBoss is a great example of that, so are a number of other projects. When you get to enough consulting on it, with 2-4 other maintainers, you might save each other costs by incorporating as an S-Corp.

Ok, so if that works, why isn't everyone doing it?

There are a number of reasons.

First, security & stability. Some people need the stability, structure, and security that comes from working in a company. Freelancing is a lot of work, across a diverse set of skills, and there are no guarantees of a next paycheck. You might make $10k one month and $1k the next (an outlier, but it happens). So you have to be very budgeted, with a nice safety net in your account for dry spells.

Next, skill set & capabilities. Some people just are not good at marketing, or working with people. I think you cannot be successful in freelancing without having some skill at marketing and at working with people. I also think you can't really be successful as a software engineer without those skills either,but that's a different topic.

Finally, risk. I touched on this in the first point above, but it's worth touching on again. Freelancing is high risk. Your work could hit a dry spell. You could get sued (you did get liability insurance right?). Some people, or their family, find it unhealthy to have to deal with that level of risk.

Are there other solutions? Probably. Better ones? Possibly. Dev collectives, bounties, FOSS organization grants, FOSS organization patronage (Google Summer of Code is an example) are all other ideas that come to mind.

As always, I am a dev - I am neither a lawyer, nor an accountant, so do not take the above as legal or financial advice.

1. https://www.ramseysolutions.com/insurance/how-much-does-heal....

2. https://www.quora.com/If-a-professional-freelancer-were-to-m...

3. https://www.crowdcrux.com/patreon-statistics-and-demographic....