I was laid off a couple of months ago, and have been thinking about what I want to do next. Actually, I've mostly been writing code for my pet projects, but earning a living again is occasionally on my mind.

I would, very much, like to earn a living while deveoping interesting free software that I would like to use myself.

There's a bunch of options available:

  • I could go work for one of the large companies that use free software, and hope to find a position where I can help develop the tools they use. This would perhaps be the easiest option.
  • I could perhaps find a job at a smaller company that specilizes in the development of some parts of the free software stack, or develops a Linux distribution.
  • I could join or found a startup that develops free software and thinks it has a business model around it.
  • I could learn web programming, and develop interesting online services that people would be willing to pay for.
  • I could do consulting gigs, either via my own company (back in Finland), or by getting employed by one of the free software oriented consulting houses that exist. Again, I might need to learn some new skills, since most customers are looking for work in parts of the development stack I'm not experienced in, such as the kernel, or want web or mobile app development, neither of which I know.
  • I could try to crowd-fund development of software I think the world needs, and hope to get paid enough to make a living. This would be a special case of doing consulting: I would be selling very small amounts of work to a fairly large number of customers.

In this blog entry, I want to think about that last option.

Here's I imagine it would work: I would post a list of things I would like to do, estimates of how much work they'd be, and a hourly price. People would tell me how many hours of work they'd like to pay for. I would then do the work, send everyone their bill, and they'd pay it.

In the ideal world, this would be an awesome way to fund development. I could, for example, write some automated tools for system testing of Debian, to help with release management, or I could finish Obnam. And that's just two things I'm already working on: there's no end of things I would like to develop, if I didn't need to worry about my next meal.

However, this is not without problems. To start with, it might look like I'm trying to blackmail the world: "pay me, or this software won't be written". That's not a problem in the general case, but it'd easily look like that if the work would be to, say, maintain Debian packages. As a Debian developer, I should keep my packages in good shape whether someone is paying me or not. I would need to be careful to keep things ethical here.

Another problem would be the issue of being realistic: would there be enough people willing to pay me, and how long would that last? That partly depends on the pricing. Although my needs are fairly modest, I do live in a country that is fairly expensive to live in. If I started doing this, it'd be easy for someone in a country it is cheaper to live in to compete on price (and they might well be better than I am, too). Then again, since there's no end of things to do, perhaps we could both make a living.

Would you pay someone to develop free software by the hour? How much? How often? What should the software do?