Funding Clojure 2010
Background
----------
It is important when using open source software that you consider who
is paying for it, because someone is. There is no such thing as free
software.
Sometimes open source software is developed under a license with
undesirable properties (e.g. the GPL), such that people are willing to
pay for a (proprietary) version of it that is not subject to that
license. Both Monty Widenius [1] and Richard Stallman [2] have argued
for the necessity of such a mechanism to fund open source software,
lest there be insufficient resources for its development. Clojure
doesn't use the GPL, thus conveying more freedom to its users, but
precluding me from funding it via dual licensing.
Some companies develop technology as a component of a proprietary
product or service, absorbing it as a necessary expense, only to
decide that it is not a core, unique, or advantage-bearing business
function. They can reduce their costs in ongoing development by open
sourcing it, deriving benefit from community contributions and letting
them focus on their core business [3]. It is important to note that
the bulk of the costs are often in the original development, and are
paid for by the proprietary product or service. That is not the case
for Clojure.
Some open source is the product of academic research, and is funded by
the academic institution and/or research grants [4]. That is not the
case for Clojure.
Some open source software is (partially) funded by proprietary
support. It is important to note that often the support income does
not in fact make it to the people who create the software. Such income
models work best for support sold to conservative enterprises [5].
That is not the case for Clojure.
Some companies 'fund' open source software by dedicating some of their
employees' time, or making investments, in its development. There must
be some business value to the company for doing so (e.g. it helps them
sell hardware [6]), and thus is ultimately paid for by their
proprietary products/services. That is not the case for Clojure.
There *are* companies that make software themselves, whose consumers
see a value in it and willingly pay to obtain that value. The money
produced by this process pays the salaries of the people who are
dedicated to making it, and some profit besides. It's called
"proprietary software". People pay for proprietary software because
they have to, but otherwise the scenario is very similar to open
source - people make software, consumers get value from it. In fact,
we often get a lot less with proprietary software - vendor lock-in, no
source etc. Most alarmingly, this is the only model that associates
value with software itself, and therefore with the people who make it.
Why don't people pay for open source software? Primarily, because they
don't *have to*. I think also, partially, it is because open source
software often doesn't have a price tag. I think it should. I'd like
to pay for open source, and know the money is going to those who
create it. I'd like companies to *expect* to pay for it. I'd like to
see people make a living (and even profit!) directly making open
source, not as a side effect of some other proprietary process, to
dedicate themselves to it, and not have it be hobby/side work.
Unfortunately, there seems to be no way to convey the full benefits of
open source software while *forcing* people to pay for it. Only in the
proprietary (including dual-license) model is there a direct
connection between the consumers of software and the funding of those
that produce it. This is having the effect of driving open source
software towards having zero apparent cost, becoming a free bounty of
someone else's other profitable endeavors, and is severely
compromising our profession.
Foreground
----------
As should be obvious, Clojure is a labor of love on my part. Started
as a self-funded sabbatical project, Clojure has come to occupy me far
more than full-time. However, Clojure does not have institutional or
corporate sponsorship, and was not, and is not, the by-product of
another profitable endeavor. I have borne the costs of developing
Clojure myself, but 2009 is the last year I, or my family, can bear
that.
Many generous people have made donations (thanks all!), but many more
have not, and, unfortunately, donations are not adding up to enough
money to pay the bills. So far, less than 1% of the time I've spent on
Clojure has been compensated.
Right now, it is economically irrational for me to work on Clojure,
yet, I want to continue working on Clojure, and people are clearly
deriving benefit from my work. How can we rectify this? Barring the
arrival of some white knight, I'm asking the users of Clojure to fund
its core development (i.e. my effort) directly, and without being
forced to do so.
Here's how I think that could work:
Individual users
If you are an individual user of Clojure, I encourage you to
contribute $100/year to Clojure development, via the donation system.
I hope that, in time, the Clojure community will become large enough
that $100/developer/year will be enough to gainfully employ myself,
and eventually others, in its development. If you are just evaluating,
a student, unemployed etc, I don't expect you to pay. If you live in a
country with a different income structure, please contribute a
commensurate amount.
Businesses
If you are using Clojure in a business endeavor, I appreciate and
applaud your savvy, and wish you much success and profit. At this
stage in its community growth, $100/developer/year is not going to be
enough to sustain Clojure development. I think Clojure needs several
of you to recognize your mutual self interest in a continuing strong
core development effort, and the collective value in pooling resources
to fund Clojure. Each business can fund some weeks or months of my
Clojure development time. In this way, no single company need sponsor
Clojure, nor bear all of the costs. This funding should *not* occur
via the donation system. Given a CA from your company, I can invoice
you, at a fraction of my normal rate, for consulting hours for work on
Clojure, corresponding to your contribution amount. Please contact me
directly via email to make arrangements.
Note that I have every intent and desire to continue working on
Clojure. It is some of the most satisfying work I have ever done, and
you, the Clojure community, are some of the best people I have ever
worked with.
Thanks,
Rich
[1]
http://monty-says.blogspot.com/2009/10/importance-of-license-model-of-mysql-or.html
[2]
http://keionline.org/ec-mysql
[3]
http://blog.linkedin.com/2009/03/20/project-voldemort-scaling-simple-storage-at-linkedin/
[4]
http://www.scala-lang.org/node/146
[5]
https://www.redhat.com/products/
[6]
http://www.ibm.com/linux/systems.html