Last Phase of the Desktop Wars?
esr.ibiblio.org
esr.ibiblio.org
Solve that and I may be a convert.
And how!
The bigger problem, though, is all the legacy that's holding it back in the name of backwards compatibility. The WinAPI is older than myself. You can still run Windows 95 programs on your new Windows 10 PC. While useful to some, I'll never understand why exactly is it done this way. Apple keeps dropping old APIs to make their OSes better and simpler internally. I've never used anything that came before OS X, but I did read a lot that it was terrible and unstable, just like Windows at the time. Except modern macOS is stable and robust, while Windows still feels extremely fragile and unreliable after all these years.
Yes, I understand that Microsoft is hellbent that modern Windows versions need to be able to run 25-year-old binaries unmodified. But they could've achieved the exact same thing by putting genuine Windows 95 into a VM and seamlessly integrating it with the desktop.
Because they make a lot of money on enterprise customers. The only way to convince them to upgrade is to guarantee the new OS version won't break their legacy software. But even on consumer market, in the 90s and 2000s it was important old videogames work on new versions of Windows, or otherwise people would not upgrade.
This comes from before the days of web applications and everything as a Service. Software vendors had to work hard to get people to pay them again.
So Microsoft has always had to work hard to convince people to upgrade. New features were the natural way of doing that. But not maintaining backward compatibility, in a world where almost all software was an one-time purchase, would be a deal breaker. Why upgrade if it's going to cost $20M to make our ERP suite compatible with the new Windows? Why upgrade if all the software I spent $1000 on over the past few years will no longer work? Hence backwards compatibility with existing software was a top priority (to the point that Windows has a lot of fixes to badly coded third-party software built in).
Hand on heart, do you really feel OS X/macOS is improving much?
Apparently, when they run out of technical things to improve and stupid code signing policies to enforce, they redesign the UI because it's a law that if you're making a popular OS it absolutely has to have a major update once a year, no matter what.
I think this is a trend of MS breaking the tools we use to get some control back over Windows, because they've broken some of my others recently also, such as Windows defender flagging Spybot S&D's immunization as a hosts hijack. And of course there's no easy way to work around that, pressing ignore didn't work it produce the same result as quarantine .. I'm so angry at MS for all the shit they push, but there's just not a better alternative they closely walk the line of costs/benefits .. which is why I fear that as their position on the desktop strengthens with things like wide WSL adoption, we will see more of their anti-features and domineering breakages of the tools people write to resist them.
I don't need to smoke crack to know that I don't want anything to do with it.
- don't use online account, but offline (local) one
- use WPD to uncheck absolutely everything related to windows telemetry / sending info. I keep only updates and those set to manual.
- and can't stress this enough - get a PiHole, either on RPi or re-purpose a crappy old laptop. This one is also good for your smartcrap you usually get to your spouse/kids
As a Linux desktop user, I've only ever been able to tolerate LTSC releases of Windows 10, and those still have telemetry features. They also lag behind Windows 10 releases so that things like WSL2 are still unsupported.
I tried running Windows as my daily driver because I was somewhat sold on WSL and WSL 2, however using non-LTSC releases of Windows is a frustrating experience, and there were too many incompatibilities between enterprise Windows and the desktop/development environment I was trying to use it as.
My solution is to have an LTSC virtual machine set up so that I can dip into Windows when I need to, and just use a sane Linux environment as the host OS.
I used to go this route. I used WABI (Windows Application Binary Interface) on Solaris in the 1990s, sort of like a very early WINE. However as time has gone on, I found that the Linux Office Suites (LibreOffice, more recently) have become more and more sufficient for my needs.
I realised recently that I haven't really booted Windows itself more than half a dozen times over the last few years. I got my first Windows 10 a month or two ago with a new laptop. I then proceeded to squeeze it down to under 100 gig on a 1 terabyte hard drive. On my main desktop, Windows 8 is relegated to a mere 50 gig out of 12 terabytes of storage.
I have used Windows 7 on VirtualBox more often for running my HP Scanner's MultiFeed software, just because I can. Though normally, I just run a single-sheet scan most of the time under Linux.
In summary, Windows could completely disappear and it would not affect me adversely at all.
Also, the author of this article seems ignorant of the fact that Windows' kernel internals are one of its strongest features - Cutler's NT Kernel incorporated many things he learned from building VMS, and while the shell and outer parts of Windows have often left a lot to desire, the NT (not DOS/Win9X) kernel is and always has been excellent. I don't see Windows evolving to run on a Linux kernel - that would be only viable with vast improvements/changes to the Linux kernel.
I would not be surprised at all if he's ignorant of Windows' kernel internals or, really, much else about Windows.
> [...] ESR, is an American software developer, open-source software advocate, and author of the 1997 essay and 1999 book The Cathedral and the Bazaar. -- https://en.wikipedia.org/wiki/Eric_S._Raymond
In fact, this article likely would have gained little attention were it written by anyone else.
Well, no, not yet. Microsoft doesn't break out Azure separately. It's usually included in their "Intelligent Cloud", which is the largest segment, but that also includes SQL Server (a big money maker), Windows Server, GitHub, and other stuff. "Commercial Cloud" revenue (which is all the cloud portions of their products, from Azure to Office 365 Commercial) was $51.7Bln of $143Bln overall. So yes, Azure makes a lot of money, but not "most".
I would assume Microsoft sees competitive advantage in using their own OS and hypervisor.
Office is part of “ Productivity and Business Processes” not “Intelligent Cloud”.
https://www.cnbc.com/2019/10/23/microsoft-msft-earnings-q1-2...
I'm begging people, please stop repeating this. Microsoft has been reporting O365 revenue separately from Azure revenue for like five years now.
And if they did move to Linux you’d still need CALs for all the proprietary stuff on top, so it’s unlikely they’d be losing much, if any money by doing this.
In the desktop wars nobody has really won, but all the users have lost.
GNU/Linux on the desktop has improved a lot, but it's still very far from being good.
Mac OS is very good, but it's extremely expensive because of the hardware.
Windows was very good for desktop but had stability problems. Nowadays Windows is just awful for the desktop user, Microsoft is literally conducting a war against its own users.
Just tonight my father in law was complaining because he couldn't find the solitaire app. Turns out that my gf installed the binary of the previous version because the stock windows one was filled with advertising. Windows update had different opinions, and REMOVED A BINARY THAT THE USER HAD SETUP BY HAND.
It literally: either you do computing the way Microsoft tells you, or you don't do computing at all. Microsoft literally removed a binary off the system.
Unbelievable. I wonder if I could sue Microsoft over that. It's borderline sabotage. They removed a binary that the user installed by hand, knowing what they were doing.
I don't get this. I've been using *nix since PDP11 and VAX/Ultrix and I have no problems with Win10 at all, stability or otherwise - I'd much rather use it as a desktop dev environment than Linux. When it comes time to deploy something, sure it makes sense to run on Linux.
Yikes! I use Windows on my desktop at home because I like to play games on my computer that tend to not run well in WINE. I cannot program in Windows. I just can't. Even with WSL and vscode, I can't. Maybe I just suck as a programmer, but windows has a way of getting under my skin when I'm trying to get shit done.
I can use a Mac, but stuff like SIP forcing me to have a nonstandard disk layout (god forbid I want /usr/bin/python3 to be a thing because it is on every linux machine I use) pisses me the fuck off. I'm kinda tired of Apple making the computer into an iPad. Which is too bad, because it's been my programming platform of choice for a very long time.
I'd have no problem in mutilating Windows enough to make it usable, and keeping an eye for when it tries to do something nasty.
But the average user won't, and will have a computing experience filled with unnecessary advertising, encumbered by background processing and bandwitdh usage (telemetry collection and other windows background stuff that are not end-user activities).
It's just awful.
Edit: Okay, I probably turned off indexing and the Cortana mic. access (was that enabled by default?), but that's about it. And I had to disable some Dell-specific bits from my son's laptop that limited network bandwidth for all non-video packets. WTF?
I achieved a huge about of peace when I went from HD to SSD -- in addition to the speed, once I couldn't see the drive light or hear the disk being accessed when I wasn't doing anything, I found it wasn't really getting in the way.
Not sure what you are talking about. Just buy a Linux-certified laptop and don't install Linux on Windows-certified one and it will work just fine. Happy Linux user here.
I guess the most telling statement about it came from my wife. She asked me to do to her laptop whatever I did to my daughters to make it run so fast. What I had done was replace Windows with Linux. I suspect I have the rapid change mobile phone GUI's to thank for no one even bothering to mention the difference between Linux and Windows - let alone needing to ask how to use it. How can they be "very far from being good" when they are so close?
I guess I'm biased, as for me Linux + Cinnamon about as good as it gets. But it is a close thing. They are all good - Android, iOS, OSX, and yes Windows. I'd put Windows at the bottom of the pile, mostly because it's slow and because Microsoft's continual nags to hook you into their ecosystem (one drive, get Microsoft account, email, yada, yada). Oh, and the other annoying thing about Windows is the 1/2 baked transition between the control panel and the newfangled way of configuring things. There is enough clicking as it is without having to check a bunch places for a setting.
Every update for the past 5 years had gone between bad and nightmarish, and the power user ergonomics are going from bad to worse every time. MacOs was probably the best OS in 2015, but it has steadily damaged itself since then.
The solitaire example you give is a good illustration: on MacOS Catalina, you wouldn't be able to run the given binary without clicking twice on a button saying almost “yes I want to install a virus that will destroy my computer”, the default choice being “delete the said file”.
> GNU/Linux on the desktop has improved a lot, but it's still very far from being good.
What do you think is lacking for it to be 'good'?
That's not a "win", though. That's "being subsumed". After all, if LSW works, why would anyone with normal computing needs ever need to install Linux on a computer ever again? Or even in a VM, for that matter? As long as they have Windows, they get the parts of Linux they need for free, without the headache of actually learning the convoluted finer points of properly using a well configured Linux distro.
If anything, Linux finally loses the desktop war, by no longer being needed as a standalone OS. It's now something you just fire up on the side if you need something that only has a Makefile, rather than an .sln file...
Your desktop is still Windows, your applications are still Windows, and LSW is there for when you need to do "that thing that only people who work with computers for a living need to do". No one even needs to be told that when they run "bash", they're running Linux: it's now just another app you run. Linux didn't just lose, it got made irrelevant.
As for your bash example, I have run various versions of it across many kinds of POSIX like OSes.
Yes Linux is irrelevant, it is just a free beer UNIX clone, tomorrow another UNIX clone can take its place.
WSL is about fixing that little mistake, while taping on Linux ABI as extra.
If windows (and it's related tooling) is so garbage that you have to literally bundle an entire OS and tools in it just so that a developer can get real work done, then that speaks volumes.
And also why would I want all of the pain of using windows, (with linux bundled in it) if I can just use linux?
I don’t think the situation that the article provides is impossible, but at the same time I don’t think that Edge is a good indicator.
This is the reason why Edge is available on MacOS and Linux.
So if Linux and Unix end up dominating everything in the form of Android, MacOS and Windows, that's not a huge win for the FLOSS community.
This is a very strange conclusion to draw. Chromium was already ported to Linux. Microsoft just "ported" the Edge skin which likely uses very little Windows-specific code.
For business software, the complexity is not incidental as shown by the difficulty of writing Wine. When Microsoft makes up entirely new chunks of software and calls them "system libraries", Wine has to replicate their functionality. Such as with including IE as a component of Windows, Wine essentially had to replicate all that functionality in order to run things like Quickbooks. When they added .NET as a "system" component, Wine had to make that work by allowing .NET installs that work or replicating the functionality. Now, with WPF-based Universal Windows Platform apps, the windows API has become horribly complex with lots of little features and bugs that have to be copied to bring a translator to feature parity.
If you go through the Wine source code, you'll see that a lot of stuff is still unimplemented, for features that existed as of 1999 or so in Windows.
Windows has like 3 different ways of formatting text on the screen. It has several graphics apis. It has multiple apis for accessing the same hardware (like scanners). There are lots of little bits of functionality shipped as part of the operating system that seem unnecessary until a random business app uses them.
Getting the "essential" services for a small slice (like with ndiswrapper drivers) is a lot easier than being able to take one of these old applications like Quickbooks and make it work correctly.
They don't need to. They just need to offer a "better" Linux (kernel and/or distro) that also runs Excel, and is backed by a global Fortune 10 corporation.
It's Linux, it's legal, it's E₂ and brings E₃ within reach if they choose that path.
I've been using WSL1 and WSL2 regularly since they were in beta. They have both exceeded my expectations. I still SSH into my local development box I use for webdev and the like because it's still faster, less limited and more powerful than WSL/2. Again, I think WSL is awesome and I use it all the time - to do a few linuxy things here and there on my windows box. It's nice, but it is in no way a production-grade replacement for native linux.
The writer seems to be treating the porting of Edge to Linux as the first stage of this "phase". This appears quite weird, a rather simpler explanation would be just that Microsoft wants as many people as possible to use its browser. I'm not an experienced programmer but I don't think it's such a phenomenal and revolutionary thing to release Linux builds for Edge, especially considering that it is now based off of Chromium which already has some presence in Linux distributions.
They could create a "Microsoft Linux" distro, that would probably be much less effort than to maintain Windows & Windows Server. If every PC would run on the Linux kernel, hardware vendors would support it.
For Edge I think it's just to be able to data mine more people whatever their platform of choice is.
Win10 running WSL2 with docker integrated is a better dev experience than running native linux - you can flip up new machines at will, from any distro and they're easy to manage and play nice with VSCode. I used to dual boot windows and ubuntu and have moved over to just running WSl2, as it minimizes the time I spend administering linux , patching and doing upgrades.
Large corporate applications are increasingly being built using web tech, which doesn't require Windows. If an organization can run a web based desktop and provide a remote desktop for "legacy" Windows apps, then this can reduce admin costs and improve security. The browser is increasingly the platform and the underlying OS just doesn't matter as much anymore.
At some point in the not too distant future, it won't make sense financially to continue to put a lot of R&D into the Windows kernel. It won't make sense financially to maintain two versions of Office and the huge amount of logistics that entails. If Microsoft can slide Windows over a different kernel (and it has been done before from Win95/DOS to NT), they can still preserve their user base, but reduce a lot of dev money spent on maintaining the NT kernel. Same goes for the legacy Office applications. If they can reduce their development spend, and focus resources on the app+win layer, this is what they are going to do.
For example the whole Handle and ACL infrastructure has no real equivalent in Linux (at most a bit on the filesystem level) and having to rewrite that for Linux seems pointless and would bring enormous backwards compatibility risks. Office is easy compared to the tightly integrated Windows Server/Active Directory stack.
But that still doesn't mean MS has to invest a lot of R&D in the NT kernel and stack. For userspace they indeed have electron, and on the kernel side they still have Hyper-V, and are even supplying patches to Linux for better integration.
Perhaps eventually Linux and NT will be mostly invoking virtual drivers with the real 'hardware control' work being done in the hypervisors, and the NT Kernel can just be considered 'done'.
Would that mean Microsoft could become like Apple on iDevices and force all Windows apps to be sold via the Windows Store for a 30% cut, to increase security of Windows and cut down most malware? What would be an estimate of how much money MS would have made over the years with a 30% cut similar to Apple? A couple trillion?
That is except if the US court messes up in the ethic vs. Apple case giving Microsoft a implicit green lighting for such a thing.
And, notably, Linux is _not_ Unix, for a variety of reasonable reasons.
Either way I have been a Linux user since 1992.
Reasons:
* WSL1/2 * Better, cheaper laptops and desktops with better keyboards, F-keys, more GPUs * No wondering when the next thing Apple will do to remove something I use (F-keys, ESC, 32-bit, ability to actually do stuff on my own filesystem, etc.) or break something that just worked (like Homebrew) ...
With the increasing dominance of cloud-based infrastructure, will laptops/smartphones/tablets in the 2050s all be Linux based zero-clients running on 8G networks?
I'm not so sure about this idea though, if Microsoft would ever take this path, it'll probably be far far in the future.
I think Microsoft releases and Edge version for Linux in an attempt to get Linux users on board to use their products. People using this will probably be less reluctant to try other Microsoft products as well.
Edge is based on Chromium, which is already Linux native. It probably took Microsoft minimal effort to release a Linux binary as well, making this a win-win situation for them.
Now to strengthen that argument; Microsoft did not release any other enduser software for native Linux yet, such as Office or other Windowws native tools. At least, I'm not aware of any. Maybe this is something they'll take on in the future, only one can dream. Now I know there's .NET Core and PowerShell, but I'd hardly call that enduser software.
At the same time they're working on various things that seem like a vender-lockin. I'll give two examples.
The first is the Windows/Microsoft Store and UWP. More and more applications (and AAA games) are released through this store as UWP apps. These UWP apps (and the store) cannot be emulated (yes I know Wine is not an emulator) on a Linux host at this moment and function as a DRM layer, nor do I think this will happen anytime soon.
As second example, take DirectX. Microsoft recently showed plans for supporting DirectX on Linux (https://devblogs.microsoft.com/directx/directx-heart-linux/). There's a catch though, this only works on Linux in WSL, locking you to a Microsoft Windows host.
It seems to me, these aren't here to enhance Linux, nor to brighten the path to start using Linux more under the hood. These things only appeal to Windows users, and it rather seems like Microsoft is attempting to lock users to Windows hosts to me.
Obviously I don't know where they're headed. I sure hope more and more Windows software will become usable on a Linux host, and I like the idea of Windows using Linux as true kernel.
This might sound like a rant, but it's not intended to be. Just wanted to extend yourarticle with these notes so everybody can come up with their own ideas on this topic.
By the way, the comment box on your website seems broken.
OSX is ignored/unimproved by Apple. Windows is ignored/unimproved by Microsoft. Linux continues to be horribly balkanized, and lacks market share to be fundamentally improved.
FS performance WSL2 -> Windows is almost unusably slow
I have a Macbook Pro, which I bought for the combination of weight and hardware but frankly the experience has not been good. The model I purchased suffers from the "staingate" issue and good Apple customer service where they do repairs and replacements for free is non-existent in this part of the world. I am still running El Capitan because I hear the upgrades break a lot of CLI stuff. One of the speakers is completely distorted as well. As an OS, macOS is great if you buy in to the other Apple ecosystem because it is all built to work well together.
macOS is a lot more polished and a lot more pleasant to use than a Linux desktop, unfortunately it is all very bad value for money, and Apple operates like a criminal enterprise as far as I'm concerned. I received Airpods for my birthday this February and one of them no longer charges or has its battery detected. Apple Support shrugged their shoulders and said they aren't covered by any warranty. By contrast I have Chinese knock-off ones that are working fine. I got them for free when I bought a suit off the rack.
I have recently learned that a lot of the more modern Apple hardware is near-impossible to repair because Apple has locked down the supply chain for spare parts.
In Western countries, there is some semblance of consumer protection and customer service. In the rest of the world you are pretty much hung out to dry.
Since the OS only works with their hardware, that's enough of a scam to keep me away from it. I keep reading all kinds of anecdotes online about how Apple is a benevolent company and has good customer service, but I am wondering if many of those stories are astroturfing. I'm also surprised that they have such a loyal fanbase. I have never owned an Apple product that wasn't horribly defective after being barely used. I have also recently been following the great Louis Rossman on YouTube who regularly talks about the bad design and engineering practices that go into their hardware, which almost make it seem like they are designed to fail and earn servicing revenue.
But of course, the consumer (even the average one) isn't really served by this attitude, in the long run.
Personally I think this should be regulated more. If a device is built as a general purpose device, then it should be accessible as such by its owner. There are many advantages for the consumer (not just functionality but also privacy), and also the environment can benefit as fewer devices will become obsolete because of software.
I think it will happen soon, within the next year. Edge first, then office, finally onedrive
That’s similar to what Apple replacing Mac OS 9 with Mac OS X based on a MACH kernel.
I’m not sure how anyone could arrive at this conclusion. The OS itself is certainly not “Linux underneath a carefully preserved old-Windows UI.”
ChromeOS is storming along - best desktop version of linux around. If I could easily run IntellJ on it I would switch.
It's not a Distro.
I thought any packaging of Linux kernel + whatever surrounding software needed to make an OS is a “distro”?
People seem divided on the topic. Obviously if distro means “Linux kernel based OS” then it’s a distro just like chromeOS. The Linux foundation for example, thinks Android is a Linux distribution.
It’s those who don’t must argue something more than just the kernel is needed, such as more GNU stuff. Exactly what that is, is what I’m curious about and why I asked.
Android and ChromeOS are Marketplace-(App) Runtime NOT a Linux Distro
>The Linux foundation for example, thinks Android is a Linux distribution
Well they compare it with embedded Linux:
https://www.linuxfoundation.org/blog/2013/03/intro-to-embedd...
> Wikipedia and others list it as a distribution.
No they don't:
>>Android is a mobile operating system based on a modified version of the Linux kernel and other open source software
Debian:
>>Debian (/ˈdɛbiən/),[5][6] also known as Debian GNU/Linux, is a Linux distribution composed of free and open-source software,
https://en.wikipedia.org/wiki/Linux_distribution#Linux_kerne...
Including GNU or free software in the definition seems arbitrary... Is there a class of applications (that aren’t apps from a store) that must be runnable?
Or do you mean that distro is short for “GNU/Linux distribution”?
I’m not arguing for/against (since it’s obviously a long-standing debate), what I’m interested in is the criteria for what makes something a distro.
Neither ChromeOS nor Android expose the Linux kernel directly to userspace apps, so for them is irrelevant what kernel is being used.
Or BSD ;)
Why is that not a Distribution, it's not a Gnu/Linux Distribution true, but it's one for sure. You know what BSD means?
Berkeley Software Distribution
>meaning each BSD caters for everything across all stack
Like every "real" Linux Distribution
So you mean your definition is "distro" is slang for "GNU/Linux distribution", whereas an os using the linux kernel is not necessarily a "Linux distribution"? Or can it be a "Linux distribution" without being a "distro"?
Goinng back to Android and ChromeOS.
On Android, NDK states very clerarly what are the APIs available to userspace applications written in C and C++, and none of them are Linux syscalls. Additionally everything outside of the application's installation directory is forbidden.
Starting with Android 7, Google has started to introduce security measures that kill applications that try to work around the rules.
Likewise on ChromeOS, applications are written with the Web stack, ART running on its container and same access rules, with Crostini running on top of a container, using its own kernel and talking to the ChromeOS in a way similar to WSL2 on Windows.
Hence why applications like Termux have several limitations and workarounds to fake being on Linux, and going forward they may not even work anymore, because they refuse to use Java to access the features that Google forbids direct access to the NDK.
So hardly a Linux distribuition.
Sure it is.
It's not a general purpose distro (running on GP/COTS hardware), but it is a software distribution built around a Linux kernel.
No google Play Store is the distributor NOT Android, Android and Linux is just part of the runtime.
If you don't mind surrendering yourself to Google, at least.