a tool that allowed me to easily build cross-platform applications, I decided to try my hand at developing applications for the Ubuntu Linux desktop.
I chose Ubuntu for a number of reasons. Most importantly, it seems like that's the distro where all the exciting things are happening and technologies are truly being expanded. It also is the distro with the largest number of desktop users and the greatest need for really good consumer software. So I ported a few of the applications that were selling particularly well on Windows to Ubuntu and put them up for sale in the Software Center.
I treated this like any other part of my commercial venture: I did marketing, PR, advertising, the whole nine-yards. And, for about a few months, things went pretty well. They went so well, in fact, that I got seduced into believing that, with the right software, I might just be able to make a full-time living writing software for the great untapped Linux desktop market.
Then sales tanked. I don't mean they "declined" either. I mean they tanked. Within a few weeks I went from selling a pretty decent amount of software to selling one to two copies a month. Then, after another month or two, that number dropped down to zero.
I developed other software, played on novel things that I'd seen the community say 'it would be nice to have' and, once again, I saw a slight (and I mean slight) number of sales then a near total drop.
So now, while I'm still primarily a Linux user and I'll continue to develop free and open source software for Linux, I'm back to developing all of my commercial software for Windows and Mac full-time.
I realize there are a number of possible explanations as to why my software didn't sell. One might be that it simply wasn't good software. I've considered that and, while that's a possibility, I have to contend with the fact that the Windows version was selling really well. I know the Linux and Windows crowds are very different, but there are some common themes that run between them; enough where consumer software that resonated with one should resonate at least a little bit with the other.
Another explanation might be that I wasn't producing the right kind of software for Linux. Like I said: with the two markets being so different there is a chance that what people want and are willing to pay for on one platform doesn't automatically translate to the other platform.
A third option might be that my software was not open source - a huge selling point in the Linux community. If I had to pick one of the reasons I just mentioned as something that contributed to my non-sales, I'd likely say this was it. In fact, I got comments on Google+ telling me I was a traitor to the Linux community for not giving away my source code.
But I honestly don't think any of these reasons are the real reason my software didn't sell. I believe it's because, as a general rule, Linux users are simply not used to and very averse to spending any money on software at all. I'm not saying Linux users are cheap (the success of packages like the Humble Bundle disproves that) but they are much more selective at what they spend their money on than their Mac and, especially, Windows using cousins.
On the Mac and Windows platforms, users are used to paying for software. Sure, they'll look for zero cost software first but, in the end, it's not that big of a deal if they have to pull out their wallet and slap down some cash to get what they want. In the Linux world, this is most certainly not the case. Windows and Mac users are not really willing to use really hard to use or crappy software just because it's free. Linux users are. Linux users are also not averse to simply writing their own software if the itch scratches them which is not generally something Windows and Mac users can do.
All that tallies up to the fact that it's impossible at this time for an indie developer to make a living (I don't mean a few hundred bucks a month, I mean a real living where you can pay your bills and eat) by writing software for the Linux desktop. Even Ubuntu, the most popular Linux desktop in the world. Maybe one day that will change, but right now, it's just not doable. And I'm not saying that because I couldn't make money writing Linux software, I'm saying that because nobody writing consumer software for Linux is making a living doing it.
For me, the realization of that fact was very depressing. On one hand, I know that, in order to succeed, Linux needs good, professionally designed software. On the other hand, I think it's exceptionally difficult for developers to write that type of software while relying on donations (which is what the common advice is). Developers need to eat, they have bills, they have children and families. Passion and idealism is one thing, reality can be quite another. At the end of the day, at least in my case, I choose financial stability over idealism. I'd love to write Linux software full time. But I also really like to not go to bed hungry.
Unfortunately, at least for now, the two simply don't mix well.