Sunday, March 13, 2016

Windows 10 the last desktop version of Windows? The future is unevenly distributed...

I was pointed to a Linux-centric article that included the following section which surprised the person who pointed it out:
Windows 10 will be the last desktop version of the operating system that once gave Microsoft dominance in the PC software market. After that, Windows will be offered on a subscription basis and run from the cloud, but this will not be a Microsoft-exclusive cloud. Internally, Windows will be virtualized within software containers running on Ubuntu.
I'd like to parse this quote a bit, and offer some of my own interpretation.

Last Desktop version

The inevitable disappearance of the desktop operating system has been discussed for decades.  It is really a poor fit for the modern era.  Unlike their more thin mobile counterparts, desktop operating systems really only work well if you have a systems administrator on-hand to handle issues ranging from malware to multi-application compatibility.  System administrators, on the other hand, really want to centrally manage these services so they don't have to spend large parts of their budgets going to each individual desktop to maintain them.  While there is software that attempts to help with this, none of those options can ever compare to running those applications in a server room (local to the office, or in some other server room in "the cloud"). In the server room it is also easier to manage hardware resources, virtualize applications into their own containers to avoid multi-application compatibility issues, and manage software testing and upgrades in a way that is transparent (and thus not disruptive) to users.

Far worse than the problems within medium and large businesses is people running desktop operating systems in small offices or homes that don't have a system administrator.  This why such a high percentage of desktop operating systems are infected by one thing or another -- or just generally not working as well as the hardware and software could work.  This has a high cost to society as a whole, given the harm from spam and malware distribution from this army of infected desktop operating is only surpassed by the fact that these remotely controlled clusters can be bought to be utilized for anything including cyber warfare/terrorism.

I've been looking forward to the death of the desktop operating system for decades, and that is both as a person who works in offices where people expect the IT staff to inappropriately spend a chunk of their budget on desktop support, or as someone constantly asked by less technical family members or friends for help.

It shouldn't surprise anyone that I purchased my wife, mother and my father-in-law each a Chromebook, and as quickly as I could upload all their old documents to a Google drive or put on a USB drive -- and gleefully tossed their old desktops in the trash.

I hope I also will see the eradication of desktop computers in my workplace as well, but that isn't something I have much influence on (even as "Lead Systems Engineer").

What I see in the future isn't less computers, but a recognition that we should be using the right computer and right operating system to fit the job.  The historical "one size fits all" approach that we saw in the desktop era always meant that the operating system used did the job at hand poorly compared to alternatives.

While it is possible that there may be a kernel that will dominate because it receives the most contributions and the most vetting (IE: The Linux kernel), I would consider it yet another market failure if the software stack on top of that remained as similar as we saw in the desktop era.

In my home I run CentOS and Ubuntu on the server, Ubuntu on my development workstation, and we have a variety of mobile devices running Android and ChromeOS.  We have entertainment devices running a variety of OS's (Android on Chromecast, Linux kernel+Boxee software on Boxee box, and a Samsung Smart TV).  While they may all have a linux kernel under the hood, the rest of the operating system built on top is not the same.   I would consider it a backward movement on the part of Google if they merged ChromeOS and Android into the same OS as these two classes of devices serve different purposes and the operating system should be more focused on each purpose.  And I have no interest in running Ubuntu or CentOS on my tablet or phone.

When Google announced ChromeOS they had Citrix there, with the suggestion being in those early days that desktop apps should be virtualized into the server infrastructure, with mobile/portable/disposable devices providing the user interface.

What this will mean is that applications previously run on desktops like office suites and image editing (Photoshop) will be run on servers (in office or in the "cloud") where the computing and system administrators are, and the mobile OS is the user interface only. The desktop application divisions of Adobe and Microsoft have already been moving this direction. The free trials from Google apps may last longer (including still being available free for Gmail users), but they are by no means the only alternative available.

This is also an obvious and long discussed solution to much of the software copyright infringement problem. If you don't distribute software to end users to run in their computers then you don't need to worry about them infringing copyright.   This not only suggests proprietary vendors moving more to the cloud, but that the devices that end users have in their hands will eventually be FLOSS-only.


This is also an inevitable modernization of how proprietary software development will be paid for.  It has never made sense to think of software as a product, as it is more of an ongoing conversation.  While you can buy snapshots of the conversation with a fixed fee, that isn't a useful thing to do when you need to at least keep up with the security patches part of the conversation even if you don't care about new features.

In the early days of computing the hardware advanced quickly as well, and thus people were buying a new computer every few years and thus was paying for new software as well.  Now that computers have reached beyond what the average user needs on their desk/lap there isn't a constant hardware upgrade stream to pay for the massive amount of work that goes into upgrading the software.  In fact, people are wanting to simplify the hardware that they carry with them and want to go mobile where the computing power (as well as battery power consumption) is decreasing rather than increasing.

Subscriptions are the obvious way to go, and this will be of great benefit to both vendors and consumers.

And if you don't want to pay a subscription fee, there will always be legally free FLOSS alternatives. Given software development and system administration time is also expensive this will have to be financed somehow (by someone) even if you never have to pay a software licensing fee again. 

Not be a Microsoft-exclusive cloud

This is also inevitable, and we shouldn't be making a big political deal out of it.  As Microsoft moves away from trying to squeeze percentages out of hardware purchases to being a services company their focus will transition to choosing the right tool for the job.  This will also be a transition away from some of their odd historical political rhetoric in opposition to FLOSS and Linux. Sometimes the right tool will be software from companies and/or open source communities they thought of as competitors in their previous market.

Microsoft's Azure Cloud Switch (ACS) is but one example of this. This isn't a server, desktop, or mobile operating system, but a specialized operating system for network switches built on the Linux kernel.  Using the Linux kernel just makes sense as they can leverage existing community software work, as well as contribute their own code to a community that will then help massively deploy ACS compatible devices.   It is a win-win for everyone involved.

Virtualized within software containers running on Ubuntu

This is the only part of the quote that I'm not convinced was articulated clearly.  Why bother with Ubuntu?   Ubuntu offers a good application server environment, and it works great for workstations, but why bother with the overhead of Ubuntu for a virtualization environment?   This may not be what is being presented in the article.  There may be some value in using the Debian packaging system and build environments, and then spin a virtualization focused distribution.  It might even make sense to build this as a fork of a tiny subset of packages from Ubuntu.  I just don't see using Ubuntu itself as being likely for a company that has the resources to do this right on their own.

No comments: