Who is going to support 20 million lines of code other than Microsoft employees as amateurs bungle their way through thirty years of patches for backward compatibility wrapped around stupid and clever things OEM's and third party developers did to get their code to work?
It's not like Linux because there isn't a team of experienced volunteers already working on the code base and the Windows code base contains a lot functionality for business reasons that Torvalds has been in a position to not just say "no" but to add "and go fuck yourself."
The answer is that nobody will support it as-is... they would just use the source to make or improve other things. Because this is what would be in the interests of the users. Even if it meant Windows got buried.
But this is strictly imaginary because I doubt that 20 million lines of code are all under the unilateral control of Microsoft.
I think open source is great and I even admire Stallman because of not despite his single mindedness. I also don't think Windows being closed source is problematic. Choice is good and Windows is able to solve a particular set of problems efficiently by virtue of Microsoft's business model.
That model fit my needs and interests for many years. Less so now because my needs and interests have changed to where the tradeoffs Linux and Open Source impose are outweighed by their advantages. But other people have other needs and there are already enough first world problem zealots in the world.
>Everything you can do with closed source software you can also do with open, and there are things you can't do with closed source.
This is just not true. Show me a completely open source smart phone... thing is you can't, the baseband and radio will always for sure be closed source. There are markets where having knowledge that your competition doesn't is vital to success, that is why some things will always be closed source.
A closed source project can license closed source technology and save development costs while avoiding putting 1.0 code for an edge case into their core product. The exchange of money helps keep the interest in support, maintenance, and extension by those who first developed the technology.
Open source projects can also release v1.0 with bugs, it's not like there is some Open Source Police stopping you from doing that. You can also pay for support of open source software, and that benefits everyone and not just the company that happened to have money to invest in it.
There's still money licensing Fortran libraries that have been around for decades. They are fast and good and cheaper than achieving the same levels of fast and good from scratch. There's nothing intrinsically wrong with using some gem written over a weekend of craft beer. It just may not make sense to bet a business on it even when you can read the source code
StackOverflow is an example of why the choice is beneficial. The source code being proprietary is irrelevant because the content is Creative Commons.
No one "supports" it. People will improve the bits that bother them. In the aggregate, these activities amount to more than you could ever pay to have done.
The beauty of open source model is it gives the desperately motivated the means to fix their problems in a way that benefits everyone.
It's all in isolation unless the trunk takes pull requests. Forking doesn't change that either. There's still got to be someone evaluating changes in light of their impact on 20 million lines of code.
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.
I'm pretty sure the likes of Dell, Lenovo, Asus, NVidia and AMD would simply fork Windows for their own usage, and stop paying licensing... that would mean huge gaps in Microsoft's income... bad idea.
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.
It's not like Linux because there isn't a team of experienced volunteers already working on the code base and the Windows code base contains a lot functionality for business reasons that Torvalds has been in a position to not just say "no" but to add "and go fuck yourself."