December 17, 2023

Introduction

Let me start off by saying this is completely an opinion piece article.

Microsoft has given no public indication of doing anything I am presenting in this post. These are just observations I have made and opinions I have of what would be a smart way of doing things.

That being said, this post covers why I think Microsoft should introduce a Linux desktop environment. I am sure there are reasons why Microsoft has not done this so far, but I think the technology and timing is starting to align to where this would make sense.

If you already know about Linux, feel free to skip the first couple of sections of this post, or feel free to read it all the way through and leave me any feedback you may have. I have been daily driving openSUSE Linux for about 6 months at this point, so I am sure there are many things that I yet do not know.

What is Linux?

Pretty much all computers need to have some way for humans to interact with them, manage different hardware resources, schedule tasks and other complex things the computer needs to do to run. This is done through software called an operating system.

There are many different operating systems out there, but there are a few that have a majority of the personal computer market. One of the largest operating systems for personal computers and for many business workstations is Microsoft Windows. It has been around for a long time and has went through a few rebuilds at this point. Over the years it has established itself as the defacto operating system most home users use on their desktop PCs.

There are many other operating systems out there besides Windows as well. One of the largest is an operating system called Linux.

The Linux operating system started out as a hobby project of Linus Torvalds. It has since became a widely used operating system. It is so widely used that it runs a large part of the Internet.

Microsoft Windows is a proprietary operating system where a single company builds it, bundles it, distributes it, and licenses it. When you buy your copy of Windows, you are not actually buying the operating system, you are buying a license to use the operating system. Linus Torvalds has taken a different stance with Linux and made it an open sourced operating system. One of the best parts is, unlike Windows, it is free. Not only is it free, but since Linux is open sourced, anyone can take the Linux kernel and build their own operating system around it call a distribution or distro for short. These distributions include necessary tools for updating the software used by the distribution as well as tools that allow you to manage your instance of Linux.

Distributions can then be customized, repackaged, and redistributed as yet another different distribution. For example, one of the mostly widely used distributions called Ubuntu is based off of the distribution called Debian. In fact, most distributions are based off of another distribution. There are several base distributions that most other distributions use as a base distribution in some form or another. Some of these base distributions that I know of are Red Hat Enterprise Linux (RHEL), Debian, Arch, and SUSE. I am sure there are many more, but those are the main ones I hear about.

Some other places you will find Linux is on laptops, mobile devices, and cell phones. The operating systems of Android and ChromeOS are running the Linux kernel.

What is a Linux Desktop Environment?

I mentioned previously that distributions include tools allow you to manage your instance of Linux. Through the entire lifetime of Linux, the command line has been an important, if not main way to interact with the operating system. This holds specifically true for servers where having a graphical user interface can consume resources that would be better used for processing data. Over the past decade, there have been substantial strides in graphical user interfaces for users to use for interacting with the system called a "Desktop Environment". Also known as a DE.

Instead of distributions creating their own desktop environment, they typically use some existing desktop environments that are maintained by other groups. A few of the main desktop environments I am aware of are Gnome, KDE Plasma, xfce, and a few others. Distributions take these desktop environments, customize them and build tooling to manage them. They are then rolled into and distributed with the distribution.

Windows and Linux Compatibility

If you are not familiar with Linux, there are some major differences that would cause issues for Microsoft to just create a distribution and start porting their applications over to it. However, the Linux crowd is a clever one and they have already been developing tools to do this for many years.

The first major hurdle of Linux communicating with Windows was the file systems each of them used. In the most simple terms, a file system is what lets the operating system know how and where to store files on disk. Linux now has several file systems and Microsoft has a couple. The main file system that Microsoft uses though is NTFS.

Around 2007, a compatible version of NTFS was introduced for Linux. This gave Linux the ability to read files on disk drives specifically meant for Windows.

While being able to read files is great, it doesn't do much good if the files can not be ran on Linux. Enter Wine, which is a compatibility layer that allows Windows applications to run on Linux.

Wine is not the only game in town either. The gaming company Valve has been making tremendous strides in Windows compatibility as well through Proton. It is primarily used for their portable gaming device called the Steamdeck. However, on Linux desktop, you can also enable Proton to allow you to play most Windows games. It is not 100% compatible, but a vast majority of games do work and work well. You can check to see all the compatible titles at the protonDB website. Steam also shows the "Steam Deck Compatibility" of games in their Steam Store.

What Does This Have To Do With Microsoft?

I am glad you asked.

In 2014, Satya Nadella became the new CEO of Microsoft, and the world of technology started to change. Previous to Nadella becoming CEO, Microsoft had taken a very proprietary and anti open source stance. In other words, they were very anti-Linux.

Over time Microsoft has pivoted to now embrace open source. This has been made evident by many of the things they are doing with their products.

In early 2015, Microsoft launched the Microsoft Loves Linux campaign.

