First off, Microsoft is not going to open source Windows. (I used to say it wouldn't make business sense for them to open Windows. These days I'm not so sure.) I do know that it would take them years and it would be really hard to do legally and logistically. See Zonker's post.
But people keep talking about Microsoft open sourcing Windows and asking why they don't do it. So what would happen if they did?
If Microsoft open sourced Windows under a standard permissive license,
- would we quit working on Linux?
- would we finally fix the blue screen of death?
- would end users benefit?
- would Windows play better with others?
- would any non-Microsoft employees fix Windows bugs?
- would we still get breakthrough projects like OLPC?
- would any of the code get adopted into other projects?
- would more people use Windows?
- would Microsoft still be able to charge for Windows?
What do I think?
- Some Microsoft technology might be adopted into other open source technologies, actually improving their competitors. However, adopting new technology into a project is never easy, so it wouldn't be as much as they might fear.
- The price of Windows would fall to zero. (And few would pay Microsoft for support.)
- Linux usage and adoption would continue at its current rate – it is the best operating system for many uses.
- Free software projects would have to get better at marketing. (They're being used because they are good technology, not because they are free. But most marketing hype is around free.)
- None of the current open source developers would move to Microsoft projects. Any community built around an open source Windows project would be a new-to-open-source community so it would have growing pains.
Ok, now back to work. Microsoft is not going to open source Windows and if they did, the world wouldn't change … much.
Part of open sourcing Windows would be to satisfy foreign governments that the US government hasn’t inserted snooping code. There have been problems with this in the past.
The problem I see with Windows is not that Windows itself is technically bad, it’s that Microsofts attitude is bad. I happily use closed-source software if I think the developers are trustworthy and don’t want to screw me over (closed-source kqemu is an example). And I try to avoid open-source software if I don’t trust the developers or think they would try to screw me over (Mono is an example). Opening Windows wouldn’t really change that.
Just IMAGINE the improvements that would happen to WINE!
The fact of the matter is that Windows relies on third party code for EVERYTHING, so you can open source it all you want and you still don’t have a complete operating system.
It wouldn’t magically not suck. In fact, that would kill it.
..which would be a good thing, in my opinion.
I suspect corporations would still pay for Windows, just as they “pay” for Linux today. There are considerable investments in Windows that people will still want to leverage, and they will want to buy from a dominant player.
If anything, it would simply serve to accelerate MS’s current move to make Windows into a more agile and customizable stack (ie Server 2008 and MinWin) and more solutions could be built on it that suit a broader range of devices.
The question is when Windows and Linux are both open customizable stacks, why wouldn’t they start to blend (or at least look indistinguishably similar)? The differentiators will then become the devices they are targeted for.
Of course I think this is inevitable anyway, not the open source, but Windows being a more customizable stack that can be targeted to solutions and devices. So rather than a distracting discussion of MS being open-source, we should focus on what we need to keep our stack relevant because Windows has a lot of resources behind to push forward faster than we expect.
If the code is in the same quality as the DirectX 6 examples, which I’ve used from the DX6-SDK years ago, than it would take YEARS to learn the code. That was one of the baddest code I’ve ever seen. And it was in my learning phase. I never saw some peace of crap in open source projects (again). (Only in my projects X-D)
I would not bet about none of the FOSS developers moving to Microsoft projects… there are FOSS guys enamored with Microsoft technologies (mono, moonlight) and FOSS guys working on Windows clones (ReactOS).
And I know people (businesses) using Linux for its price, not for its freedom – mostly due to the BSA scare. So I think there would be an user migration from Linux to Windows, while from the Windows point of view the amount it may be insignificant, it may be measurable from the Linux point of view.
Microsoft is on an ideological crusade against open platforms.
This company regards stifling interoperability as crucial for its business. The vendors will pressure them to lay open their platform and they will outsource elements of their software to open source. Apple did it, the most proprietary platform.
Don’t forget DRM, which is a selling point for MSFT for some reason.
An alternate “distribution” of Windows could just turn off the DRM features and work better than the official one. (For everyone except the most nit-picky of computer nerds, DRM and bugs are the same.)
What would change? – Nothing. Windows still sucks. Anybody who uses OSS just because it is free of charge, doesn’t understand what OSS is all about. At least in the western world, where labour is expensive.