The other day, I was playing Spider Solitaire on an XP box. To be honest, it was pretty fun. Then, I ran into a problem:

(OK, OK, I couldn’t resist the “Fail” in there, I’m sorry)

Now there’s two ways of looking at this. One is that I was too dumb to think ahead, and save enough cards to fill up all the spaces, and proceed to the next round.

The other way is to say “What the heck? What idiot would make a game with an impossible situtation like that!? One in which, if you do too well, you can’t win!?!?!”

Anarchist that I am, I picked the third way, which is: On a game designed to be simple, easy and fun–one that you’re not even supposed to take seriously, couldn’t somebody’ve had the grace to add the few extra lines of code which would go something like:

if active_cards < spaces

{

fill_spaces_to_proceed = 0; //Disables the requirement to fill up all the spaces

}

OK, OK, I’m sure I’m oversimplifying it (and don’t even say a word about my C skills…or lack thereof). But the point remains–simple error-catching would’ve made me, a paying customer, a happier camper.

Just for fun, let’s contrast this to OpenSpider, a fictional open source clone of Spider Solitaire. If I discovered this bug while playing OpenSpider, I’d pop over to the developer’s website, and send a polite email saying that I really thought it’d be better if it was the other way. Better yet, if the guy had Bugzilla installed, I’d just file a bug.

What you’re probably thinking now is that I’m making a mountain out of a molehill, and that it’s just a minor irritation in a very minor game (what’s more, I’ve been playing it for years, and this is the first time it’s happened to me). However, I think it serves as a good microcosm for one of the differences between free software and freeware.

With free software, the developers are legitimately interested in making a good product. I could expand on that a lot, but that’s really what it boils down to in this case.

With freeware, there’s always some kind of a catch. A lot of freeware is merely some kind of stunted trial version, and the developers are hoping you’ll spend some cashy money on the full/professional/etc. version. In other cases, like this one, freeware is a way of binding you to something. If Spider Solitaire was open source, there’d be a Linux/BSD/Mac/Solaris/… port in days. But since it’s proprietary, only Microsoft can have it, and only people who pay through the nose for Windows can play it.

Granted, Microsoft is doing a terrible job on providing free Windows-only perks. The few games, Notepad, Wordpad, Calculator…there are better open source versions (AisleRiot, gedit, gedit/OpenOffice, any one of a number of calculators…) If Microsoft was playing more aggressively, they’d include stuff like a dumbed-down version of MS Office–not a 60 day trial, but a fully working, limited-feature freeware version, to strengthen the chains between people and Windows. (Un)Fortunately, they’re too interested in the revenue they get from selling full version of Office to try such a stunt. Enter OpenOffice.

Now let’s take a look from the other side of the aisle–what if all Linux distros, and everything that came with them, were GNU/Linux-only freeware?

Some people would switch to GNU/Linux because of Firefox alone (OK, so maybe it’d be a dual-boot, but there’s no shame in that). Once you throw in OpenOffice, Thunderbird, Pidgin…the Ubuntu servers would go down with .iso downloads, and ShipIt would close up shop.

Now obviously that’s not happening–there’s enough open source zealots out there (for example: myself) to make sure it never does.

And that makes me feel a lot better about losing a Solitaire game.