This resulted in Microsoft releasing Windows Subsystem for Linux (WSL) in 2016. For the initial version of WSL, it was just a translation layer that converted Linux commands to Windows commands. In later releases, it ran an actual Linux kernel in a virtualized container. Using WSL, you can install different Linux distributions on Windows.

Other results of the campaign was Microsoft releasing their database engine called Microsoft SQL Server to be available on Linux since SQL Server 2017. While not all of the features of SQL Server are available on Linux (Please release Analysis Services on Linux, Microsoft) most of the features are. There is even a free version of it for development use for anyone who wants to download it.

Just a few years later, Microsoft made another monumental change by releasing .NET Core. .NET is Microsoft's development platform that contains languages such as C# and Visual Basic. Up until this time, the only version of .NET was the .NET Framework which was restricted to running only on Windows. .NET Core was released as a cross platform development framework that runs on Windows, Linux, and even on MAC. The โ€œCoreโ€ in the name .NET Core was eventually dropped and is simply called .NET or dotnet. You can learn more about it here.

In 2021 we saw Microsoft contribute largely to the Chromium project which is the open source project that the Google Chrome browser is based on. Microsoft then proceeded to revamp their failed Internet browser Edge to use Chromium as its base. Since then Edge has gained a much larger user base and is objectively a great browser today.

Microsoft even has its own distribution of Linux called CBL-Mariner. Microsoft made this distribution to run their cloud services called Azure.

Why Would Microsoft Even Consider A Linux DE?

With the changes of Microsoft's stance in embracing open source, why would I think that Microsoft would even consider developing a Linux Distribution or Desktop Environment? Here are my top six reasons.

  1. Reduce Development Overhead
  2. Reduce resource consumption in Azure
  3. Reclaim more server market share
  4. New generation of non-Windows users entering workforce
  5. Ability to make multiple Desktop Environments without overhauling the whole operating system
  6. Future compatibility of new hardware platforms

Reduce Development Overhead

Currently, Microsoft has a team of developers that have to maintain the Windows operating system. This includes not only adding new features to the operating system, but also maintaining things like drivers for new devices being released, and other core components, but also the Windows desktop.

This work is also being done inside the Linux kernel. At this point, the Linux kernel is extremely mature, stable, and requires little resources to run. Currently, it is still being maintained by Linus Torvalds.

I think it would be worth while dedicating a few developers who work on the Windows Kernel to contribute to the Linux Kernel. I know there will be many people who would be offended by this idea, but it is a feasible option since Linux is open source.

There is some considerable concern with this one as well though. While I hope Linus has a long and prosperous life, he won't be around forever. At that point, who will take over the development of the Linux kernel?

Reduce resource consumption in Azure

Microsoft's cloud offering known as Azure is a very complex cloud offering for companies. It allows you to spin up both Linux and Windows virtual machines (VMs).

One of the latest offerings is Microsoft is Windows 365. This is a cloud hosted, subscription version of Windows. For anyone who has worked with Windows and Linux, they know that Windows is very resource hungry.

Let's look at the MINIMUM system requirements for Windows 11.

  • Processor: 1 Ghz or faster with 2 or more cores
  • RAM: 4 GB
  • Storage: 64 GB
  • Internet Connectivity
  • You can find the full list of requirements

Let's look at the MINIMUM system requirements for one of my favorite Linux distros, openSUSE Tumbleweed

  • Processor: Pentium* 4 1.6 GHz or higher processor (Pentium 4 2.4 GHz or higher or any AMD64 or Intel64 processor recommended)
  • RAM: 1 GB
  • Storage: 10 GB
  • You can find the full list of requirements

Take into consideration this is MINIMUM requirements just to get the operating system to run. This does not mean that it will run well and it does not include the resources you need to run any applications you install. From experience, if you are running Windows 11, you better be running at least 8 or 16 GB of RAM in order to get your machine to run much of anything.

You can see from RAM and storage, that Linux requires a lot less resources than Windows 11 does. If Microsoft offered a version of Windows 365 that was Linux based, they could reduce the cost of the service, and potentially the price to make this a more affordable option for people who might want to run their Windows install from the cloud.

The same would hold true of the Windows VMs if they created a version that ran on the Linux kernel.

Reclaim server market share

Over the years, developers using .NET Framework that was building a web based application would have to use IIS (Internet Information Services) on a Windows Server in order to host their application or web site. Developers using pretty much any other development language would use Linux or some other operating system such as FreeBSD where they could use Apache or Nginx web servers.

Today, dotnet developers can run C# code on Linux servers where they can host their applications and websites. My site you are reading was built using dotnet and is running on Linux.

I am hosting my site on a Linux machine because they are simply cheaper to run and more performant. I noticed a dramatic difference in load speeds of my site when I migrated from my previous hosting provider where they were hosting my site on a Windows Server. I am using less than half the resources I was previously using and am getting better performance.

