Let’s talk, for a minute, about some of the ways one can make a living by creating Open Source software.
Let’s get this out of the way right up front - I am a big supporter of Open Source licensing, and have dedicated a large portion of the last 6+ years to actively advocating its usage. That being said, I’m also a realist. I’m interested in practical, concrete examples and approaches to funding full-time development of Open and Free software.
RELATED: A Linux user switches to DOS
With all that said, let’s dive in.
1) Corporate Sponsorship
Many Open Source projects are funded, at least in part, by companies. And this is awesome. There are, however, a few possible issues with this approach to funding Open/Free software development.
The first issue that many will have is that most (nearly all) of these companies derive part (or all) of their own revenue from non-Open Source technology. Heck, even Red Hat (a company that contributes a ton to the Open Source world) makes money on closed source and proprietary software. So, if you are building Free Software for ethical reasons, this could be a real conundrum. It’s sort of like being a politician that is running on an "Only wind power!" platform...but taking all of your contributions from oil companies.
The other potential issue is control. If you are a small software shop that is used to having total control and power over your software (and how you talk about your software), "getting into bed" with a corporate sponsor can put some potentially uncomfortable limitations on your work. It’s not always an issue, but it’s worth thinking about.
2) Support Contracts
One approach to funding Open Source that tends to come up in every conversation about the topic is to charge for technical support, which is an astoundingly good idea…
…so long as the type of software that is being built is intended to be used by mid-to-large organizations for mission-critical tasks. Support contracts simply are not viable for most consumer projects.
How many of you would consider paying a support contract for a video game? Or an instant messaging client? Or even a web browser? It’s just not going to happen in large enough quantities to fully fund active development.
3) Community Funding
What if you want to be supported by the community? Say...by donations? There certainly is an allure to this approach. If people like and benefit from the software, they may donate to furthering its development. It’s an almost utopian dream.
Unfortunately, the case studies for this approach have been relatively bad.
Personally, I tried this approach myself with Illumination Software Creator - a visual software development tool. I thought to myself "Hey, as a closed source, shareware piece of software, this makes enough money to properly fund full-time development and has a big base of active, passionate users. I bet if I Open Source it and ask for donations that’ll work too!"
Turns out...not so much. Donations were nowhere near the levels of sales pre-Open Sourcing. And, more importantly, donations were way, way below what was necessary to fund full-time development. These results are very similar to the donation levels you can find for the other examples above.
So, as of right now, this is simply not a viable model.