Open Source and Video Games

Richard Stallman (aka RMS) recently just gave his kind-of/sort-of approval to closed source video games. To be honest, I’m surprised that he’s actually weighing the benefits against the harms (if only we could get more politicians doing that...)

I’m not sure if RMS is “giving his permission” or not, but I see a future with games on open systems as a Good Thing.

Open source: because you have better stuff to do

No company is invincible, and every company goes kaput eventually (even if it takes a real long time).

This happens to brilliant companies, big companies, companies built with love and rainbows. The sad part is that when software companies move on, they usually leave behind orphaned software. Not just the software they release, but also the internal stuff that will never see the light of day, such as libraries, test suites, and deployment tools.

Think of the countless human-years evaporated in the blink of an eye when this happens. This is an incredible waste of human potential! This is a good reason for why companies should adopt open-source internally - to prevent needless work. But it’s not a good enough excuse for releasing their product as open-source, when it is their bread-winner.

Can code be art?

“Game art is a different issue, because it isn’t software.” -RMS

Have you ever read the Choose Your Own Adventure books? The idea behind the book is that the reader makes decisions in the book, which then sends them to different pages in the book. This sounds like a primitive form of game programming, right?

Here’s a pseudocode example (excuse the GOTO’s):

print "You're outside of a dungeon. Do you go in, or ride back to town?"
if reader_choose_to_go_in:
  GOTO page23
  GOTO page47

I think we can agree that the example above is part of a creative endeavour, and not something that is arrived to trivially. Writing good stories is hard, especially when it has to fit in a logical structure. Part of what is so riveting about the books was that the story changed based off your decisions.

These books are great, but besides the story it had to have a cover, some intro pages so it could be put in the Library of Congress, and that’s to say nothing of the physical creation of the book (book-binding, etc.). So like games, there’s the part that you want to play (the story) and the parts which you’re not really concerned about (the glue that holds the pages together).

So some code is art (where there is genuine creativity involved), but there is also a lot of code just building up to the part where you can express creativity (game controller code, installer code, multi-player networking code). This is where open-source can make serious headway (and has, with libraries like libsdl).

What are we trying to achieve with freedom?

What spurred RMS to start the free software movement was his inability to get access to the source code for the MIT AI Lab’s new Xerox 9700 laser printer (side note- it still isn’t open sourced, as far as I know). But the thing is, you don’t buy a printer just to keep it around, you use it to print things and get on with your work. But printers are not like games. Games are different. I didn’t buy Portal 2 because I needed to get something done: I bought it because Portal 2 was the thing to be done (that sounds silly as I read this aloud). Games are an end unto themselves - a rarity in software.

So how do we maximize freedom while allowing companies to keep some of their own candy? Libraries. Kick-ass libraries.

If I were in Stallman’s shoes, I would be calling all the development heads of these big game companies and asking them:

  • What closed source libraries are you using on your projects?
  • Would you consider using open-source libraries for any of your projects? Why/why not?
  • Would you consider releasing dynamically linked executables so that people could use updated libraries?

With good open-source libraries, anyone (person, company, dog) with the time can make a great game. If I were in RMS’ shoes, I wouldn’t be lecturing these companies, I would be taking notes. If RMS did more with Emacs than writing essays, the GNU camp would gain quite a few friends, indeed. Mind, with his “us vs. them” thoughts on the licensing of libraries, it’s more likely the Red Sox will win every World Series for the rest of my life (I can dream...).

Coming out of the server closet

I confess, I’ve got a Windows install that I use sometimes for gaming and Microsoft Bob (I’ll write about Bob later). It’s the last tie I’ve got to the Microsoft world, and once it’s possible for me to play games like Team Fortress 2 and Portal on all my machines, there’ll be no need for keeping Windows around anymore (except for Bob).

And I suspect I’m not the only one who feels this way.