How can we pay for Free Software?
by Glyn Moody
One of the great things about free software is that it's free in both senses. But it's also a problem for the people who write it, since it makes earning a living from doing so hard. How people have managed to do that has gradually evolved over time.
Richard Stallman initially supported himself by selling GNU Emacs (sent out on computer tapes) at $150 a time; thanks to his frugal lifestyle, he now lives off the $230,000 MacArthur Fellowship he was awarded in 1990. Linus wrote Linux when he was a student with a loan from the Finnish government; later he took a job with Transmeta (remember them?), and has ended up as a fellow of the Linux Foundation, where he works on the kernel from home – an eminently sensible arrangement for everyone.
As companies based around open source like Red Hat grew in size and turnover, they were able to employ many of the top hackers at good salaries, and today much of the code in the free software world comes from people who write it as part of their jobs.
That's good news for them, and for open source, but it comes with some strings attached. For example, companies ultimately need to make a profit, and that means selling things or services that people want to buy. So the code that their employees produce tends to be related to commercial demand. Nothing wrong with that, of course, but it does mean that wildly non-commercial activities are unlikely to be supported in the same way as the more mainstream stuff that businesses might be interested in.
Of course, people can always write the code that really interests them in their bedrooms, as Linus did, but that model doesn't really scale: if a project is really ambitious, it probably needs hackers who can work on it full time, and that usually means money is required to support them while they do that.
The H Open recently wrote about a couple of interesting examples of how coders are trying to keep their independence while earning enough to live on. Bryan Lunduke offered to open source his applications and games if users guaranteed him a monthly income of $4,000; Patrick Verner, the lead developer of the Parted Magic multi-platform partitioning tool, requested and has obtained a more modest $1,200 per month to enable him to continue work on the project.
There are a few problems with this approach. First, it only works because both of the above hackers are well-known names working on code that people already like and therefore want to support. It wouldn't be possible for a new, unknown Linus to raise money to work on a new kernel, for example, because he or she would have no community to draw upon. There's also the very ad hoc nature of the way in which the money was raised. Ideally, what we need is a more formalised approach to raising money for open source projects and coders.
And, of course, we already have these. There are micropayment systems like Flattr, which allow people to express their thanks by leaving a small tip, but that's never really caught on, certainly not enough to provide serious income. But an alternative model has taken off in the shape of crowd-funding sites like Kickstarter and Indiegogo.
The former has risen to prominence in the open source world recently thanks to the success of the Ouya video game console appeal:
OUYA is a new game console for the TV, powered by Android.
We've packed this little box full of power. Developers will have access to OUYA's open design so they can produce their games for the living room, taking advantage of everything the TV has to offer.
Best of all, OUYA's world-class controller, console, and interface come in one beautiful, inexpensive package. All the games on it will be free, at least to try.
At the time of writing, Ouya had raised over $5 million from 40,000 backers against its initial target of $950K – and that's with a couple of weeks left. These are pretty astonishing figures, and certainly not something that can be generalised easily. Moreover, there is the big issue of delivery: raising these funds is impressive, but what really counts is turning them into the promised system.