Before you read any further, I’m not an expert in any of this. If I were, I’d probably be publishing in a much larger outlet. I’m just trying to figure it out.
First of all, if you’ve got a project to work on, but otherwise no funding, you’re still going to have to put food on the table. The following list is a good way to keep yourself maintained. Note that it’s a good idea to keep your interests aligned — find work that supplements your other interest(s). Just make sure to thoroughly understand any legal agreements that you sign regarding intellectual property and outside work. This is worth talking with a lawyer about, and it may be worth dropping an employer over.
Making Ends Meet
Salary/Hourly – Stable work, but usually requires a significant time commitment. Make sure it’s developing some useful skills.
Freelance/Contract – This is similar to a salary/hourly when you have work, but you may spend a large amount of time looking for the next job. I like this idea because it puts you in a business mindset. However, the minutia can be a distraction from your project. Another advantage to this method is that you could slowly convert to contracts in support of your project.
Online Pay-Per-Code – I like the idea of sites like guru.com and RentACoder, but I understand it’s not an easy thing to trust a coder off the street nor trust a spec written by an unfamiliar hand. These tend not to pay well because the competitor pool is global.
Significant Other – If you’re fortunate enough to have someone willing to support you in your ventures, use it wisely and good luck.
Angel or Venture Capital – You’re beyond my experience.
Trust Fund – You’re probably set. You can stop here because you’ve almost certainly got much better resources available than the blog of an amateur.
Now that you’re presumably fed well enough to get up each day, we can consider how to finance the project that you want to work on.
Methods I Like
App Stores – There’s an advantage to creating small, useful versions of an idea and putting them up for sale: you can quickly find out if there’s interest. Of course, there are quicker ways to find interest, but this way might have some dollars attached.
Freemium/Patreon – This has been a boon for YouTube and other creative content generation. There’s no reason that it couldn’t be applied to software. Creators that tend to do well here have already established a rapport with their user base or audience.
Sponsored – To my knowledge, most major open source projects go this route, and it seems a solid plan. I haven’t much insight into how to get started with this. I assume it requires a project with a certain level of interest to get significant sponsorship dollars.
Kickstarter/IndieGoGo – These are some incredibly powerful ways to get projects going. However, they (Kickstarter at least) have been associated with some fraud. As a result, the campaigns usually either need a good amount of marketing, a team behind them that has already proved they can deliver, or a demonstrable product that just needs cleanup and/or production.
Business-to-Business – These are some of the most lucrative deals, but they’re heavyweight and time-consuming. As far as I can tell, this model usually involves a dedicated sales person or team.
Methods I Don’t Like
Advertising – My opinion of this revenue source has soured over the last few years. It didn’t seem so bad online — until it was: popup ads, interstitials, and copious inline ads have ruined the model for me. The appearance of ads within mobile and desktop apps led me to the conclusion that I would never want my work associated with this model. Ultimately, advertising networks are about tracking people and trying to figure out exactly who they are and what they like. It’s creepy.
A light advertising touch might be acceptable in some online cases, and I would want strict control over the kind of advertising presented to my audience. Otherwise it’s a line I would prefer not to cross.
Pay-Per-Use – This is a model that’s growing rapidly because the Internet makes it easy. It keeps your software relatively safe from theft and undesired manipulation. It also makes it relatively quick to deliver new changes, optimize, and identify and fix user problems.
With all of these great benefits, why don’t I like it? It seems to me to be the antithesis of open source — a model I am quite fond of. Open source maximizes availability of software and the corresponding learning from it. Pay-per-use is a service where the service provider could have little interest in sharing how things are done and near endless ability to scale.
Despite my reservations, it’s a powerful model that deserves consideration. I would just avoid making it the only path.
Other Thoughts
Mixes of the above are probably prudent. The more ways that you can accept funds, the more resilient you are to unexpected swings.