I have several reasons why most of my games and programs are Open Source. Here are some of them.
Let's consider an example. Why is Formido available for Windows, Linux, MacOS X, BeOS, Xbox, AmigaOS and even OS/2..? The answer is obvious. Should I have kept it closed source, it'd be for Windows only, and maybe Linux.
Here's another example. Recently I was contacted regarding a bug in Funguloids that prevented it from working with Ogre versions 1.4.6 and newer. I had no idea of this bug, as I haven't personally touched the game since its last release, which uses Ogre 1.4.1. Things have been happening on the community front however, as Funguloids has found its way into Ubuntu Hardy (for which I'm very grateful! ) After exchanging a few e-mails, the person who reported the bug presented me a patch (an one-liner, even) that fixes the problem. I didn't even get started examining the issue myself! Very nice.
Also, as I have learned a lot by reading source code, I feel kind of obliged to do the same.. I'm not worried about people stealing my code – the code's not that good to begin with.