Why Windows could move to a Linux kernel

For the past few months I’ve been thinking over an idea that initially sounded crazy, but the more I think about it, the more it makes sense. The idea is that Windows could become a GUI layer and set of services that run over the top of a Linux core. A kernel with it’s origins in the 1970’s could replace one that is twenty years younger.

Why would this ever happen? It’s fairly safe to say it wouldn’t be for technical reasons. Changing to a Linux kernel wouldn’t suddenly grant superpowers to Windows. It would be pretty much business as usual. You could argue the pro’s and con’s of the Linux kernel vs the NT kernel forever, but although they are architecturally different, the user experience is now broadly comparable (although it would be a considerable upgrade to gain the improved security and file hierarchy of Unix systems).

No, this would be a business decision. Microsoft is facing the problem of a declining market share for desktop computing. The rise of mobile devices has eaten away at the size of the desktop/laptop computing market, and this looks set to continue. OEM hardware manufacturers have rapidly shifted focus towards mobile devices. Maintaining a full stack proprietary operating system like Windows is expensive. Especially with all the backwards compatibility they have to worry about. It would be much cheaper to just use open source foundations and build on top of that.

In this new world, Microsoft has already made big changes to what Windows is as a product. Windows 10 is billed as “the last version of Windows”, because from now on it will be provided as a service — a continually updated product, with major version releases a thing of the past. Another interesting change with this new delivery model is the reduced testing effort, which is itself a cost cutting measure. Windows releases are now signed off based on telemetry from beta testers in the Insider programme, rather than internal QA teams. The quality and reliability of early builds of Windows 10 suffered as a result of this new testing process.

So how would the Linux transplant idea work? Well, an engineering task like replacing the Windows kernel is certainly a massive job, but Microsoft are the best in the industry at this. They made 32-bit software run brilliantly on 64-bit Windows years before Apple did the same trick. They also pulled off some pretty crazy virtualisation tricks with the Xbox One, running two virtual machines on top of a hypervisor. On the same machine, they got software written for the PowerPC CPU architecture running under emulation with outstanding results. So Microsoft could pull this off, of that I am certain. They would run the old NT kernel in a VM on top of Linux, and run existing software inside that. Slowly, software would be rewritten to run against the Linux kernel and custom Windows-specific layers above that.

The end result would be better alignment with the other two desktop operating systems — Linux and macOS. It would reduce maintenance costs for Windows significantly, and make life a lot easier for power users such as developers.

Perhaps the Bash Shell for Windows introduced with the Windows 10 Anniversary Update is the first step in this direction.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.