Microsoft Windows is still the dominant desktop operating system, with over 70% market share. However, the relevance of Windows has shifted dramatically over the past decade, predominantly driven by the growth of web and mobile.
In 2001, Microsoft was best known for Windows, serving as a critical part of their business model and brand. Fast forward to 2021, Windows has been rightly relegated to a bullet point under the “More Personal Computing” business segment.
Outlined below are the three business segments used by Microsoft to communicate with their investors.
These business segments provide insight into how Microsoft prioritises its value and investments, with a clear focus on services, specifically productivity and cloud targeting enterprise businesses.
Even with this prioritisation, Windows remains an important product, installed on more than 1.5 billion devices worldwide.
As highlighted in the 2017 blog post “The Largest Git Repo on the Planet”, the maintenance of Windows continues to be a significant overhead for Microsoft.
For example, the Windows source code includes an estimated 3.5 Million files, stored in a 300GB Git repository. Approximately 4000 engineers work on Windows, producing 1760 daily builds across 440 branches.
This ridiculous complexity and scale likely contribute to some of the challenges experienced by Microsoft when attempting to deliver reliable feature updates for Windows 10, forcing them to drop “Windows as a Service”, moving to a more manageable yearly update schedule.
Commercially, consumer Windows updates are offered for “free”, which combined with the slowing PC market, erodes the return on investment.
Corporate licensing has a similar challenge, knowing that Windows is bundled as part of Microsoft 365.
In short, is there any value in developing and maintaining a proprietary desktop operating system in 2021?
What if Microsoft were to explore an open-source alternative?
Microsoft and Linux
Since Satya Nadella replaced Steve Ballmer as CEO in 2014, Microsoft has demonstrated a greater willingness to support Linux and open-source software.
With Edge being based on the open-source Chromium Project, Microsoft web apps are also cross-platform compatible, specifically Office for Web, SharePoint and the Power Platform. Gone are the days where Microsoft web apps require a proprietory browser, extensions or ActiveX controls.
Finally, Microsoft maintains their own Linux Kernel, which is used to power Windows Subsystem for Linux (WSL2). Enabling a Linux kernel within Windows was a significant step towards convergence, making Windows a POSIX compatible development environment and opening the door to native Linux containers (e.g. Docker), etc.
Outside of Microsoft, the community is also contributing to projects that aim to enable Windows software to run on Linux. The most notable are Wine and Proton, which deliver a compatibility layer that allows complex Windows software to run natively on Linux without relying on virtualisation and/or emulation. In recent months, Valve has put its weight behind Proton, setting the ambitious goal of achieving compatibility for 99% of games available via Steam.
With these examples in mind, I question if the time is right for Microsoft to position Linux as their primary desktop operating system, potentially superseding Windows.
This could be achieved through the delivery of a Microsoft Linux Distribution with a new Desktop Environment that mimics the Windows 11 UI (excluding the legacy UI components).
To the end-user, this new Desktop Environment would look and feel like Windows 11, but behind the scenes, Microsoft would shift from owning/maintaining the full-stack in favour of open-source collaboration.
Over time, I believe this would allow Microsoft to dramatically reduce the overhead associated with maintaining a desktop operating system, as well as drive positive public relations by embracing and investing in the open-source community.
I am not suggesting this approach would be easily achieved, requiring significant upfront investment from Microsoft to deliver a Linux Distribution and Desktop Environment, whilst also contributing to popular community projects to ensure software compatibility, etc.
Outlined below are five areas I believe would require focus to successfully transition to Linux.
- Linux Distribution - Deliver/Contribute
- Package Management - Contribute
- Desktop Envrionment - Deliver
- Native Software and Drivers - Deliver
- Software Compatibility Layer - Contribute
Ignoring the shareholder and community ramifications, which I suspect would be polarising, the sections below include some thoughts regarding each area.
Although Microsoft maintains their own Linux Distribution used for Windows Subsystem for Linux (WSL2), I would recommend they base future development on an established foundation, specifically Debian or Arch Linux.
Knowing the primary audience for Windows is enterprise business, I would recommend Debian, which places a heavy emphasis on stability through their long-term support release model.
However, I do not believe the “Four Foundations” of Fedora align with the established license-based business model used by Microsoft, which is also still heavily dependant on proprietary software.
With Debian as the base, Microsoft could also exploit this opportunity to make the operating system immutable, as outlined in the article “Immutable OS”,
In short, an immutable operating system makes the root directory (first or top-most directory in a hierarchy) read-only, ensuring it cannot be modified and therefore proactively protecting the core.
This approach would be a significant step forward for security, stability and performance, delivering a foundation that would be immune to “system rot” and accidental/malicious interventions, which have plagued Windows since its inception.
Assuming an immutable operating system, Microsoft would need a package management capability that supports dependency isolation (containerisation).
Therefore, I would recommend Microsoft contribute to a project like Flatpak, which would also benefit the wider Linux community.
Although Flatpak has its own set of challenges, I believe Microsoft, with its software expertise, experience and resources could accelerate the maturity of the project, delivering against the promise of a universal software packaging capability with a focus on security and privacy.
In my opinion, they could take the Windows 11 UI (excluding the legacy UI components) and build a new Desktop Environment from the ground up that is familiar to Windows users, whilst delivering improved performance and consistency.
It would also be an opportunity to explore a modern programming language such as Rust, which emphasises performance, reliability and productivity, helping to future-proof the Desktop Environment.
It is likely Microsoft would want to protect this Desktop Environment, positioning it as a differentiator from other Linux distributions (although it would be great to see them fully embrace open-source).
Native Software and Drivers
As previously stated, Microsoft has come a long way with Linux support, specifically with Visual Studio Code, Edge, Teams, etc.
In my opinion, natively porting the Office 365 suite to Linux would have the single largest impact on driving adoption. It would also be a mistake to proceed without support for these applications, knowing that productivity is a key strategic driver for the business.
Outside of first-party software, third-party software has also made great progress over the past few years, as highlighted in the article “Software List 2020”.
A few notable exceptions include Adobe and Serif software, which would require investment and time to port, although could potentially be incentivised and even subsidised by Microsoft to accelerate the outcome.
Regarding drivers, Linux has a surprisingly robust foundation, especially with Intel and AMD hardware and it is arguably more compatible than Windows when it comes to “out of the box” support for peripherals such as printers, scanners, cameras, etc.
However, similar to third-party software, there are notable exceptions. For example, although NVIDIA does provide proprietory drivers for Linux, they are not comparable to the Windows drivers.
With that said, if Microsoft were to position Linux as their primary desktop operating system, I suspect this story would change very quickly.
It is fair to state that with any transition of this nature, some software would be left behind. We have seen this with Apple on several occasions, as they transitioned from PowerPC to x86 and x86 to ARM.
This is where robust a compatibility layer can make a big difference.
In the context of Linux, I would recommend Microsoft contribute and invest in Wine and Proton, helping these projects deliver a greater level of compatibility through native API mapping.
As outlined in the article “Proton - The Trojan Horse”, Proton focuses on graphics APIs, achieved via Direct3D-to-Vulkan translation layers, specifically DXVK for Direct3D 9, 10, 11 and VKD3D for Direct3D 12.
The goal of Proton is to deliver compatibility and (where possible) native performance.
With the recent backing of Valve, Proton becomes a viable (maybe prefered) approach for the development of games on Linux. With official backing and support from Microsoft, I am confident the experience could be improved further, delivering acceptable compatibility and performance for mainstream users.
Although virtualisation and streaming services are not viable for all scenarios, they are becoming increasingly competent and would offer native compatibility, knowing the server-side software could run native code compiled for Windows.
In summary, I recognise that this article does not thoroughly detail the challenges associated with Microsoft attempting to transition to Linux as their primary desktop operating system. It ignores many major barriers and oversimplifies key constraints.
However, I do believe it is an interesting prospect and with the maturity of Linux in 2021, more viable than ever before.
It could even make good business sense for Microsoft, allowing them to focus on their strategic priorities.
Do I think Microsoft will transition to Linux as their primary desktop operating system? Probably not.
Do I think Microsoft should transition to Linux as their primary desktop operating system? Maybe! As long as they do not hurt the FOSS community.
Assuming Microsoft had the appetite to explore this transition, I would highlight the following value proposition.
Microsoft could reduce the overhead associated with the development and maintenance of Windows, allowing them to focus on their strategic priorities, across Productivity, Cloud, Information Security, etc.
Microsoft could deliver a more secure, reliable, and performant desktop operating system that is easier to deploy, support and use. It would also promote transparency and privacy, potentially helping Microsoft avoid future litigation.
Microsoft could use the transition to drive positive public relations by fully embracing and investing in the open-source community, encouraging contributions from diverse talent around the world.
Regarding the return on investment, which is likely what most shareholders care about.
If we take the 4000 engineers working on Windows and assume an average wage of $50,000 per year, that equates to a staggering $200,000,000 per year (without considering other dependencies).
If Microsoft could re-purpose a percentage of this investment into their strategic priorities, they would have a compelling business case.
Finally, regarding a potential go-to-market strategy, I would recommend Microsoft perform this transition as a true open-source project, where the development is transparent, promoting input from the community.
With this in mind, it would make sense to deliver it under a separate brand (maybe EdgeOS) to help differentiate it from the NT-based versions of Windows. This approach would allow the Microsoft Linux Distribution to co-exist with Windows until it is ready for “prime time”.
This concludes my thought experiment (for now). I do not claim to have the required expertise, experience or situational awareness to fully comprehend this topic. Therefore, please consider it a collection of thoughts, which can be fun to explore.