Adding numbers here:
Microsoft's employees (those that are actually employed by Microsoft, not those who work for Microsoft by contract which would be a number triple the Microsoft employee count) gather $2.5 billion dollars a year, at low-average, just in salaries. (Actually low-cap $2,475,000,000.00.)
That's just what it costs to pay their corporate permanent staff, for a year.
If that's all they cared about having to pay for, they would have to sell 16.5 million copies of the XP OS upgrade to cut even.
Then you start talking about all the contract employees (who get paid by Microsoft).
$
Then the cost of development.
$
Cost of marketing and design.
$
Cost of user testing, market testing, research.
$
Distribution and sales, licensing, piracy protection, legal support, legal actions, customer support and service...
$$$
Then the cost of building side groups for innovation testing and off-stream analysis and design.
$$
Seems like the costs keep adding up, and up.
Then someone comes along and says: "Hey, we should stop making people pay for our software, packaging, etc...and just run this whole company off of customer-support phone-call profits and...and...
Well lets see. The forums are free. The security patches are free. The user-knowledge-base is free. Wait, there's even a free customer-support phone-number!
Guess we could run this operation off of the hot-dogs we sell in the cafateria."
I suppose they could go back to when the Microsoft OS was able to be repeatedly loaded on multiple home machines with just one copy...I'll just load it on all my machines at work, my neighbors can have it, my relatives, the guy in the lobby, my gf's extended family...all for $199.