Have a look at the following endorsement by Stephen Fry for GNU/Linux software.
Now, I'm a fan of Stephen Fry; he's one of the most interesting people walking the earth at this moment. But there is something about the message in this video which bothers me: science is open and free and so software should also be.
First of, people assume science is open and free, when it is not; at least not entirely. IEEE, ACM, all the big journals in computer science don't offer published papers for free. If you want to access this supposedly free knowledge you'll have to pay. Knowledge comes at a price, it seems. Now there are some authors which help out the issue somewhat by publishing drafts of their papers on their website. This, however, is entirely the author's choice. You either get lucky or you don't (and mostly you don't).
Second, software isn't science, nor is it knowledge. Software is a product. When someone builds a product it should be their choice whether or not they charge money for their work. Why is it ok for a contractor to charge for building a house, but not for Apple to charge for building Mac OS X ? (*) That's not to say that I feel that Apple can start telling us what to do with our own copies of Mac OS X (**), same as a contractor can't tell us what to do with our own house.
Some of my software I have given away for free, other software is what I make a living with. I think the same is true for most developers (***), and I don't see anything wrong with that. And, given his love for Apple products, I don't think that Stephen Fry does either.
Now the science behind software should be open and free, and it isn't. And that is what I feel more of us should really care about.
(*) Be glad Apple isn't charging us the full cost of building Mac OS X. Most people won't make enough money in their life to cover that.
(**) This is why I have a love/hate relationship with iPods/iPhones/iPads, and why I have switched to an Android smartphone.
(***) Then there are the lucky ones who get to build free and open software and get paid while doing so. I don't see that working for all software though...