The arguement for open source everything is a waste of time. Not EVERYTHING should be open source. Microsoft shouldn't have to release thier source code to any product.
However, when they are going out and suing companies for using linux in thier products as a result of software patents that are vauge to say the least, they should have to prove that there is in fact some sort of infringement.
If I code a program that does task A, and Microsoft has a program that does task A, Microsoft should have to at least show thier hand (at least to a judge) to prove that I actually infringed on thier intellectual property.
The problem with the way software patents are bieng approached is this. If thier program uses Algorithm A to do the task and a competitor uses Algorithm B, Microsoft can still wave this magic piece of paper around that says, Algorithm for doing task A. No matter if a companies code looks nothing like thiers and uses a completley diffrent method, Microsoft can still force me to pay them royalties, or worse, force thier competitors out of business by preventing innovation.
In the end, it's the end user that will suffer. No matter if a great new way of doing something is created, M$ just has to send a lawyer to make sure that we, the users, never get it.
So is keeping thier source code hidden from even the courts in the best interest of M$? Clearly yes. Will it prevent competition and innovation in software? I say yes.