Actually, OSS companies don't have the legal right to charge for their software. But as to where you're going, Microsoft is scared exactly for that reason -- it's hard to compete with free. That is why they are willing do go through such lengths to squash Linux ASAP, including government lobbying and large gifts ("the first hit's always free"). They know they can't keep up the loss leader for too long in order to keep up their market position. Maybe Richard Stallman was right that in the future all software will be free.
I think you missed my point. My point was that it seems rather hypocritical to say that it's "wrong" for Microsoft to give away its software, but that it's perfectly OK for open source companies to give away their software.