GNU/Linux is the poster child for the free (as in speech) software movement. It is highly reliable and capable software that has beat out proprietary operating systems in fair competition, proving that people will in fact produce software even without the incentives provided by copyright law. If there’s a bug in the program or a missing feature, someone will be annoyed enough and competent enough to fix it out of self-interest, and everyone will benefit from the improvement. At least, that’s how GNU/Linux developed, and the theory is that the same principle will apply to any sort of free software. But does it? Will people voluntarily improve any program they use?
Games are probably the kind of program that would work least well with the free software model. Nobody has to play a game, so nobody will be forced to fix a bug in order to do his job. And if the sum of the experience of fixing the program and then playing the amended version isn’t better than the experience of playing the game as it is, it won’t be worth it for anybody to work on it.
There are free games, though, some of which are apparently pretty good. Battle for Wesnoth, for example, is a free, turn based stragegy game licensed under the GPL. It is “the most played turn-based strategy game on the Linux platform, being probably the most polished, full-featured and addictive game in its category.” I’m not surprised that a turn-based strategy game has been successfully developed as free software; the programming challenges are less about window-dressing and more about the underlying gameplay. And that kind of coding can be fun in itself.
I am by no means an expert coder, but a few years ago I did write a blackjack game. I wasn’t collaborating with anybody, but the free software model did apply, to an extent. I found a shortcoming in the existing software (most computerized blackjack games shuffle the deck after each hand rather than dealing out six decks of cards before randomizing) and I took the time to fix it. I tried to build as many features as I could, but I’m sure I missed some; I’m also sure that, if I put the source code online, someone would be interested enough to fix it. (I’m glad to distribute the source code [it’s written in Java] if someone tells me the best way to do so)
I’m less sure that someone would take the time to design a really good GUI. To me, at least, designing user interfaces is labor intensive and boring- not worth the time. I may just be projecting my own biases here, but I suspect that fewer people will voluntarily work on the tedious but necessary tasks that are necessary for some types of games.
Of course, with a large enough user base, there will be some people who really enjoy doing graphics. But still, on average, free software will be weaker in these areas. There’s a certain amount of boring but necessary work that must be done, and most of the time that means you have to pay someone to do it.
Free software can be produced by paid programmers. Quake and its sequels are an example of software licensed under the GPL but produced by a commercial company. My point is only that the model of “the users will do a better job than any defined group of developers” works better for some tasks than for others.