Sonntag, Juni 05, 2005

Mac Developers Are Selfish Bastards

At least those who develop shareware apps.

Let me backtrack a little to explain. Two years ago I bought an iBook, mainly for three reasons:
  • I wanted a laptop that was both silent and had long battery life. At that time Centrino was just coming out and pretty expensive.
  • Years ago a good friend from High School had boasted about how easy it was running Debian Linux on his original iBook.
  • I liked the style. A former college once called it a Pimp Notebook and that name simply stuck.
Being the total Linux Freak, I immediately shrunk the HFS+ partition and installed Debian unstable on the iBook. Everything worked perfectly. In fact, I didn't have any more hassels with Linux on the iBook than I had had previously on my stock destop PC and these were usually caused by running the bleeding edge.

Well, everything except two little pieces. For one, I never got the external monitor to work and secondly, the built-in microphone simply didn't exist under Linux.

All was well for a year or so. Then Skype came out. Suddenly the fact that the mic didn't work was extremely frustrating.

Skype -- my Mac OS X killer app.

So one night I booted into OS X to figure out if I could manage to get along with it. Fortunately I use Eclipse at work, so my ability to earn money wasn't threatened by the switch. Naturally I started to fiddle around with the OS and after a couple of days I was hooked. Within a few weeks I had moved all my data over to OS X and nuked the Linux partition. Since the iBook is my only computer (and I'm forced to use Windows at work) this meant good-bye to Linux -- at least for the time.

I don't want to digress about how great OS X is. It really is, but this article is about Mac developers who write shareware.

Contrary to popular belief there's a shitload of great software available for the Mac. And, in line with the prevalent attitude at Apple, most of it is very polished.

And this is were my sour grapes with Mac developers come in. There's probably as much software available for the Mac as is packaged for Debian. However, in Debian everything is Free Software. Free to use, free to share, free to contribute to. On the Mac, while there are notable Free Software apps, most of the programs available are crippled until the user fronts some cash or enters a stolen license key.

Little Snitch -- nice little app with a horrifying user experience. On Linux I could build such a thing in maybe half a day, although it probably wouldn't be shipable and definitaly not as polished. But then on Debian I never had the need for such a program, because I generally trusted the Debian packaging.

Linus Torwalds of Linux fame once said in an interview that shareware is the worst of all software. He argues that you get none of the benefits of actual commercial software (he mentions finishing touches, although I would add that extensive support is also rarely available), and are also left without the benefits of Free Software, namely the fact that you can use the software in any way you see fit and that includes taking it apart and building upon it.

Being even more a Free Software zealot than I was a Linux Freak I very much agree with that statement.

I imagine three counter-arguments from shareware developers:

  • It's my software, I can do what I want with it.
  • Programmers need to make a living, too.
  • I only want some compensation for my hard work.
Can't argue with the first.

The second statement is in my opinion misleading. Most software produced is in-house software that is never distributed to the general public (at least not directly). This is where the money is in, not commodity software. The obvious exception here is Microsoft, of course.

And while the the third is understandable, I think it is dishonest. You already have received a huge amount of compensation, namely in all the Free Software you use every day. That includes gcc to compile your program, CVS to manage your source, Wordpress to present your development blog, Apache to host it, the BSD utilities that make your Mac work under the hood, sendmail/postfix/exim/qmail/whatever that makes sure the release codes arrive in your users' inboxes ... the list is endless.

Imagine you had to pay for all this work you're now receiving for free. Developing Mac shareware would be prohibitively expensive. In fact, doing anything on a computer would be.

So what do you do when somebody does you a big favor? You PayItForward. You reward that someone by contributing back to other people. This is what the Free Software community is all about.

This is the reason why I write Free Software and why I expect the same from my fellow programmers. I want to give back to the community as a token of appreciation for what it has offered me. Granted, I don't have the freedom to decide about the code I write for a living, but it is one of those in-house projects I mentioned, that is never going to be packaged into a shiny box or rot on a dusty shelf in a store.