Microsoft’s Windows 10 is hugely successful. It’s currently running on 800 million devices worldwide; on laptops, desktops, and everything in between. Despite this, it seems as if Microsoft is transitioning away from Windows and instead focusing on services and enterprise. The question is, as Windows becomes less of a priority for Microsoft, and their services become more platform-agnostic, what happens to the world’s most popular Operating System?
The answer may be, Linux. 10 years ago, to even suggest that Microsoft would move its entire operating system to Linux would be unheard of. The company waged war on the open-source (think free and community built software) community, and even the thought of creating software for Linux was treated as fraternising with the enemy. Yet, since 2014, Microsoft has been increasingly embracing the open-source community.
One of the biggest indicators that Microsoft is embracing open source is Edge. Microsoft’s web browser is transitioning from their own rendering engine to Chromium, the open-source underpinnings of Google’s Chrome browser. For years, Microsoft created and maintained their own internet browser, Internet Explorer, which was notorious for not supporting web standards, forcing web developers to create sites that worked only with their browser. (This is hurting some in-house corporate systems even now.) Now, Microsoft is going to be moving from its most recent effort to create its own bespoke rendering engine for Edge to using a rendering engine which (mostly) sticks to web standards. This means they get to benefit from the 100s of developers working on the chromium project, as well as contributing to the project with their own in-house team and help shape the project’s future. This should make Edge a more appealing browser to use.
The other indicator that Microsoft is embracing Linux? How about a slide that explicitly says Microsoft loves Linux?
Microsoft has had a Linux Distro (Ubuntu, Mint) available to run on Windows for a while now, allowing users to run Linux apps on a PC without having to restart into a separate Linux distro. It can’t run apps with graphical user interfaces, but it can run apps in the terminal, which is especially beneficial for developers. Now, developers who may need to administer a Linux server, or use an app not available natively on Windows, can do so. Version two of this technology has seen Microsoft go one step further and create its own bespoke Linux Kernel to run in the subsystem. Microsoft is essentially already laying the groundwork for their own distro. They also created a separate Linux kernel for Internet of Things devices, that helps to make appliances smart. This means that Microsoft has a foot firmly in the Linux camp.
But why would Microsoft go to the trouble of rewriting their operating system? Consumer versions of Windows have been using the Windows NT kernel since Windows 2000, and those underpinnings have been steadily upgraded with new features to what we see today. With 20 years of upgrades and maintenance, Windows has become quite bloated and notoriously hard to work with under the hood. It’s become harder and harder for Microsoft to keep Windows stable and optimise performance. What makes things worse is Windows maintains compatibility with all other versions of Windows. This means that technologies that are 30 years old can still be found in the ‘Modern’ OS. A move to a new kernel could help Microsoft streamline their operating system, and help the platform become competitive for the next 20 years.
It wouldn’t be an easy job, breaking compatibility (or making it so that current apps have to run through a compatibility layer, slowing their performance) would be controversial and could affect users. But a transition like this is not completely unheard of, one of Microsoft’s main rivals; Apple has already set a president for a full OS transition. MacOS 9 was slow and lacked a lot of the features that Windows users were accustomed to. Apple, at the time, was also in financial trouble and needed to turn things around. So, Apple bought NEXT, the company run by the previously ousted founder of Apple, Steve Jobs. They decided to use NEXT’s operating system as a foundation for the next version of macOS. NEXTOS was based on UNIX (or more particularly FreeBSD) which is open source and related distantly to Linux. The new operating system was built for modern applications, like multimedia creation and playback, publishing, and the web. Later macOS X became the foundation of iOS, the operating system that runs on iPhones and iPads. macOS X and Windows NT are around the same age, yet whereas Apple’s operating system is still fast and secure (this is admittedly to do with Apple only having to support hardware they build) it also shows that a transition could be viable, and one where they break compatibility and allow the operating system to start afresh is beneficial.
Microsoft is already looking at creating platforms that break compatibility with the majority of their legacy software anyway, and this seems like the perfect time to create something brand new. As Microsoft looks to expand the devices they support, like low-power and duel screen devices, it has been rumoured that Microsoft is going to release a stripped-down version of Windows dubbed Windows Lite. This will strip out legacy support for older apps and force you to download apps from the Window’s Store. Why not move to a new Kernel instead of trying to streamline the old one.
There is one big hurdle for Microsoft; Games. Windows has traditionally been the home of PC gaming and is the way to play most triple-A games, not on a games console. Moving to Linux *would* break native compatibility for games. Luckily for Microsoft (or unluckily if they don’t move to Linux), the Linux gaming eco-system is improving rapidly. There are far more Linux native games than even five years ago, but even more importantly, compatibility layers like Steam’s Proton and the long-running WINE emulator are helping bring games which are made for Windows, and translating them to run on Linux (to varying degrees of success). Then there’s Google’s new Stadia platform, a new games streaming services where you no longer own the console, that will run on Linux servers. Major developers who support Stadia will already be creating Linux ports of their games, so why not release them as downloads for Linux desktops?
A Windows Linux distribution could use Microsoft’s fluent design language and bring a level of polish that smaller organisations like Canonical, who make Linux Ubuntu, can’t. Starting again would allow notorious design inconsistencies in the UI and UX of Windows 10 to be smoothed out, and allow Microsoft to imagine an OS for the future. And if Windows does become Linux based, the apps that Microsoft makes could be used across all Linux distributions and help Microsoft create revenue from selling services to all Linux users.
If Microsoft were to use a Linux Kernel, it could help them create a modern OS without the cost of creating a new Kernel from scratch. It would allow them to support and shape the Linux project and bring it into the mainstream. Windows Linux would certainly help Microsoft pivot to selling services than selling copies of Windows direct to consumers. For Microsoft, a fast, stable and secure operating system based on Linux could be a way of keeping Windows relevant, and not have to commit as many developer hours to create the underpinnings of a product that they want to scale back. Although Microsoft probably wouldn’t explicitly say that.