summaryrefslogtreecommitdiffstats
path: root/_posts/2018-02-24-The-road-to-sustainable-FOSS.md
blob: 3e5b452d88c2f400dce97809937b37ddc3d9b1fe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
---
layout: post
title: The path to sustainably working on FOSS full-time
tags: [money, free software]
---

This is an article I didn't think I'd be writing any time soon. I've aspired to
work full-time on my free and open source software projects for a long time now,
but I have never expected that it could work. However, as of this week, I
finally have enough recurring donation revenue to break even on FOSS, and I've
started to put the extra cash away. I needed to set the next donation goal and
ran the numbers to figure out what it takes to work on FOSS full-time.

Let me start with some context. I like to say "one-time donations buy pizza,
but recurring donations buy sustainable FOSS development". One-time donations
provide no financial security, so to date, (almost) all of my FOSS work has been
done in my spare time, and I've had to spend most of my time working on
proprietary software to make a living. This is the case for many other free
software advocates as well. Short of large grants on the scale of several
tens of thousands of dollars, if you want to get your rent paid and put food on
the table you need to be able to rely on something consistent.

Some projects (e.g. Docker, Gitlab) have a compelling product in the market and
can build a company around their open source product. Some projects fulfill a
tangible need for some other business (such as writing software they depend on),
and for these projects large corporate sponsorships are often possible. However,
other kinds of projects (including most of my own) often have to rely on their
users for donations, and this has traditionally been a pretty dubious prospect.
In August of 2017, I was making $0 per month in recurring donations to
[fosspay](https://drewdevault.com/donate), down from an all-time peak of $20 per
month. When I was researching the possibility of starting a Patreon campaign,
the norm was less than $50/month even for the most successful open source
campaigns. As you can imagine, I was somewhat pessimistic.

To my happy surprise, recurring donations to open source projects have taken
off, both for me and many others. It's amazing. After years of failing to earn a
substantial income from open source, as of today I'm receiving $547.74 per month
from three donation platforms ([fosspay](https://drewdevault.com/donate),
[LiberaPay](https://liberapay.com/SirCmpwn), and
[Patreon](https://patreon.com/SirCmpwn)). What's amazing is that because the 
income comes from from several platforms and is distributed across over 80
donators, I can feel confident in the security of this model. There are no
whales whose donations I have to live in fear of losing. There is no single
platform that I have to worry about going under or dramatically [changing their
fee structure](https://blog.patreon.com/not-rolling-out-fees-change/). This is
unprecedented - we're truly seeing the age of user-supported FOSS begin.

I want to provide some transparency on how I set my goals and where the money
goes. You might be surprised to have heard me say that I'm only "breaking even"
on open source at $500/month! Many projects can run on a leaner budget, but
because I maintain so many different projects, I have different infrastructure
requirements. This mainly includes domains and servers for CI, project hosting,
releases, etc. At my scale, it's most cost-effective for me to self-host my own
dedicated servers in a local datacenter here in Philadelphia. This costs me
$380/month at the moment for 5U including power and network. I'm not done moving
my legacy infrastructure into the new datacenter, though, so I'm still paying
for some virtual private servers. As I migrate these, I will be reinvesting the
money saved into upgrading the new infrastructure.

The next question is where to go from here. I have set my full-time goal at
$6,000 per month, which works out to $72,000 per year pre-tax,
pre-infrastructure expenses. This number is a lofty goal, and one that I expect
won't be met for a long time, if at all. This number is based on several
factors: cost of living, financial security, and taxes. The number is a
significant decrease from what I earn today, but it is enough to meet each of
these criteria. Let's break it down.

Right now, I live in a pretty nice apartment in center city Philadelphia, which
costs me about $1700 per month. There are cheaper areas, but I make a
comfortable salary at my current job, which allows me to buy a nicer place. If
working on FOSS full-time appears viable, I will move to a cheaper location when
my lease is up and adjust the goal accordingly (I will probably move to a
cheaper location when my lease is up regardless, actually). Because I'm locked
into my lease (among other reasons), I did not factor major lifestyle changes
like moving to a cheaper location into the goal. Other costs of living, such as
food and necessities, work out to about $1000 per month.

The other concern is financial security. I am lucky to live a comfortable life
today, but that is a result of hard lessons learned and has not always been the
case. I cannot focus on FOSS if I'm only earning just enough to cover my
expenses. Any major change in my life circumstances, such as a medical
emergency, natural disaster, or even something as benign as my computer breaking
down, would be a serious problem. Therefore, for me to consider working
full-time on anything, the earnings have to allow me to save money. To this end,
my earnings floor is at least 1.5x my expenditures. Some people think a more
liberal ratio is fine, but I'm a bit more conservative - I used to really
struggle to make ends meet. This raises the total to around $4000 per month.

Add to this infrastructure costs we already talked about, and the total becomes
$4500 per month. Now we have to consider tax. If we look up the current [tax
brackets in the United
States](https://en.wikipedia.org/wiki/Tax_bracket#2018_tax_brackets_under_current_law)
and do some guesswork, we can estimate that I'll land in the 22% bracket under
this model. If I need my take-home to be $4500, we can divide that by 78% and
arrive at the total: $5769 per month[^1]. Round it up to $6000 and this is our
goal.

These numbers are pretty high. I understand many people, including some of those
who donate to me, are much less fortunate than I. My lifestyle is a reflection
of my assumption that the open source donation model does not provide a
sustainable source of income. Based on this, I've focused my career on paid
proprietary software development, which pays very competitively in the United
States. The privileges afforded by this have shaped my costs of living. Rather
than make up a number smaller than my actual expenditures, I prefer to be honest
with you about this.

This doesn't necessarily have to remain the case forever. As my income from
donations increase, utilizing them as a primary source of income becomes more
feasible, and I am prepared to reorient my life with this in mind. You can
expect my donation goal to *decrease* as the number of donations *increases*.
This will probably take a long time, on the scale of years. My housing situation
and costs of living in Philadelphia will change during this time - I might not
stay in Philadelphia, I might have to change jobs, etc. It's difficult to set
a more optimistic goal today that will prove correct when its met. For that
reason, my goal is adjusted with respect to my current conditions, not the
ideal.

So that's how it shakes out! I'm glad we can finally have this conversation, and
I'm incredibly thankful for your support. Thank you for everything, and I'm
looking forward to making even more cool stuff for you in the future.

[^1]: Correction: that's not how taxes work, but the simplified version gives us a more conservative number - which is a good thing when your livelihood is at stake.