Earlier quoted context omitted.
You're right, it would be hard to contribute to such a codebase. I think the benefits of open sourcing Windows aren't really "developers will start contributing to it" as much as "developers will start reading the source code". Microsoft would continue supporting it.
Ok. Show me a business case analysis.
Opening .Net up, I feel is for a couple reasons. First, keeping developer mindshare. Second, Keeping Azure as a first-class platform for deploying .Net code. Third, reducing costs within Azure division that are tied to Windows' licensing. The fact that it's probably the right thing to do, is probably farther down the list.