If you listen to Richard Stallman and his legions of followers, all it takes to make money while writing Free Software is to write quality software, give away the source code, and charge for associated services. But for something that sounds so easy, it's proven amazingly difficult for anyone to actually achieve and the question could be asked if making a living writing Free Software really viable or is it just the pipe dream of someone obsessed with a weird, redefined, view of 'freedom'?
Let me tell you a story. It's a story about a man I greatly admire and who might completely disagree with this post. But it's a story I believe needs to be told. It's the story of Bryan Lunduke.
For the last several years, Bryan wrote proprietary software. During this time, he made a decent living, was able to enjoy life, and easily support his wife and newborn baby. Then, Bryan had an on-air conversation with Richard Stallman on The Linux Action Show who basically told Bryan that he was destroying society and was a horrible human being because he didn't write Free Software.
A few weeks went by and Bryan announced an experiment. If he could raise $4,000 in one week, he would open source all of his software and abandon his evil ways. The community came together, met the goal, and Bryan delivered up the source code of his apps as promised.
Then, sales crashed. Hard. Over the remaining year, Bryan tried various tweaks to his experiment. He offered compiled binaries of his software, he did a pay what you want model, he even offered to license his source code under both the GPL and BSD licenses for a fee. It didn't matter. In the end, Bryan was forced to all but abandon the company that he worked so hard to build and take a full time job.
Though this is a bit of a sad story, I think it illustrates the point I'm trying to make quite nicely. Here is a guy with a product that sold very well when it was proprietary, a platform to push his products on (The Linux Action Show) and a passionate community of fans who claimed they were ready for him to jump in and support his Free Software reformation.
Except they weren't. The very community that 'loves freedom' so much that they are willing to call someone immoral pretty much sees their job as done when they can convince someone to give up writing proprietary software. It doesn't matter if that persons kids starve, if they can't pay their bills, whatever, just as long as they don't write a single line of non-free code.
Am I the only one who sees how freaking insane this mindset is? You want to talk about immoral? That's immoral! Hurting society? Good example of it right there!
Now there's a lot of speculation as to what Bryan could have done differently. First, the software was written in a proprietary language (Real Studio) that has a smaller development community than languages like C or Python. Also, he didn't really make the code all that accessible. Instead of saving the source as a Real Studio version control project, he exported as one giant XML file. Lastly, after doing an initial commit to GitHub, he left town for several weeks leaving users to fend for themselves.
Yes, Bryan could have done things differently. But I want you to remember that this software was selling well when it was proprietary. He want on vacations. He took a while to answer emails. That didn't really effect sales all that much. And source code is generally for other developers who shouldn't need as much handholding as average users do. In reality, sales shouldn't have slumped all that much.
I believe this shows that there is no currently viable way for a software developer to make money following a strict "Free Software" model. If everything is available, then that limits how much money you're going to make on your product. Bryan's experiment has failed and, to maybe a larger extent, I believe this is a failure of the community as well. This was a time when they could have shown that what they claim is possible actually is and they didn't.
In the end, I hope Bryan goes back to a proprietary model. Or he might think about adopting a hybrid model where the source code is 'auditable' but not redistributable. Either way, I hope that he can regain his business if he wants and make it into the success it was before the experiment.
My takeaway: free software as a business model doesn't work. Nobody has been able to make it work. It's time we accept that reality and deal with it.