Open Source Subnet An independent Open Source community View more

How to earn a living making Open Source software

Here are some practical options for earning a living while making open source software.

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

The three best, Star Wars-influenced approaches to learning Linux

With all that said, let’s dive in.

1) Corporate Sponsorship

  • Example: The Linux Kernel itself

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? 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.

4) Pay-For-Source

After trying the community funded route, I switched gears a bit and now offer Illumination Software Creator and Linux Tycoon for free (as in beer) to everyone. A license for the source code (under BSD or GPL) can be purchased if someone wants the code, and wants to help fund development.

At this point I don’t have enough data to say if this will be a rousing success for a variety of consumer-oriented software products. But, so far, the early results are incredibly promising.

5) Work Somewhere That Makes Free Software

Okay. So this option really doesn’t let you build your own software. Going to work for another company forces you to work on the software that they want you to be working on. But, hey, it’ll have a higher likelihood of being Open Source. And if the company is building something that interests you -- wham-o!

Have I left out your favorite funding model? Let me know in the comments! (Just be sure to include an example of where that funding model is used so we can all take a look.)

Join the Network World communities on Facebook and LinkedIn to comment on topics that are top of mind.
Must read: 10 new UI features coming to Windows 10