Hacker News new | ask | show | jobs
by gingerbread-man 2748 days ago
Here's a dopey idea: What if Microsoft open-sourced the Windows NT kernel? (While retaining some proprietary drivers, etc..)

If handled well, a community would blossom around "NT," with multiple "unofficial" distros (maybe one with full POSIX compatibility), and lots and lots of happy developers. If things went really well, they might even achieve the resources necessary to create Windows Phone 2.0.

Microsoft could still make money from consumer/enterprise support plans (i.e. AppleCare), and via commissions on sales in the Windows app store. And an open-source Windows could lead to growth as a cloud OS, driving revenue for MS Azure.

Open sourcing the Windows kernel would be the ultimate culmination of Microsoft's turnaround, and IMHO a fair penance for evil deeds past. Nothing could do more to invigorate the open-source community. I would be so delighted I might even start to use Bing! It's never going to happen, but it is a very pleasant dream. Far better than "One Kernel to Rule them All!"

8 comments

Amazon and Google are likely to make cloud-ready NT distros, cutting off Microsoft's last cash lifeline on rival clouds. So it would have significant costs.

On the other hand, Flash once had API dominance and lost it as they (fortunately!) abdicated to HTML5. MS is now extremely aware that Win32 isn't the future - they even cut the OS into pieces and reorg'd NT under us (Azure.)

.NET Core is the way forward for the company. I could totally see us releasing "NT Core" without the Win32 userland, and WSL, Modern and .NET Core as the official personalities.

We could even release the shell that way. But it would pull a bunch of developers away from new scenarios to put onto an ever-shrinking desktop market.

Most likely we'll just see all new products become cross-platform and the execs will wait until a new "iPhone moment" comes along to get ahead with consumer OS.

But it would pull a bunch of developers away from new scenarios to put onto an ever-shrinking desktop market. Most likely we'll just see all new products become cross-platform and the execs will wait until a new "iPhone moment" comes along to get ahead with consumer OS.

I'm still fascinated by that. The iPad Pro and the Chromebook have taken away a lot of windows' traditional market. But ... you look at how people are using them, and they're using them as laptops. Why couldn't windows take that place?

The logical answer is: because of all the legacy. Windows is too easy to break (even microsoft can't upgrade it without breaking it), and too hard to use, and it needs major investment to fix those problems. So, why stop investing in windows when it's the lack of investment that makes it unable to compete? I'm still struggling to understand that one.

It seems microsoft's management has concluded they can't and won't compete after windows 8 flopped, and they'll just stretch out the decline of windows as long as they can and hope to catch the next wave. I'm sure google and apple love them for doing that, but I still don't quite understand it.

Amazon has supported Windows VMs since at least 2010, the first time I did a Windows cloud based deployment.

So far it hasn't been that interesting for Windows projects.

Regarding the ever-shrinking desktop market, laptops and 2-1 are "desktops" as well.

Plugging phones into docking stations will never caught on.

Whats your logic behind that? Current phones with 10gb of ram and 8 cores already surpass average computers. Its only a matter of right user interface.
It's not about the hardware (who am I kidding there, of course it is... ARM SoC's, blech). It's about the software side of the equation. Maybe Purism can pull this off, but Android definitely can't (and not for lack of trying, see Samsung DeX), and iOS is going the other way, with macOS getting more iOS-like over time.
at some point we're going to have to converge our operating systems so there's no differentiation on desktop or mobile, and usable for both developers or phone users.
This is commonly suggested and I don't even think from a business revenue standpoint it would be a big deal for them. The biggest issue is that it is a 20 year code base with 20 year old bugs and open sourcing the whole thing would immediately generate open season on Windows boxes from a security standpoint.

You'll see Microsoft open source new things as they go, and probably smaller components as they rework them, but I doubt you'll ever see a truly fully open source Windows, just because of the amount of work involved.