If Microsoft would develop their own Linux distribution and include it as an offering for companies or individuals like me to be able to use for things like hosting a web site, I think they would be able to claw back some of the market share they have lost over the years.

FortuneBusinessInsights has some great informaiton on this topic.

New generation of non-Windows users entering workforce

Google pulled off a huge win here in my opinion. The great majority of public schools use Google for their communications and learning platforms. This includes not only things like G Suite (Gmail, Sheets, Google Drive, etc), but also the use of Chromebooks. As I mentioned earlier in this article, Chrome uses the Linux kernel.

  • Do users know they are using Linux? More than likely not.
  • Does this matter? Not particularly, no.
  • So why bring it up? Because it is not that students and teachers aren't using Linux, it is because they are NOT using Windows.

Humans are creatures of habit. When students in High School now start getting into the workforce, they will try to use the tools they know. This means there is an influx of a new generation entering the workforce right now that grew up using Chrome on almost a daily basis. My teenager who uses their Chromebook either uses it or their phone for all the things they do online. They haven't touched their Windows desktop PC in almost a year.

My point here is why keep developing a full blown operating system that you are losing the desktop battle for? Between the rise of Chrome and the continued threat of Apple products, why continue to develop a product that is costing so much to maintain and is so resource costly? It is just a waste of resources that could be spent developing products that will make you money. With that and the rising use of Linux desktops, it just makes sense to me to start looking at making a Microsoft flavor of Linux desktop environment.

Ability to make multiple Desktop Environments without overhauling the whole operating system

As a very long time Windows user, this one is one that I hold near my heart.

Just when we get a great and stable operating system, Microsoft is releasing yet a new operating system for me to spend money on. Ten years ago that was a feasible business model. In modern day it is something I loathe.

My thought is if Microsoft develops a Linux Desktop environment, they would have the ability to create not just one, but potentially multiple desktop environments. Just think if there was still a Windows XP desktop and a Windows 10 desktop that could either be installed over the Linux distribution that they have. I know there are people who would install the Windows XP desktop, just because it was more simple to work with. This gives the choice back to the user while still letting Microsoft create some new desktop environment they think people will want to use.

I applaud Microsoft is always trying to innovate, but I hate that they change their operating system so drastically each time they do it. Then, after they release a new version of Windows, there is a year or so where it is so unstable that you can't really use it in a production environment without running into issues occasionally. Issues take time to resolve, and time is money. It would be extremely appealing to me if Microsoft could just create a whole new desktop environment that is a new version but leave the underlying Linux install alone, or upgrade everything at the same time to where they are completely compatible with each other.

That being said, Microsoft over the years has had some very solid user interfaces such as the aforementioned Windows XP. I think if they took a swing at building a Linux desktop environment, it could be very polished and well accepted. Especially if they contributed to projects like Wine and Proton to run current Windows based software.

I think that the open source community would be more than willing to contribute to any of the projects Microsoft would introduce in this venture as well. There are definitely legacy Windows applications out there that people would love to be able to run again. This holds true especially for small businesses running some random program a small company wrote for them a decade ago that is still running on a Windows XP machine somewhere that is disconnected from the network for security purposes.

Future compatibility of new hardware platforms

My final point is that Microsoft has been slow in the past to adopt to new platforms.

From what I can find, Windows RT was released in 2011 and has had very low market share. Linux has been on ARM since at least 1994. In 2010, Linux started rising as the dominant operating system on ARM devices with the rise of Android which in 2023 is running on over 70% of mobile devices world wide according to statista. The next closest operating system is iOS which holds only 28.83% of the world's mobile market. Windows phones are at only 0.02% of all devices world wide. Microsoft showed up way too late to that game.

One of the newest hardware architectures that are being poised to take over in the near future is RISC-V. As you can imagine, Linux has already started supporting it as well as indicated on RISC-V's website.

Microsoft, why waste the time of creating yet another version of the Windows kernel to work on a new architecture when you can use what is already there?

Conclusion

I think with the direction that the market and technology is going as well as the continued desire by users to be able to use both Windows and Linux environments, which is evident by the growing compatibility platforms such as Wine and Proton, the near future would be a great time for Microsoft to create a Windows DE (Desktop Environment).

I don't have a comments section yet, so feel free to send me feedback on this blog.


Kevin Williams

Kevin is a data engineer and is the Business Intelligence Practice Lead at Software Design Partners specializing in data warehousing. He is a father, an occasional gamer, and lover of many different types of music.


The opinions expressed on this site are my own and may not represent my employer's view.
Share this post
About this blog...

This opinion piece is my thoughts on why Microsoft should create a Linux Desktop Environment.

Archives


An error has occurred. This application may no longer respond until reloaded. Reload ๐Ÿ—™