Re: FREE or SMALL PRICE
There are lots of models real Open Source developers use to make money.
Many are either employees or owners of companies with a product that is sold. Many times it's a company which sells commercial software and then the owner chooses to Open Source a product. Think Netscape. It's actually pretty common if you consider libraries and smaller tools.
Some are consultants who are paid to either write custom commercial software by the hour, or are paid to install and adapt their own or other Open Source product at some company's site.
Some make the software free and then write a book or series of books to sell to finance their coding.
I work for a company which sells commercial software, has published some of its libraries as Open Source, has actively developed in some projects and encourages its developers to participate in Open Source. Mostly our contributions have been in groovy/grails development, and we sometimes create a tool that makes our commercial endeavor easier and contribute that tool so others can do the same.
Keep in mind that there are many Open Source license models, even though most people seem to think GPL for some reason. You need to choose the license of each package you release. You need to know how the license model works for any library you use when writing any software. It's not nearly as hard as it sounds.
While you can't sell the software itself, you CAN sell your time and expertise in installing it somewhere, or modifying it for somebody's personal use. Just be sure you understand the licenses involved and whether you need to have a distinct line between the Open Source project and the commercial software.
Gaming is technically the same scenario, but keep in mind that gaming is much more challenging than nearly anything else you do on a laptop or desktop computer. It's also one of the most competitive markets there is. If you don't have a killer product and a lot of experience, I wouldn't plan on going there as your first endeavor.
Help stamp out MBR partition tables. Use GPT instead!