Security researchers don't strictly need sources. An experienced reverse-engineer could read asm like you would read C. So for some people Windows has been open sourced in some way for a long time. They don't apply obfuscation techniques. I don't think that there will be a lot of bad bugs.
A very good point. But if that were the only impediment, I suspect Microsoft could come up with a rollout plan to mitigate (though not completely eliminate) this problem. Releasing a "preview" of the kernel source to trusted security researchers and academics might be a start.
Believe it or not, trusted security researchers and academics already can request parts of the Windows source code, under non disclosure agreements, of course.

But it's one of the largest codebases in the world, AFAIK, and it's immensely complicated. It's hard to quantify just how much work would need to be done to verify it was even marginally safe for release. And there's tons of licensing related issues as well, as far as where Microsoft may have gotten some of the code inside Windows.

It's not impossible, but it's a big gamble, and Microsoft is not a company that gambles big. It's not really in their culture to do what you're suggesting. I would be thrilled if they did, but I'd be jaw-droppingly shocked if it did.

I think that underestimates how truly difficult it would be. How many machines are out there in the world still running NT4? Identifying bugs is all well and good but ensuring the fixes go where they're needed... that would be a whole lot more work.
You mean the same way how a community, distros and developers blossomed around Darwin and OpenStep?
Even shared source would be great. You can see the code, you can audit it for security or privacy issues, disable parts you don't like and distribute modified versions to people who already have a licensed copy of Windows.

That won't dry up Microsoft's revenue stream, and is a great middle ground between open and closed source.

Thats been true since early 2000s. Microsoft shares the Windows source code since over a decade, I don't understand why some claim it's not available and entirely closed down.

It was 2002 when I first read some of the Windows code via official Microsoft channels (Shared Source license) to unterstand some of the quirky behaviors.

Can you give me a link where I can read the entire Windows 10 source code, make changes I want, and create a build, and redistribute it to people who already have a license?

I only came up with https://www.microsoft.com/en-us/sharedsource/ which has specific categories like enterprise, government security, OEMs, etc. I'm looking for something available to everyone.

> What if Microsoft open-sourced the Windows NT kernel? (While retaining some proprietary drivers, etc..)

ReactOS exists today, and how many people care about it? Does NT even matter, except as a basic layer for the Win32 and UWP platforms?

There would be nothing to stop anyone else launching their own app stores, and other cloud vendors would immediately be better able to compete with Azure, so both those streams of revenue would be dramatically weakened, not strengthened.

Enterprise support contracts are mainly about OS upgrades and patches. That would probably stay the same for MS, they would dominate in the same way Red Hat dominates the Linux enterprise. I don’t think this would be strengthened in any way though. It would be pros and cons.

I suspect not legally possible. There is a lot of code in the NT kernel from various other companies that at least at one point was under NDA, and a lot probably still is.
That was true of Solaris too, and they managed to work through that.
I imagine that MS could be much further down this line...
With heavy consequences for Sun's viability.
Citation needed that opening Solaris had anything to do with Sun getting sold off.
It certainly did not improve sales.

I bet no one that downloaded it has spent a dime to Sun.

> It certainly did not improve sales.

It was a free download for decades before being open sourced. From what I heard, it increased support contract sales quite a bit, letting companies feel that that weren't necessarily tied to Sun for Solaris, but knowing that Sun was the best outfit to support it.

> I bet no one that downloaded it has spent a dime to Sun.

You would lose that bet hard. They made their money on hardware sales and support contracts.

A family member of mine was the head of Federal Sales for Sun at the time.

Nah, SUN was buried under Intel's fab capacity. A big tsunami of cheap silicon rolled in -- Linux surfed it, SUN wiped out under it.
I don't think you need an open source kernel for POSIX compatibility, afair NT allows different OS "personalities" to coexist and you could write a POSIX compatible one as a kernel module.

But I don't think that has more interest than a Linux compatible subsystem, which they already have.

I was thinking more that an open-source kernel could result in unix-y distros e.g. Arch Windows.
Yeah, because you know what'd be really great? If Windows had the same fragmentation mess that Linux Desktop does.
One's "fragmentation" is another's "choice".
> I still wish we were better at having a standardized desktop that goes across all the distributions.

A standardized desktop can be used just fine by all of Ubuntu, Fedora, and Arch.

Yeah, and one man's "kink" is another man's "getting kicked in the balls".