This article has a good analogy: Normal software is like selling Coke - you have the secret formula and you're trying to get it to as many people as possible. Open Source is like selling bottled water. People have it, but you're still selling it to them.
This article gives some information about licensing etc., but it generally says the same thing. You're still selling something that's free. The only reason people will be buying it from you is because your bottle looks snazzier (easy to use Interface), they can get your brand everywhere (good distribution), and you provide cool things with your bottle (accessories, tools, training, support...).
I'm completely for open source, mainly for the reason that it produces better products. If everyone knows what the code is, people will be able to detect errors and say "Hey, I think you should have written this here...". That way I have to be conscious about the quality of my programming - it's not possible to write bad code (think of all those glitches and blue screens...) and get away with it. Also, open source would mean other companies get to learn more about the inner workings of my application, and develop better accesories for it.
Well Open Source makes good business sense to me for now. Let's see if I find any shortcomings.