It almost is, but not exactly a rebase. They are bringing in official SCP/SSH support, proper terminals with unix shells. X11 gui support (with WSL).
I feel like Microsoft has read the writing on the wall. Developers love nix-based systems (Mac, Linux). They are trying their best to catch developers at the door with a "but wait! there's more!"
If NT 3.51 had the necessary POSIX support for me to do my DG/UX homework, I would most likely never bothered with that Linux Unleashed book offering Slackware 2.0.
I believe it is a variation of their embrace-extend strategy. If you can tempt linux applications into cross-calling services on a present window side, suddenly you have a justification to keep a windows license running where a linux license would have sufficed. And so, another windows instance got an excuse to be kept running/installed.
If Linux is running in Azure, Microsoft still gets paid. They don't need to sell Windows licenses, they need to start getting a piece of the pie when web developers deploy to Linux servers. Getting Windows to be an attractive development platform for someone targeting Linux servers is an essential part of that.
This may just be semantics, but is any of that stuff (SCP/SSH, terminals, shells, X11) actually Linux, as in, the Linux kernel? Aren't these are all "just" utilities?
It's a mix. SCP/SSH is official Windows builds. The shells/tools are Linux kernel with some hypervisor magic (WSL). I'm sure there are other things I'm missing in this.
Quite right, Microsoft just realised that they should have cared more about POSIX NT subsystem, and since 20 years later Linux ABI compatibility is more relevant than POSIX, they just got into it, following the BSDs, Solaris, AIX, IBM i, z/OS, ClearPath and a couple of other platforms that also offer support for virtualized Linux kernels.
Windows had POSIX because a number of government contracts mandated POSIX compatibility. As soon as that was dropped, so was POSIX support. I was always a half-hearted thing designed to prevent any dependency on POSIX from Windows apps, which was seen as a threat.
Now the reverse is seen as advantageous: any app that moves from Linux to Windows is good for them, so things like WSL encourage that.
Sure, the point being that if they hadn't gotten rid of it, that is what most people would be using, just like the folks that buy Apple BSD UNIX based laptops to develop for GNU/Linux.
This is the crowd that Microsoft is after, devs that don't care about Linux ideals, just a POSIX like stack.
The POSIX subsystem was barely usable, much more something to check a box in a government form and prevent Windows from being disqualified than anything actually useful.
I kind of disagree with the Windows/WSL and Mac being targeted at the same crowd. I have the feeling gaming has a higher priority with the Windows/WSL users and what would drive someone who'd otherwise get a Mac to get a Windows box. WSL seems to be geared at preventing a Windows user from switching over to either Mac or Linux for the superior Unix experience.
Naturally, otherwise I wouldn't have bought the Linux Unleashed book.
The outcries every time Apple does a decision in favour of their developer community, that breaks those that buy their laptops as shinny "Linux" kind of prove otherwise.
OS X just like NeXT, only cares about UNIX to the extent that brings software into the platform, not out of it, its dev stack never cared for UNIX as such.
If you want to make portable software that can run on POSIX-compliant platforms, it'll be considerably harder than writing software using Xcode and Swift. There are tools that make it less hard, but when NeXT was created, X was not what it is today, Wayland didn't exist, and they didn't need a network-transparent windowing system because the fashionable model of the day was client-server. More than that, by dropping most of X, the memory requirements were much lower and UI lag was minimal. These were probably the guiding principles for pretty much every decision they made.
Much like Microsoft, Apple doesn't want macOS or iOS apps to run on anything other than their platform. For any OS, the winning strategy to gain market is encouraging porting to the platform and discouraging porting away from it.
I have written professionally POSIX software during the late 90's during the .COM wave, using the vendor SDK and respective C compiler targeting HP-UX, Aix, Solaris, Red-Hat Linux, with in-house wrappers for NT/2000.
During high school I got introduced to UNIX via Xenix, and my first years at the university we had DG/UX on campus, while I started playing with Slackware 2.0 to avoid going into the campus fighting for a terminal after 1h bus trip.
Doing POSIX stuff was the same mess as making a Web site work properly across all major browsers.
> Doing POSIX stuff was the same mess as making a Web site work properly across all major browsers.
My memories are substantially more traumatic than that, but, anyway, it still is complicated. I've been following the ncurses devel list and it's amazing how many different OSs people run it on.
WSL1 was POSIX subsystem. And it was replaced with WSL2 which is glorified VM. I don't think that running a VM would qualify as a POSIX subsystem (just like running Windows in KVM wouldn't qualify as Windows compatible Linux). So they just got out of it, again.
What I am really waiting on is a Microsoft buys out Canonical headline cause it seems plausible. It would definitely give them an interesting edge as the primary maintainer of Ubuntu in Azure so there is definitely incentive for it. What I would love to see is Microsoft create something Wine like and charge about as much as a basic Windows license for it.
>What I would love to see is Microsoft create something Wine
Isn't Wine more like a hack?
Why would you want to have something like that when there's .NET Core? isn't it doing to solve problems that Wine tries to challenge once it supports crossplatform GUI? (so basically once MAUI is released)
* I'm not talking about Avalonia GUI framework which already exists and is crossplatform.
> Why would you want to have something like that when there's .NET Core? isn't it doing to solve problems that Wine tries to challenge once it supports crossplatform GUI?
No. .NET Core and Wine does not solve the same problem.
dotnet core does not now and probably will never support WinForms or WPF (edit: in a cross platform way that tools like WINE can offer)
It’s a very nice tool, but the two dominant and old GUI frameworks for windows require win32 api for a bunch of stuff the last time i looked and there’s no getting away from it.
.NET Core does support both WinForms and WPF, but only on Windows (with no plans for other OS). Maybe that's what you meant and I just misunderstood? Regardlessly it used to be the case that .NET Core didn't support those GUI frameworks even on Windows, so it's a bit confusing.
The "supports" thing is the other way around: Of course .net core would support them on other platforms, but Winforms and WPF don't support other platforms than Windows (Winforms because it's tightly coupled to Win32 [AFAIK] and WPF because it's mostly built on DirectX [AFAIK]).
That said: (AFAIK) Both run on Wine in some versions.
I dont mind Windows but being able to simply run Windows apps in a consistent way on Linux would really make my life much easier. The only downside would be the driver situation still sucks on Linux depending on GPU or other peripheral hardware but thats another fight for another day. Hell even being able to run the official Office binary on Linux would be great, course its been a rumor that might happen but theres plenty of software targetting Win32 that is useful.
Windows 10 Home starts at $130, Pro is $200, and the business licenses start at $300. Given how much of Windows market share comes from business use, it’d be surprising they weren’t making a lot of money there. Since they’re a public company it’s easy to confirm that, yes, selling the most popular operating system in the world is profitable:
He is right though, watermarked w10 has no time limit, and comes with what seems only a few limitations, like inability to customize the taskbar location, for example.
This was pretty much always true. I remember the old versions just needed a serial. A single serial number that could be used any number of times worked just fine. Here in Iran, retailers sold Windows CDs with the same serial number printed on the covers.
Even when Windows detected that the license was fake, it basically didn't do anything. Some occasional messaging and a black background was the worst of it. I figure Microsoft understood that pressure on not-rich home users would just beef up its competition.
Non-activated Windows is limited. You cannot even enter the appearance features in the settings application when in such a state.
You can use it, sure. But between the watermark that is always on top and lack of being able to customize the OS I wouldn't want to use "free windows".
They are strict about their distance to Microsoft to avoid copyright law cases. They want to make sure it is a blackbox reimplementation and no internal knowledge came in.
Aside from that they are a an open source project, working on a open/libre alternative. Some people in the project certainly have issues with Microsoft, others don't.
Wine is the inverse effort of WSL. Both are trying to integrate the best of the other operating system. WSL -> Give Windows users a good modern web app development experience. Wine -> Give Linux users Office and games. To that end, both have their measure of success, and shortcomings. As someone who ran Linux on the desktop for 19 years, I tried every incarnation of Wine I could get my hands on. In the end, I just always kept a Windows partition for playing games.
Given the hype, I almost want to reinstall Linux to try it out, and see what all the fuss is about.
And it's funny you bring up anti-cheat, because my biggest success using Wine was Battlefield 2, which actually ran more smoothly on my machine under Linux than Windows, but then I tried to get online, and learned a harsh lesson.
As someone who has invested time and energy into setting up Wine, I think you will be pleasantly surprised by how painless it is to set up a Steam game with Proton. That is to say, you click 'install' as if you were installing a Native game and then when you click 'Play Game' it shows you a quick warning that Steam will be using a compatibility tool and then will boot up without any more fuss.
The caveat is largely that not all games are solved by this [0], and the official Valve whitelist needs to be turned off in settings to use it for all games, but even with these it's still a marked improvement in Quality of Life and barrier to entry for running Windows games on Linux.
I'd give it a go if you have time/inclination. I can recommend it as someone who is now Linux only as a result of this.
I've also run Linux for a long time, and have used Wine since before 1.0 to run some games, with very mixed results. Overall, the same experience for years - most games would have some issues, and many simply wouldn't run, so I kept Windows for gaming.
Proton was a dramatic change for me. A few clicks to enable Proton for a particular game, and then it just seamlessly runs and works. Granted, not all games do (check ProtonDB) but all the games I've wanted to play for the last couple of years have worked. I'd say Proton is the most significant thing to ever happen for Linux gaming support, and it did more for me overnight than many years of trying with Wine.
Modern multiplayer games with anti-cheat are mostly broken, some popular ones like Rainbow Six Siege are impossible to play. But if you mostly play other games, give Proton a try.
This is absolutely possible. It would be (rightly) seen with so much trepidation though: "please trust us we promise we'll never turn evil / back into 90s Microsoft" just wouldn't be enough for a direct core competitor acquisition like this.
Given the anti-trust focus on large tech firms at the moment it seems unlikely, at least in the short term. Windows has a huge market share in desktop (~80% from a quick search) and very substantial share in laptops (~40%) and I can't imagine they want to make any moves (e.g. buying out a competitor) that might lead a regulator to believe they're flexing a dominant market position to their advantage.
Can you clarify where you are getting your stats I had a very hard time digging up an OS market share breakdown for just laptops but intuitively it seems like it ought to be relatively similar to the desktop market share save for the addition of chromebooks.
I think historically apple has maintained approximately a 10% market share plus or minus 3 points with a higher share for the US and collegiate market.
ChromeOS is supposedly 6% of the desktop market share according to stat counter that I believe confusingly includes desktop/laptop under the same grouping. I'm guessing that about nobody is running chromeOS on a desktop so a reasonable guess is that their share of the laptop market is could easily be 10ish percent.
This would leave windows with somewhere between 70% and 80%
Aside, I've considered using a ChromiumOS for older desktops as a refurb option a few times, and for the likes of my mother in-law who likes desktop form factor, but needs something more "safe" than a typical desktop.
To be honest, that's what a Windows HyperVM is. Microsoft tried to do this the other way around (reimplement the Linux kernel in windows), which is a much smaller and easier task, with WSL1, and then threw that away and just used a VM for WSL2.
Red Hat and its enterprise focus would have been a better fit than the much, much smaller Canonical, so there's no reason to believe that MS would consider buying Canonical.
Yes, buying Ubuntu would make sense for severeal reasons:
- They seem to be comfortable shipping that as the default WSL for a few years and this would allow them to integrate even deeper.
- Ubuntu is one of the main systems people use in cloud based environments; including Microsoft's own Azure where it and other linux distros are more popular than Windows Server. Taking control of Ubuntu would allow them to take full control of that stack. The goal here would be to offer an alternative to the likes of Oracle and IBM for enterprises and make sure Azure retains its competitive edge over cloud platforms offered by those two. IBM just bought Red Hat; and Oracle ships its own Red Hat derivative.
- On premise "cloud" is becoming a big deal. Owning Ubuntu, which is a player in that space too, would enable MS to make Azure on premise a better product.
The Desktop application market at this point is mostly split between creative tools and developer tools. MS is big into the latter and most of that targets Linux already. Creative tools are basically Adobe and similar companies. Most of those target Apple and MS. Finally there's office, which mostly already works in a browser. I doubt they are in a hurry to produce a Linux desktop version. It's a lot of work for basically no big return on investment. They already struggle with keeping the OSX version relevant.
Finally, there are games. PC Games are big drivers for MS Windows sales. It's what keeps home owners buying windows computers with the windows license. While in decline for years, that's still a lot of money for MS. Without gaming, they'd have been bleeding more users to Apple and Linux for years. Of course XBox is still Windows based. I'd say this is the main thing that is keeping Windows Desktop alive. So, I don't see them walking from that any time soon. They might however, transition X Box to a subscription based streaming service at some point. Various companies are already piloting solutions for this (Google, Amazon, NVidia). Linux might make sense here but it would require tight integration with hardware and software. I'd say forget about MS even attempting to support that at the level they currently support Windows. But, I wouldn't discount it for a future iteration of XBox though.
For that matter, given their game studio acquisition, it might behoove them to make efforts to improve WINE, DXVK and Proton support, considering various efforts for game streaming systems afaik mostly linux backed.
I wonder if it’s the other way around. With WSL2 you can give Microsoft credit for actually getting Linux on the Desktop.
Probably not what most expect from Linux on the Desktop. But hey, if you still can’t properly support 4K scaling in 2020, it’s never going to happen. It will probably always be a fringe group.
Unless something really changes within the mentality of the open-source / Linux community.
90% of Linux Desktops could experience a problem and as soon as someone reports it another guy would come out of the woodwork and shout that it works for him.
I mean, there's a whole lot of people in this thread saying that Windows scaling works perfectly for them when it definitely doesn't for me (use Windows-arrow to move browser window from a 4k to a 2k monitor and back again a few times, it'll eventually change shape and size).
Just like reporting Ubuntu bugs feels like shouting into the void, what are your chances as an end user of MS quickly fixing a bug you find?
The experience of finding solutions to Windows problems, which is in fact a significant portion of my day job, is vastly superior regardless of the fact that opening issues with Microsoft support is useless. For one, things generally aren't radically overhauled ever 2 years making all previous documentation on a subject obsolete. For two, when you talk with other Windows admins about a problem you're having, you don't get "well it works for me" presented as though it is somehow helpful.
When you talk to Linux admins, they don't try to claim that something you know very well on your platform doesn't work either. Windows folks, come out of woodwork doing claims about things they have zero knowledge about. Or they heard about it 20 years ago and think that nothing changed since then, despite everything being overhauled every 2 years.
> When you talk to Linux admins, they don't try to claim that something you know very well on your platform doesn't work either.
In Windows land I don't have to know something very well to get reasonable help on it.
Besides which, I know from personal experience that Linux Desktop people will assume all sorts of things about you. Quite often I will ask something like "is it possible to make X do Y?" and the response will be something like "you shouldn't do Y. Why do you want to do Y? You should do Z instead, I've only ever needed to do Z".
In Windows land, there's as much as incompetent advice as in Linux one. It is about people, not systems.
> Quite often I will ask something like "is it possible to make X do Y?" and the response will be something like "you shouldn't do Y. Why do you want to do Y? You should do Z instead, I've only ever needed to do Z".
Ever seen the answers in Microsoft Community? It is either this, or a complete misdirection, so some Microsoft contractor could prove his productivity, and in the end solving nothing.
---
I'm using all three desktop systems: Linux, Mac and Windows. No, the grass is not greener on either side. Every single of them has its problems, and every one of them has its stronger points. However, "if you still can’t properly support 4K scaling in 2020" is complete nonsense.
> Ever seen the answers in Microsoft Community? It is either this, or a complete misdirection, so some Microsoft contractor could prove his productivity, and in the end solving nothing.
Just reinstall Windows, that'll fix all your problems! (/s)
> For two, when you talk with other Windows admins about a problem you're having, you don't get "well it works for me" presented as though it is somehow helpful.
If I had a pound for the number of times I've had Windows issues, Googled the error code (because error code 0x800704cf is so intelligible) and found some mix of "I'm having the same problem, how do I fix it? ¯\_(ツ)_/¯" or "just reinstall".
If you know to consult the C header files for Windows, maybe, bearing in mind that comment was in response to this:
> The experience of finding solutions to Windows problems, which is in fact a significant portion of my day job, is vastly superior
Second result for "0x800704cf windows 10" is this shambles on MS's own discussion site: https://answers.microsoft.com/en-us/windows/forum/windows_10...
where the poster says they spent hours on the phone to MS trying to get support and on the way had done some insane registry fiddling to try to fix it before discovering it was an issue with their user account.
cite? And more seriously, that can be said of anything. Or, the reverse; it could work for 99.9% of the people, but one comes out of the woodwork on HN threads and points out it doesn't for them or "someone they know", then all of a sudden it's considered broken.
I run KDE with two 4k screens and there are two things that don't work as of 2020.
1. X can't handle independent screen scaling of two different DPIs. I have 24" and 27" screens and on windows I can have the 24" one at 2x and the 27" one at 1.5x and it "just works". In X I have both at 1.5x.
2. Wayland supports independently scaling the two screens. Unfortunately programs that don't support wayland run through something called XWayland, which upscales them in a crude way that makes the fonts blurry. It's pretty much unusable because of this to have an XWayland app (this includes chrome, firefox, and emacs) running on a 4k screen in wayland, at least on KDE.
It's frustrating because it's SO CLOSE. There are WIP branches of both browsers running on wayland (but they're not stable for me) and once those land I think everything will finally work.
All this said I do still use KDE on X daily as my development environment, but every time I boot back into Windows I'm frustrated again by how much better the scaling is.
Just to add to this, non-integer (AKA fractional) scaling also works substantially worse on gnome for me than in windows. It even is hidden behind a switch with a warning that it "May increase power usage, lower speed, or reduce display sharpness". I can confirm all three.
Given pretty much all laptop screens manufactured these days look best with about 125%-150% scaling, this is a pretty big issue.
I always thought Microsoft would simply make their own brand of Linux (somehow? who knows) that would be all sorts of Microsoftified, which seems easier and better than worrying about Windows backward compatibility by making Windows Linuxified.
But the success of WSL would seem to indicate they aren't really in the market for their own flavor of Linux.
Linux Desktop Evangelism playbook entry #4: "My grandma uses it".
The Linux Desktop Evangelist believes that this demonstrates that Linux Desktop is not difficult to use, but what it actually demonstrates is simply that Linux makes a really good appliance. As long as you don't ask more of it than one or two carefully accounted for use cases, you won't see a problem. Attempt to step out of the box though...
Writing documents and using spreadsheets, creating presentations, reading and responding to e-mails, and browsing the web, which is what she uses, covers pretty much 99.999% of the uses a computer gets.
Do you have a concrete use case where Linux fails and Windows succeeds?
For instance, if I say I do something requiring an application for which there is no good OSS equivalent you'll tell me it isn't Linux's fault companies don't port their software to an OS with ludicrous levels of fragmentation that break compatibility nearly every release.
I have been in this argument many, many times over the past 2 decades. It is always the same. Deny there are problems, suggest insufficient alternatives, even recommend just changing their use case entirely. Anything to avoid saying "yeah, Linux actually isn't good for that".
> But hey, if you still can’t properly support 4K scaling in 2020, it’s never going to happen.
I have a 4K Ubuntu laptop from Dell. The text and GUI automatically scaled to the right size (except for one old program). And I plugged in an external 4K monitor using HDMI and it just worked.
I'm sure there are hardware configurations that don't work as nicely, because Linux supports a ton of weird hardware. But it's easy to buy high-quality Linux systems.
A friend of mine who is a sw developer who worked on Linux for years got a 4K display and then switched to Windows because many apps don’t play well with resolution scaling.
Every time someone says "[basic feature] does not work on Linux", someone else comes and says it's always worked fine for him. I'm not saying you are lying, but you are probably in a minority. I've also had problems with scaling on Linux and I gave up on it. Also, having two screens with different scaling was completely unsupported, unlike on Windows.
Why do you assume they’re a minority? If every time someone mentions something didn’t work, 10 other people explain that it can actually work, maybe that should be telling you something different.
Because a lot of people don't report that it doesn't work, they just stop using things that don't work. Those that do report it get "Works for me (TM)!" --or perhaps "Try a different distro (TM)!"-- in response instead of anything helpful, so why bother?
Even someone like me has long since stopped reporting bugs to Linux Desktop projects because of the above, and the fact that a lot of times the bug is already in the issue tracker and has been for years so clearly no one gives a damn anyway.
My point exactly. If you report something like this on the Ubuntu bug tracker, your bug will be gathering dust forever. If you are (un)lucky some bug triager who has absolutely no knowledge of coding or the systems involved will ask you for logs that are useless to the problem at hand, and that will be it.
People respond like that because they genuinely have been using Linux desktops for decades, and have been perfectly productive using them for work and play. And then someone posts something like 'I tried installing Ubuntu but thing X didn't work, how can anyone do real work on this joke operating system? I stopped using it immediately' and they just want to provide a different perspective.
Personally I bought a highly-recommended Windows laptop a few years ago and had to stop using the OS because both sleep and the Intel wifi drivers simply didn't work. Yet if I tried to use that experience to proclaim that that Windows was a non-functional, useless operating system developed by people who don't give a damn, I would not be taken seriously.
By the way have you considered what reporting bugs like this for Windows is like? You end up on one of those Microsoft support sites staffed by non-technical non-employee Community Experts who have absolutely nothing useful to add. Talking to real driver and OS developers directly on Linux bug reports is magical in comparison.
> People respond like that because they genuinely have been using Linux desktops for decades, and have been perfectly productive using them for work and play. And then someone posts something like 'I tried installing Ubuntu but thing X didn't work, how can anyone do real work on this joke operating system? I stopped using it immediately' and they just want to provide a different perspective.
...because they have entangled their identity with their OS of choice such that they interpret "I had a problem with this and therefore don't use it" as some kind of personal attack. This is not only unhelpful, but an actively repellent behavior.
> Personally I bought a Windows laptop a few years ago and had to stop using the OS because both sleep and the Intel wifi drivers simply didn't work. Yet if I tried to use that experience to proclaim that that Windows was a non-functional, useless operating system developed by people who don't give a damn, I would not be taken seriously.
Case in point, who is saying Linux is useless? Useless for their particular use case or workflow, sure. Even people who like Windows generally, like myself, say the developers don't give a damn (see some of my other posts on the subject). Fact is, a lot of use would love to be using an OSS system, but the community actively fights us when we have issues with their stuff and their echo chamber of "our way is the best way!" remains unbreached, so our use cases and workflows are never accommodated and we, consequently, can't use it. This has been going on for about 20 years now. It's pretty damned tiring.
> By the way have you considered what reporting bugs like this for Windows is like?
I work supporting Windows systems, so I know how useless Microsoft support is. You know what I don't get when I talk about a Windows issue with other Windows admins though? "Well it works fine here..."
> Talking to real driver and OS developers directly on Linux bug reports is magical in comparison.
Sure, if they listen, which they often don't. Spend some time in Ubuntu's issue tracker if you don't believe me.
I have noticed Ubuntu and Fedora's bug trackers often seem to have ignored and longstanding bug reports. I think part of the problem is there is a layer of indirection - the developers of the packages themselves don't look there.
>they interpret "I had a problem with this and therefore don't use it" as some kind of personal attack. This is not only unhelpful, but an actively repellent behavior.
Your posts so far have implied that people reporting their positive experience or advising how to make the most of Linux (eg being careful about hardware choice) must be doing so because of a kind of identity crisis, or that they are reciting from mockable 'Linux Desktop Evangelism playbook'. Meanwhile you seem to have taken personal offence at the 'community's (as if it's one entity) response to your Ubuntu bug tracker entry.
It doesn't matter who is in the minority. If even 1% of Linux desktop installs have issues, quirks or plain failures, it's a problem for all of Linux as that 1% chance of failure becomes a first impression, or a horror story a product manager can't unhear.
Having said that, I'm also generally in the boat of having an unpleasant experience installing on various laptops. Doesn't stop me from trying every year or so though, ha.
If you're just asking me personally - absolutely I have! I had to sell my MacBook because of the pandemic and I deeply miss my i3-clone yaourt.
I'm running regolith with i3 using an X server on my WSL 2 install. It even has GPU passthrough now! It's been super pleasant experience having the best of both worlds without having to reboot.
If you're asking to make a point, I'll just say that it takes a level of tech savvy to even know _how_ to find a Linux laptop that runs smoothly. That is the problem I'm referring to.
Right that's gonna be my strategy going forward. I should have mentioned I had to stick with windows on my gaming rig because I don't currently have the money for a new laptop.
I've heard Dell and the Thinkpads work well with Linux. Got any other suggestions?
> someone else comes and says it's always worked fine for him. I'm not saying you are lying, but you are probably in a minority.
Here's my "secret," if it helps. I buy laptops with Linux pre-installed from a supported vendor, I run Ubuntu LTS in the default configuration, and I only customize a tiny number of things. This has worked pretty well for me for over a decade. (Before that, I had more issues.)
I don't feel like installing Linux onto random Windows laptops is a good use of my time. Similarly, if I were to choose some unusual distro or desktop environment, that would usually mean more hassle. So I don't.
> Also, having two screens with different scaling was completely unsupported, unlike on Windows.
Yup, that's the biggest limitation I've seen. That's one reason I ended up giving away my ancient external monitor and getting a new 4k. That way I can use the same scaling on the internal and external monitor.
And if I'm going to make a major hardware purchase, I usually Google to see if it works with Linux. This matters mostly for things like drawing tablets.
The most probable difference between these two people is that the first one installs Linux on a supported hardware (or buys preinstalled Linux), while the second one takes their random hardware and expects that Linux will work on it flawlessly.
Because it's the only retort to the unfalsifiable 'it doesn't work for me'.
Anybody who uses Windows 10 with any regularity will also run into things that just do not work: for me, recently, it's Windows deciding that I want my sound to output to my monitor (which doesn't have speakers). The only reason Windows issues are treated differently to Linux's is that it's treated as the default.
Your monitor might have an audio out port. That's why my monitor is the default sound output when I have my Mac connected.
It doesn't sound like a Windows bug unless your monitor is actually incapable of outputting sound at all. In that case, I'd wager your monitor is advertising sound when it has none.
I'm not saying that Windows bugs don't exist (I've run into lots), but I'm guessing that this isn't a Windows bug.
The linux fanboy definition of works is either works out of the box or can be made to work.
The opposite position seems to be must work out of the box on any of 50 distros on any hardware I buy at Walmart AND must invent time travel to change the fact that it didn't work 7 years ago on the Acer I bought from that weirdo on Craigslist the only time I actually tried installing it.
Take High DPI
It kinda looks like cinnamon for example supports HiDPI out of the box but all the knobs are there if you want to tweak how different things scale.
If on your distro something isn't configured correctly for 4k screens the fanboy says its workable because there is a readily available resource that will tell you how to achieve the result you desire.
The anti fanboy will throw up their hands and say Linux sucks.
An argument can be made that that this isn't good enough for "grandma" or "regular people". I see problems in consumer electronics and windows that are too hard for grandma or "regular people" all the time.
If they don't want to install and configure it presumably they can pay Lenovo or Dell to do it for them just as they do presently. If it comes with a high dpi screen presumably they will configure it for such.
> If on your distro something isn't configured correctly for 4k screens the fanboy says its workable because there is a readily available resource that will tell you how to achieve the result you desire.
> The anti fanboy will throw up their hands and say Linux sucks.
Perhaps I should have said hater. Yes there is a massive group in the middle that doesn't have a dog in the race only techies and nerds have favorite OS like other people have sports teams. On average people are buying boxes that come with software and using whatever came with their box.
The two canaries to watch for are a systematic switch in the default line ending character from CRLF to LF, which will be driven by Microsoft developers fed up of git hassles, and a switch in the default path character from "\" to "/". In most places those are already supported, but not default.
Those are two of the smallest parts -- there is the entire Windows API, and kernel API. The line ending character used by notepad isn't what would stop a total re-write of Word.
Tens of thousands of methods which power the majority of paid-for software. Microsoft has spent decades, and huge amount of man-power keeping all that software working, why would they flush all that away?
The API is quite shim-able; WINE has done that in the reverse direction, and there is (or was) the "POSIX subsystem" and cygwin. People build cross-compilable C code that works on both. It's just a bit of a hassle because the semantics are different in key places.
Leaving aside things which touch the GUI (which is a lot! You need a window to receive messages to use certain APIs!), the next big differences are the process API (no fork, starting processes is a lot more time consuming) and the advanced filesystem API (completion ports).
There are frankly a few pieces of the API that I would like to see go in the other direction, like WaitForMultipleObjects().
I don't think MS would ever switch the UI out for Linux... but it wouldn't completely surprise me to see MS helping with WINE, DXVK and Proton. More surprised if there haven't been MS contacts that have at least helped to clarify things on occasion.
As a developer who has had to integrate data between Windows and Linux systems, but lacks deeper insight into Windows, I'd say another really important milestone would be a complete switch from CP1252 to Unicode.
Countless times that codepage thing has haunted me when moving data from Windows workstations into automatic processing systems hosted on Linux.
It is, Windows NT's adoption of Unicode predates UTF-16 and it's impossible to really make it UTF-16 compliant without breaking obscure corners of compatibility.
Most programs assume it's all UTF-16, and it happens to work most of the time... at least until you encounter those sequences that are invalid.
The problem is that not all of the software someone might want to run on Windows handles backslashes gracefully.
There are situations in which for example VS Code will run git commands "behind the scenes" (without ever showing the command to the user). The way it is now, VS Code sometimes obtains a file name to be used as an argument to a git command from a Microsoft function that return the name with backslashes, gives the name to git, which doesn't consider a backslash a path separator, so git causes an error, "no file named foo\bar\bash," or such, and since that git command line (command with arguments) was never manually submitted or entered by the user, the user can't get past the error just by replacing some backslashes with slashes, then resubmitting the command line.
Microsoft could submit patches to the git project to make git recognize the backslash as a path separator, but there is no guarantee that the maintainers of git would accept the patches. So, Microsoft could end up choosing to bend (on the backslash issue) to make Windows more compatible with git -- and other Unix-centric projects.
Where would you look though? Who else writes operating systems?
MS Research writes papers that are submitted to various journals (as does IBM, Intel, Google, all of whom have their own operating systems). An obvious example is the Midori project produced lots of novel research much of which has been used, even if the project itself was abandoned. https://en.wikipedia.org/wiki/Midori_(operating_system)
> MS is not the place I look for "something new" in OS design.
With Windows Phone, they did pioneer quite a bit. It was a phone first, and app running device second. Android and iOS feel like the phone part was a second-thought add-on in comparison. The Windows Phone did its best to make it so you could make a phone call or send a text, at the expense of email, running apps, etc. when the battery was low which took Android and iOS many years to implement. There were probably some other interesting things, but I don't remember them any more.
Isn't this a little like saying Firefox re-basing on Chromium would still be a healthy balance of ideas/innovation? Because that's what it sounds like.
But remember the Microsoft loves Linux vision, and look at Azure, .NET Core, WSL2. Although unlikely, I can see that happening... Firefox and Chromium is different.
>they don't have to answer to the community when adding it into the kernel.
Where did you get this idea? Companies shipping a Linux kernel never had to answer to the community, unless they want to. They can just ship a custom kernel only to their users and leave it at that.
> They can just ship a custom kernel only to their users and leave it at that.
Works really well for Google and Android where they offload handpicked versions of the Linux kernel to the phone vendors to maintain. In practice they don't bother with it so phones never get any updates after 1 year.
Maintaining custom Linux kernel fork is not possible if you want to keep it up with the upstream changes.
>if you want to keep it up with the upstream changes.
I don't understand what you mean here. It's my interpretation that keeping up with upstream is what was meant by answering to the community. It seems that the GP post was not concerned with this or with following the footsteps of Android. It certainly seems within Microsoft's means to deploy a custom kernel on Azure and then only periodically merge with upstream (I believe they are already doing this anyway).
Yes, I agree. What I meant was for mobile phone manufacturers who don't upstream their code portions and abandon it after a while due increased costs of maintaining the multiple versions. In other words... old hardware only works on older kernel release and new hardware only works on new kernel release.
It'd be much better if they upstreamed the changes instead of fragmenting the entire ecosystem with custom forks.
Correct, but if you want to add something to the mainline kernel, you do have to answer to the community, such as Wireguard or [1]. I wasn't talking about custom kernels.
I echo this sentiment. Competition is good, and Windows vs Linux is competition. We don´t want to remove variety even if the Free software is the one that "wins"
This reminds me of DirectX vs OpenGL in the late 1990s and through the 2000s. DirectX under Microsoft rule did not have to answer to any committee, thus the progress and groundbreaking technology that it enabled was really good. Meanwhile, The OpenGL consortium had to argue to get just one feature into the standard. It was very slow.
Another example was .NET vs Java. Even though Java was "driven" by Sun (and then Oracle) a lot of the new features were done via consortium and thus its development was slow. .NET instead got LINQ and other really nice improvements during that time. Now, I haven't programmed in .NET since around 2005 (I don´t do Windows), but I appreciate that they are pushing software technology.
Im not sure how many people thought this would _acctually_ happen. This is one of these things that seems cool from an Linux lover's point of view (because it somehow proves them right that Linux is the absolute best) but makes absolutely no practical or business sense. Two major groups buying windows are business clients (who would rather you not change things so that their 20 year old custom software still runs in Internet Explorer) and the average user (who couldn't care if the Kernel was NT, Linux, or a literal peice of Corn as long as things work).
Everyone who thinks that using the Linux Kernel is better than NT is already using Linux. Everyone who needs some sort of intermediary support uses Dualboot/WSL/etc. Windows would never sacrifice it's backwards compatibility. This is the company that won't change the bug that makes excel think 1900 is a leap year so that it doesn't break people's spreadsheets. [0] Not to mention porting windows would take a LOT of work.
> Windows would never sacrifice it's backwards compatibility.
I wish I could believe this, but the way Windows has been trending since 10 leaves me skeptical that the old Windows philosophies of catering to the user, keeping things consistent, and being backwards compatible are being smothered by whoever the fuck is working on it today.
Windows has always been two creatures that behave in very different ways. The server line is where you see stability and compatibility reign supreme.
On the desktop/workstation line though, let's take a trip down memory lane and remember all these upgrades together: Windows 3.11 -> 95 -> 98 -> Me -> XP -> Vista -> 7 -> 8 -> 10.
I am having a really hard time seeing how one can infer from that timeline that Microsoft's desktop OS line follows a philosophy of "catering to the user, keeping things consistent, and being backwards compatible." Windows 98 didn't cause much hassle, but, at least from my experience, that was really it. Windows 7 had its share of hassles, too. Particularly, as I recall, in the backwards compatibility department. We just remember it fondly because it was sandwiched in between Windows Vista and Windows 8.
Hardware support was always an issue on every version of windows but on the software side the only time I had software compatibility issue was whenI moved to Windows 2000. Windows vista for me was just a bad PR management by Microsoft.
3.11 to 95 was a big shift in terms of how the interface worked, but after that it was pretty damned consistent until 8 tried to turn everything into a tablet.
The introduction of WDDM along with the new sound and networking driver architectures caused some headache in Vista, but were ultimately significant improvements over the way things had been.
10, on the other hand, made automatic updates mandatory, and pushed itself on everybody through dark patterns. It puts ads in the start menu and on the lock screen. It started, but didn't finish, implementing new interfaces nobody asked for while deprecating the old ones they still hand't entirely replicated. Today, they're doing their damnedest to hide the fact that you don't need a Microsoft account to set up your computer.
We should - though - definitely appreciate the fact that they still "let" you setup a workstation without signing in to a Microsoft account (unlike iOS, the new Oculus device etc.)
You can, but apart from calling & web browsing, it's not that useful, in contrast to a windows machine (i guess you probably can't use the windows store)
iOS is still useful without an iCloud account. Everything still works. Calendar, Calculator, Contacts, Safari, Music, etc, on and on all work just fine. You can add any number of third party services with the email app. All you loose not logging into iCloud is sync'ing of said data to other devices. It's a local only device at that point.
No. I mean you can use the included PIM/multimedia apps with any current service you use without using any Apple account. Just goto accounts and passwords under settings and add your preferred service to integrate with notes/email/contacts/etc.
Sure I would say this would make it more of a feature phone but the device itself is quite usable without an iCloud account.
The Windows Store (now called the Microsoft Store, apparently to match the name o their physical stores), does allow one yo download free programs without using a Microsoft Account. I'm guessing you might need one for paid programs, but I've literally never tried, since this is a PC, not a phone/tablet.
>I am having a really hard time seeing how one can infer from that timeline that Microsoft's desktop OS line follows a philosophy of "catering to the user, keeping things consistent, and being backwards compatible."
In the simple sense that you can run ancient Win 95 applications in any of these later versions (if not 3.11 and DOS too).
>> you can run ancient Win 95 applications in any of these later versions
In theory, according to MS. In reality we all have seen old applications die when windows updates. Security-related applications are notorious for this. What once worked perfectly well with Win8 now goes into total panic mode when it sees Win10 doing its thing in unexpected ways.
I'm not sure how you're having a hard time. Yes, Microsoft releases new OS versions. I'm not sure what you think that has to do with backwards compatibility. Have you not heard any of the stories about all the hacks Microsoft has had to implement over the past decades to ensure that third-party applications function correctly? A program made for Win95 will generally work seamlessly on W10. Worst-case scenario, you'll need to change compatibility settings or configure exceptions in things like exploit protection. The same can't be said for Linux, where the only thing you can count on is the kernel's ABI.
Your chain breaks between Me and XP, because you omitted Win2K. And that's a huge change - It was the point at which they switched to the NT kernel from the previous DOS-based ones. While MS hasn't always done a great job on all of the OS functionality surrounding the kernel (though it's quite good now), the internals of the NT kernel are and always have always been excellent, and IMO, are considerably superior to Linux' kernel internals.
One reason for this, interestingly, is that NT had less of a past to deal with - it was a clean-sheet design by one of the most experienced OS kernel designers on the planet (David Cutler, from DEC) - Linux was still trying to be "Unix-like" and maintain (more or less) POSIX compatibility (though to be fair, POSIX didn't show up until about the time Linux grew out of its hobbyist toy phase...)
Because a large portion of Windows' target market is people who are technically unsophisticated, and who will blame Microsoft if an application misbehaves after a Windows upgrade (regardless of whether the application vendor is actually at fault), Microsoft goes to extraordinary lengths to ensure backwards compatibility, even to the point of adding dummy code that allows [poorly-written programs that abuse features in Windows X] to still work in Windows X + 1, even when those features aren't there anymore.
Sometimes I wonder where the world of computers would have been if it had not been for Microsoft doing all this stuff! This is seriously next level of customer support, which we hardly get to appreciate, let alone know about.
Notice that only one of those articles is set later than 2007, and that the one later article is about telling the customer to buck up and deal with the broken backwards compatibility.
They had an incredible focus on backwards compatibility. That no longer seems to be the case.
They still do. I have Win95 games that were broken in WinXP but started working in Win7 x64, or ones that broke in Win7 x64 and started working again in Win10.
I'm having the opposite experience, I tried playing an old DirectX 9 game the other day and it was unplayable in Windows. It did at least boot and menus worked fine, but for some reason for another the framerate in-game was so low it was unplayable. A few days later I tried it on my linux machine with Wine and it was perfect (thank god for DXVK).
thats not true, plenty of games needed win 10 support.
like blizzard games (diablo (2), warcraft (3), etc.) and many others even age of empires 1/2 needed to support windows 10 via patches and did not work out of the box.
The Windows 2000 / ME debacle appeared to be the breaking point when Microsoft realized they needed to adopt a more Apple-like approach to evolving the platform.
Perfect backwards compatibility means a perfect inability to fix any mistakes of the past.
With UAC and WDM -> WDF, they finally established an intent to deprecate older (and insecure / poorly-designed) functionality.
That said, imho, the user-mode / UI/X compatibility is an absolute !*&$ show with respect to predictability. Especially in the "utility program -> app" transition, wherein the latter still aren't feature-complete. Whoever PMs over those teams should be fired.
The whole point of Project Reunion is to drop some of those ideas and get back on track with a Windows 7 like development stack, just with an improved runtime tooling (UWP).
And in about 10 years pretend that the road started by Sinosfky on Windows 8 never happened.
> Windows would never sacrifice it's backwards compatibility.
They wouldn't necessarily need to sacrifice backwards compatibility. They would just have to ensure that the new OS fully supports all of their APIs from the past.
Imagine Wine but 10 times better, built into the OS natively, and built by 500 engineers with full-time pay. I'm sure it could be pulled off, if they wanted to.
What you're describing are the Windows compatibility mitigations patches. Windows 10 emulates a tremendous number of quirks and glitches from earlier versions of Windows. Fifteen years ago they were already knee-deep in patches ( http://ptgmedia.pearsoncmg.com/images/9780321440303/samplech... ), and the importance of backwards compatibility has not diminished since.
I wonder why they can't just take the Android approach and let each .exe define an API level that it wants to have, and then never change how that version of the API behaves, just release new versions and let apps update their code on their own schedule. I feel like they shouldn't be knee-deep in patches if they do that ... but I'm not familiar with Windows development at all.
The decor and fonts look like Windows 95. Unicode characters don't display and show as boxes. Input methods don't work. Lots of hardware doesn't work. There's no obvious way to configure all the things you can usually configure in Windows. GPU accelerations don't work properly in things like Adobe's products.
It has come very far but only if you judge it by the fact that everyone is doing work for it for free.
Actually, there is a company called CodeWeavers[1], which sells software based on Wine. CodeWeavers's Wiki page says "The CrossOver version of Wine is regularly refreshed with the latest free Wine patches; likewise, patches from the company are sent back to the Wine project almost immediately. CodeWeavers is a major contributor to the Wine project ... hosts the project's website, and employs the project's maintainer, Alexandre Julliard, as their CTO."
Alexandre Julliard has his own Wikipedia page, also saying "He now works full-time on Wine for CodeWeavers."[2] If you look at Wine's changelogs like in https://www.winehq.org/announce/5.19 , you see his name on a bunch of commits. Piotr and Jacek Caban are names I also recognize as having been prominent contributors for years, and googling quickly shows they are CodeWeavers employees as well. So it seems true. I'm tempted to go buy CrossOver just to support their effort.
Oh the backwards compat attitude goes quite far. Even to the extent that shims are added in updates just to make sure old apps keep working in cases where the vendor can't realistically update all client machines.
I do not understand why Microsoft does not continue to support windows 7 (for a medium fee). I mean as a business client the transition 7->10 was and is a complete waste of resources.
Mainstream support ended almost six years ago. But extended support (meaning those who pay the big bucks) (officially) ended in January this year after 10 years of support. Whether they still unofficially support those who pay even bigger amounts? I don’t know.
The program is called "Extended Security Updates for Windows 7", and the fee isn't exorbitant, but it's not necessarily cheap either. For 2020 it's $25 / PC, rising to $50 / PC for 2021, and $100 / PC for 2022. There's background here: https://docs.microsoft.com/en-us/lifecycle/faq/extended-secu...
Background: I have a Customer who needed to maintain Windows 7 support for a legacy application on a single computer. For $175 to get 3 more years out of a paid-for critical application it was a "no-brainer" (and 3 more years to figure out a replacement strategy). Obviously, not all situations will be as simple.
Which I would love to pay as a consumer Win 7 Pro user but unfortunately MSFT is not interested in that.
Win10 -- which I also own -- has horrible UI and takes the simplicity + familiarity out of Windows, and I just don't want to move any active work to it.
They did. Windows 7 came out 11 years ago in October 2009. Mainstream support ended January 2015, which is fine, but those who paid could get support up through January 2020. That’s just over ten years of support - same as Ubuntu LTS (10 versus the regular 5).
Not to mention Windows 8 came out in October 2012 (with 8.1 the next year) and Windows 10 came out July 2015. I think it’s reasonable for Microsoft to want people to upgrade within 11 years at least once. Especially since Windows 10’s been out for over five years.
For more context, the last Snow Leopard update was July 25, 2011 and was completely unsupported as of February 25, 2014 (although an update for the App Store was released in 2016). Windows 7 received updates through 2019, general support was dropped on January 13, 2015 and extended support dropped on January 14, 2020. The support period for Windows 7 was mightily impressive in comparison to the competition in this case, although the upgrade from Snow Leopard to Lion was easier than Windows 7 to 10 (excluding dropping Rosetta and ending PowerPC support)
Extended support until 2020/01 won't need to be paid as we know. Need to pay for Extended Security Update if you still need to receive security updates now.
They do continue to support Windows 7 and Windows Server 2008/R2 for a fee. The fees aren't hateful, and any size organization can enroll in the program.
Just to add some context, Windows remains a significant part of MS's revenue stream, but in recent years has been overtaken by cloud services (Azure). From their most recent SEC-10K (July 2020, pg 92, Part II Item 8) [1]: (revenue, in billion $)
* Server products and cloud services: 41 (in 2020), 26 (in 2018)
* Office products and cloud services: 35 (in 2020), 28 (in 2018)
* Windows: 22 (in 2020), 19 (in 2018)
* Gaming: 12 (in 2020), 10 (in 2018)
Windows continues to be important (probably a defensive revenue stream), but strategically I wonder what the advantage is of switching to a Linux kernel. So many things would break (the 3rd party driver ecosystem for one would have to turn over several times to catch up), plus MS would lose full control over the direction of kernel development. It also doesn't really help or hinder their Azure strategy -- a large percentage of VMs on Azure are Linux VMs. But I'll stop pontificating without real knowledge and just leave it at that.
right... I tried ubuntu, debian and last RedHat. They are great for their specifically design use but as a desktop for me a novice that just want to get things working and occasional videos and gaming still sucks!
> Windows would never sacrifice it's backwards compatibility.
The times have changed, it's not 2008 anymore. Microsoft doesn't really sell Windows upgrades anymore. They don't need to convince the user to purchase a new version of Windows by saying it won't break their programs. Now it's all Windows 10.
Microsoft will update the operating system users use and if it breaks something, oh well. There is no real competition to Windows anymore. Previously, the competition was staying on the previous version of Windows. macOS? This breaks programs even more often. Linux? Good luck getting an user to use that.
> makes absolutely no practical or business sense. Two major groups buying windows are business clients (who would rather you not change things so that their 20 year old custom software still runs in Internet Explorer) and the average user (who couldn't care if the Kernel was NT, Linux, or a literal peice of Corn as long as things work).
The hypothesis is that users would not even know. API compatibility would be retained through emulation layers, or perhaps hosting legacy Windows inside a VM.
Not proposing that Windows Subsystem On Linux (WSoL) is going to be real, but this attack seems out of touch to me with the technics of the matter. I don't think it is so unimaginable for Microsoft to create a non-disruptive rebase of their OS platform APIs onto another environment. Many have already, in their free time, done just that, quite successfully, albeit Microsoft would have to go further.
The question isn't whether it's technically plausible to do this, the question is whether there's a compelling reason to do it. Is there really any indication that Microsoft feels like Windows is approaching the same kind of dead end that the original Mac OS was at in the late 90s which led them to "rebase" it onto NeXTStep?
Agreed. I think there are some really good & interesting futures for MS & everyone if they did WSoL rather than WS(f)L, but it seems unlikely & chasing this path would require enormous work & deciation. I did feel though that the top rated comment was off-base & incorrect in it's analysis.
Ran into the old Marc Andreessen quote from 1995, Netscape will "reduce Windows to a set of poorly debugged device drivers".
Remarkably apt. Mobile and the competition and especially the web have stripped the primacy of the desktop OS way back. There's mostly just inertia, a lot of legacy, keeping Windows moving forwards. And that legacy, as we keep seeing, is not that radically difficult to emulate or translate. The gui itself has expected behaviors, but I would not say they are loved? There are like 4 different sound control panels in modern windows. The legacy has kept piling up, but in a way that has never become more distinct, or more meaningful: it's chaotic & senseless. Whereas folks like Gnome can ship a radical 3.0, some radical shifts in their long 3.x series, and then go build a 4.0.
Beyond comparison to other gui computing systems, the greater trend wiping Windows relevance off the map is the cloud, is that we no longer want to care about individual computers & computing in isolation. Where we want to go today is across a panoply of systems, into a highly networked well connected cloud, albeit clouds that in practice have been alas radically infantile in ways ("Internet of Shit"), lacking much of the "PC-compatible" spirit of portability & consistency that supported & enabled the rise to the desktop. None the less, Marc has ended up being pretty spot on. Computing is multi-system, multi-device, computing is connected, & we expect most of our experiences to have online impact & usability: this is something that Windows has never really adapted to, never rebased around, despite attempts like Microsoft Live, Microsoft InfoCards, Microsoft OneDrive.
This Andreessen quote also highlights what Microsoft would gain by switching to Linux: far better debugged drivers. Instead of needing to write a Driver Development Kit (DDK)/Windows Driver Kit (WDK) with a bunch of ideas & hope people pick good ways to use the DDK & build robust support, sometimes stepping in themselves if they are desperate for better support. Often it's up to OEMs to fight with their hardware vendors to make the stuff work right. Where-as on Linux, best practices for devices drivers can evolve organically: as one device drivers learns & adapts & figures out good ways of, for example, playing sound, other device drivers can adapt & follow the lead. Common patterns can be surfaced & enshrined. The kernel is it's own documentation for how to move forwards, a nearly complete corpus of what it takes to compute. Windows on the other hand inherently lacks this ability to debug, to find sense for the developers on the platform, for those developers cannot relate with one another: they can only relate & share with Microsoft, whose time & support is limited.
What is Windows's purpose for existence? It reached such vast heights, but now what role does it have, what mission does it have? It's meaning is degraded by a world where devices are now, as Marc pointed out in 1995, terminals to a greater world, & it's distinction among operating systems is fuzzy, uncertain.
As this Chris Wilson's key "History of the Web" slide title declares, "The Web as universal platform"[1] has largely become true (among other erstwhile desktop competitors like native mobile apps). If Microsoft can gain better technical underpinnings, that is easier to support & make fast, by porting their environment & their platform APIs on top Linux, then they can perhaps better focus on finding real distinction & advantage for themselves, finding ways to reach out & regain relevance & connectivity from a more share-able, embraceable, knowable, & connective base (Linux). I think it would be a great advantage to Microsoft to build themselves atop the known & adoptable, with better drivers, better subsystems, & it would be better for us the consumers by far measure. This is why I think, although unlik...
> Who's doing exciting/ambitious desktop OS work? While mobile gets all the attention, we still spend a lot of time in front of our computers, and it feels like the host environment could be doing a lot more heavy lifting (particularly as a meta tool for thought) than it is.
Its not that at all. MS knows the suckers that will develop for FREE is the Linux community! As you guys been posting I notice that most are already checking it out and more or less contributing. It will cost them less to develop and they just throw in their own Windows layer!
Makes no practical or business sense? How many engineers does Microsoft have working on the Windows kernel? A kernel that, from a business standpoint, is adding little value to Microsoft?
Obviously Windows isn't going away - but how many of Microsoft's customers would know that their kernel has been swapped out when the UI and all the applets look identical? As far as they're concerned the switch could have already happened! All they care is the look-and-feel is the same and their applications still run. They don't care about the kernel.
It's not a matter of better, it's a matter of good enough and saving on expenses. Presumably those engineers could be better utilized somewhere that's generating more revenue.
> A kernel that, from a business standpoint, is adding little value to Microsoft?
> Obviously Windows isn't going away - but how many of Microsoft's customers would know that their kernel has been swapped out when the UI and all the applets look identical
Right. Because it's just a simple switch to flip when changing kernels, and all of the Windows software will just go on working as it before.
They're not going to get there tomorrow, but 20 years from now? I can see it happening. Computers are trending towards being things that just run web browsers. Applications are headed to the cloud. And Windows lost the mobile war and is increasingly losing the laptop war.
On the flip side as Azure becomes more significant for MS the role of Linux becomes more significant. At some point the cost of working on two kernels is going to outweigh the benefit of transitioning Windows over to Linux.
Or maybe not. It's hard to predict things. Especially about the future.
The main thing that will happen to software that's twenty years old in twenty years is for the software to be forty years old. Large legacy systems do not get replaced.
Don't dismiss that there are more than technical aspects involved when making a business decision. We had customers who purchased our file serving product using CIFS because it wasn't based on Samba. Likewise I fully expect that there are people who will avoid buying a product based on Linux if they can.
> Makes no practical or business sense? How many engineers does Microsoft have working on the Windows kernel?
This is really anecdotal, as I sadly did not find the article I have this information from, but IIRC, the core NT Kernel team isn't as big as one would expect, about a dozen to two dozens maximum (big emphasis on "if I recall correctly").
That points to another issue: sustainability. If the group is that small, and presumably aging, then how do you ensure you have enough in the pipeline to ensure you can support and enhance the Windows kernel for years to come?
Why do you presume that group is aging and not regularly rotating people? A dozen people sounds like a standard team size to me, which seems mostly indicative of the scope (not importance) of the work.
Also I believe Microsoft employs somewhere around 50.000 engineers, a good amount of whom work on and maintain low-level systems. I find it unlikely they'd have a shortage of sourcing talent for one of their core projects.
I imagine maintaining the kernel is very important. As that can be (and is) a major source of vulnerabilities. Also, it largely determines what hardware Windows can run on and what features it can have/support.
If the NT kernel is in maintenance mode that might be because they are planning on replacing it.
How many more engineers would Microsoft then hire to maintain the Linux kernel? My guess is it would be approximately equivalent to what they already have now.
And, there a definite feature differences in how the kernels behave, so they will have to rewrite major sections of Windows to fall in line with the Linux way of doing things.
And on top of that they will have to support Wine, or their own equivalent of it. In order to make decades of Windows only applications work. Sure Wine works pretty decently now, but not at an acceptable level.
They appear to be working on getting Direct X to work on WSL, but not sure how that will work if its on raw Linux. I don't think it does.
And Windows handles drivers completely differently than Linux. There was a thread here in the last few days about the AMD drivers being ~10% of the lines of code in the Linux kernel. There is all kinds of specialized hardware that take advantage of Windows drivers. Which would now probably need to all be in the Linux kernel.
And how about Active Directory? Thats a huge part of the Enterprise use of Windows. Need to translate all those features and controls over to Linux too.
So even if you save a few Engineers on the kernel dev directly, you probably have hundreds of new jobs to deal with the migration. If not thousands.
This will happen. The windows nt kernel is better by design (dont crucify me for this, but it really is), but this decision will come from another perspective - "we need to pay large sums of money to kernel dev. depart and we are having huge problems with HR to deliver what is essentially free and we can pick higher management bonuses for eliminiting that cost. It is not a technical question - it is $ question and linux wins here. I dont like it, I prefer freebsd but this is the sad fact:
Management bonuses > any technical knowlidge or reason
The whole IT progress was destroyed by this fact, from OSes to the cloud, from irc to fb, from cats videos to having live cat. From optimal protocols for the task to http. From native gui to html/js abomination,... from laundry machines that live 20 years to the ones that get broken in few years... It gets destroyed when complete analphabets drive the decision about progress trough their vision of getting more money.
At the end you will be running windows. With its look and feel, but with linux as kernel.
(I know that I am not great for anyone here, feel free to downvote me, but do take time to think about it. Consumerism destroyed the computer science and it is not getting any better)
I upvoted you, thank you for your thoughts! I use and develop on both windows and linux a lot, have positive and negative thought and feelings about both. I'm not a systems programmer, but I'm very interested in kernels and OS dev. I'm decently waves hands vaguely familiar with NT and the linux kernel at a high level. Could you please speak a bit more on NT>linux kernel? I'm very interested.
Only once Windows adoption is like IE/Edge now. Until then switch does not make sense. As Linux a user I know my hardware choices are limited. AMD GPU drivers in kernels, I would not risk yet. There is ongoing switch from X to Wayland, Steam Proton yet gaining compatibility. Many more years later.
What if Wine/Proton achieves 100% compatibility? How would it affect Linux user space? There would be much less friction to migrate, critical hardware just works.
Maybe the one good thing could come out of this is that Microsoft could fix broken audio subsystem on Linux. I agree that Windows itself handles audio barely okay, but Linux is a pure drama. Sure it works for regular user watching videos on YT, but if you want to do any professional audio work, Linux just don't cut it. Its libraries like Jack or Pulseaudio don't work properly, they crash, have latency, crackles and other issues...
> The windows nt kernel is better by design (dont crucify me for this, but it really is),
How so? Maybe at least state something, not just put it in like an "undeniable fact".
> we need to pay large sums of money to kernel dev. depart
IIRC, their kernel (core) department is rather small - I really do not think that has anything to do with it.
They also hire already Linux kernel devs, and if they want to shape it for their OS stack, they'd need to do even more so.
And I'm really not sure how the mixed rant about planned obsolesce and replacement of the native clients, which are very hard to maintain for multiple OS, with using a cross platform technology instead, for better or worse, has to do anything with the initial stuff.
> It gets destroyed when complete analphabets drive the decision about progress trough their vision of getting more money.
So using the Linux kernel would be equivalent of the decision of an Illiterate?
Further, as you seem to care about IT progress, how does fare the NT kernel with that compared to the Linux Kernel?
The last time I looked the NT one lacked a lot of features, from control groups, to checkpoint restore whole processes, varying amount of namespaces, scheduling (CPU, IO, realtime, ...), highly sophisticated Filesystems with lots of research going on there and in other areas.
Linux is multiple order of magnitudes more diverse and accepting for research, features, new design approaches, ... in comparison to the NT kernel, so please, don't make yourself look stupid by stating as it would be the other way around.
>> The windows nt kernel is better by design (dont crucify me for this, but it really is),
> How so? Maybe at least state something, not just put it in like an "undeniable fact".
There are two areas where I would say the Linux kernel is obviously inferior:
* Process management. Everything from creating processes, inspecting them, debugging them, querying process status, etc., is just better on NT kernel.
Take process creation. On Linux, to do advanced stuff, you fork() (or clone() if you want to get a couple extra process args) the process, then potentially call several other syscalls in the child process to do things like change security parameters, enable debugging, close file descriptors (!), before calling exec() to actually invoke the new process image. And if any of those things error out for some reason, you need to have a backchannel back to the parent process to inform it of those errors, which you have to set up yourself. And since fork() only forks a single thread but keeps all other non-existent threads in the same state (e.g., held locks), it doesn't really work in multithreaded applications unless you're extremely careful. On Windows, it's CreateProcess() where one of the arguments is essentially a list of all the changes you want to make in the child process for capabilities.
If you want to do stuff like get a process memory map information, inspect remote environment, etc., on Linux, you get to parse procfs (and hope to hell you're not dealing with cross-namespace situations because things start to break down at that point). Procfs consists of a lot of files whose contents are in a textual format that has a lot of parsers which fail to handle edge cases correctly. On Windows, you get to use system calls like GetProcessInformation that returns a nice struct with all the relevant information in it--no parsing necessary!
Debugging is even more of a mess; Linux developers admit that ptrace is a broken API that needs to be gutted and replaced, but no one wants to touch it. Windows has things like CreateRemoteThread and editing remote memory maps without having to inject your code into the debuggee to call mmap.
* Handles. On Windows, everything is a handle, which means you can do things like wait for any relevant event in WaitForMultipleObjects. Linux has eventually gained a facsimile of this with the variety of file descriptors (e.g., signalfd, timerfd, pidfd) to coerce various kernel objects into things you can pass to poll, but this also runs into issues that file descriptors have properties that limit their utility, such as file descriptor exhaustion or their behavior with fork().
I'd also suggest that things like IOCP or the capability system in NT as things that may be superior to Linux, although io_uring may be a compelling alternative to the former, and the cgroup/namespace capabilities to the latter.
No it's won't. I don't know who is proposing this stuff, and after a lifetime of computer nerditry this is the first time I've even heard of it, but "rebasing Windows on the Linux kernel" is just fucking insane.
Like what kind of fucked up fantasy are these diehard Linux fans living in.
I used to think such things, then Ballmer left and they dropped IE like a rock, and started renting Linux on Azure. Apple had made it cool to reinvent a company every ten years, and shown it to be potentially more profitable.
Don't forget, it was a long time ago but MS used to be quite cross-platform. My Commodore featured their BASIC "OS". They could be again.
Will it happen today? Of course not. But it's not hard to imagine ten years in the future where NT is creaking from under-investment and finally abandoned in favor of much cheaper WINE/VM or ReactOS support. Operating systems and tools are now a commodity.
Windows will carry via entropy for years to come. Enough software developers don't really care if their applications run outside of windows, even for apps that would be trivial to port/migrate to do so.
Microsoft already gave up on re-implementing Linux on windows, and went with running a genuine Linux kernel in WSL2. The only way to guarantee a fully backwards compatible Windows layer on Linux would be to run it on top of a genuine Windows kernel, at which point what are you actually gaining? Even if they did do it, I don't see how it would meaningfully change anything, or what advantages it might offer them.
WSL is simply about better supporting Azure developers and customers. That's all there is to it.
Oh sure, I'm aware of it but that's been around for decades. It's similar to the way Apple has a very limited single purpose compatibility layer for MacOS desktop apps on Windows that they use to run iTunes (and previously quicktime). It's a tactical solution to a specific problem, not an indicator of overall strategy.
Reading the article the first time was confusing to me, as an unqualified "Raymond" in the context of Microsoft means Raymond Chen to me, it was only when mousing over one of the links that it finally clicked that it was esr.
No. Microsoft is attempting to rebase Linux on to Windows. And if you are aware of Microsoft's purchase of GitHub, Microsoft's purchase of NPM and the MS efforts to provide a "free" compelling tool with VsCode, then you may have a reason to ask whether this pattern of activity suggests that Microsoft is attempting to rebase Open Source onto Microsoft Source or simply to monetize open source.
I know many people who are unfamiliar with Microsoft's long history of Embrace, Extend and Extinguish will be appalled at this suggestion, but if you are looking at canaries or concerns there it is. EEE is the MS DNA.
I don't think I follow your logic. Open source software has a long history of being monetized via support. Many popular open source projects have a major financial backer responsible for most development.
At any rate, I fail to see how MS getting open source tech working smoothly on Windows will somehow
> EE is the MS DNA.
I don't mean to be rude, but this comment is repeated ad nauseum here on hacker news. It's not an insightful, nuanced nor fresh take.
> Don't say you weren't told.
Believe me. We were told. Thousands of times. You all won't let up.
Just to be clear, I am also concerned about these issues but this argument just isn't convincing. It takes an ethically misguided company strategy from decades ago and extrapolates that to some vague sense of "evil" lurking inside the company. How about some _recent_ evidence? Sources?
Because as far as I can tell, MS is being _forced_ to embrace and extend Linux on their OS. They've been historically reluctant to do so until the cloud made Linux impossible to ignore. I struggle to see how they could even pull off an "extinguish". The very nature of open source makes that difficult. I guess they could buy Canonical and then just fire everyone, but the damage is still just limited to Ubuntu which would be promptly forked if needed.
Between Apple Silicon and Chromebooks, it's looking like ARM-based computing is becoming a thing, or at least enough of a thing that if I was Microsoft, I'd worry about how much Windows is tied to x86.
And while Windows does have an ARM port, all the drivers and board support packages seem to be tied to Linux, and Linux based operating systems like ChromeOS and Android.
What I suspect to see is a product that combines the Linux kernel, ELF versions of Edgium and Office, a port of the Windows shell that runs on top of this, and maybe support for running Win32 binaries in emulation, with as-it-is backwards compatibility guarantees.
If something like this comes to exist, I'm guessing it will be sold as Windows A, or something other name like that. Will it be Windows? That's probably a philosophical question, more than anyththing.
>Windows does have an ARM port, all the drivers and board support packages seem to be tied to Linux
Not entirely sure what you mean by this. Windows has supported ARM for a long time, Windows CE supported ARM starting in 1997 [1]. Windows Mobile which ran on ARM phones had been around since 2000. The Surface RT, based on Windows RT, was a more traditional tablet was also ARM based. Now Windows 10 on ARM has been around for about 3 years and third party manufacturers are selling ARM based Windows laptops.
Why would they take a beautiful, modern microkernel OS like Windows 10 and graft it on a clone of an Apollo-era monolithic-kernel OS? You’d have to be nuts to even think of that!
Unix turned out to be more elegant and flexible in the long run than VMS despite being a few years older. OS are commodities now anyway. Cost savings equals improved profits for shareholders, which is the goal of every big company.
> It is unclear if the Windows user space could even be rebased from NT to the Linux kernel and maintain the compatibility that Windows is known for, specifically what enterprise clients with mission-critical applications are paying to get.
Given how buggy, and unreliable Windows is, wouldn't be this a straight improvement for their "mission-critical" stuff?
Windows is a legacy operating system with an elderly demographic. They just need to keep Windows as Windows for its business and consumer customers without trying to make it something that it isn't.
> Raymond is correct in one key part of his blog. I do think the era of the desktop OS wars is ending.
Mhm. Let's repeat this when percentage of Windows usage will be much lower and there will be more games released for Linux on day one and MS will stop swallowing Linux friendly studios like inXile and Obsidian. Right now I don't see it being the case by far.
MS is still very hostile to Linux gaming with DirectX lock-in and platform politics. The above claim just ignores reality.
During the initial discussion on the kernel mailing list regarding MS bringing in some DX related stuff, there was mentioned (although seemingly no one really picked up on it) an internal discussion at MicroSoft of porting DX12 to Linux with no Windows required.
They never said they'll open source it though. So I'd say no, thanks. I don't really trust them doing the right thing. If they wanted, they could join the Vulkan effort which is already cross platform. They never cared which clearly demonstrates where their interests lie.
The proper progress is for such lock-in to be replaced with Vulkan which is by design an open and cross platform API, not to proliferate blobs on Linux.
I don't get all the hate for win10 -- I love *nix from a the pov of a clear, orthogonal internal design (at least from 10k feet) and it doesn't make since to deploy at scale on Win (unless you really need to) -- but why would I ever want to spend time dealing with all the configuration idiosyncrasies and driver issues on a day-to-day basis, if what I'm using a OS for is to host browsers, editors, IDEs, terminal windows, etc., and productivity apps? Okay, win8 was DoA, but win10 seems pretty unoffensive FWICT. I just want to pick up my machine (and just as importantly, someone else's random machine) and have it just work as I expect.
Perhaps -- and if I do, I think you've just underscored my point. If someone who started programming the same decade Unix was invented doesn't want to be his own sysadmin, why would most people?
You're right, you don't need "linux for dummies" (don't even understand the point of linking to that), you're probably better off sticking with windows.
For what it's worth, though, I haven't been "my own sysadmin" nor have I had to "spend time dealing with all the configuration idiosyncrasies and driver issues on a day-to-day basis" in linux for the past six years. In fact, I don't even install extensions anymore. My secret ain't manuals, though, it's the much simpler "only buy machines that the vendors declare as compatible with linux" or the even simpler "buy machines with linux installed already".
Though I only use my computer for browsers, editors, IDEs, terminal windows, and productivity apps; and pretty much nothing else, so experience may vary of course.
The "For Dummies" brand has been around for decades for self-learning various topics. Linux For Dummies has been around since at least 1997 (first time I saw a copy of it).
It probably wouldn't be my pick as a first resource, but it's no less valid of one. I wouldn't classify a recommendation as a personal attack.
I run Win10 for my personal dev machine. High performance on commodity hardware, without the Apple pricetag or Linux config headaches (particularly caused by GPUs in both instances).
It has WSL for a terminal and Docker for projects with environmental assumptions (node, postgres, etc).
It's not without quirks, but for me, it matches the productivity of OSX and Ubuntu while opening up possibilities they lack (like straightforward gaming, game/VR development, building the machine into a desk so it's invisible in my office).
I feel the same, but actually far prefer Windows 10 to MacOS (I've been a Windows user far longer than a MacOS user tho).
For server, I'm all-in on Linux - it's the perfect server OS.
But for desktop, I reckon Windows 10 is the best desktop OS by a stretch, and everything "just works" - whereas even on MacOS I have constant issues with multiple monitor and hi-DPI support, never mind Linux.
I prefer bash to the Windows command prompt or Powershell, and Git Bash fulfils pretty much all of my needs there. Otherwise I have WSL available.
For backend services used during development (postgres, rabbitmq, redis, whatever), there is Docker Desktop, which was a bit dodgy in the early years, but has worked marvellously for a long time now.
TBH, I'm struggling to think of anything Linux or MacOS has that Windows 10 doesn't...
1. TBH this isn't an issue for me. I'd argue any real problems with keyboard nav are application-specific
2. OK, this does bite me rarely, where I can't delete a folder because of messed up permissions. Probably last time was a couple of years back
3. I disagree about the app ecosystem, but fully agree about package managers. The Windows installer system is horrible - I'd rather grate my face than have to build another MSI package...
I felt the same about Linux until I started using an AMD GPU and found out the problem was actually Nvidia. My Linux desktop now runs really smoothly with no configuration needed.
I would love to be happy with Linux as a daily driver. It's been years since I last tried it, and I would give it a shot on this machine, but I've got an Nvidia GPU!
> dealing with all the configuration idiosyncrasies and driver issues on a day-to-day basis
You mean on Windows? The only driver issues I've had on linux were NVIDIA (fuck you NVIDIA) and (for a short time) AMD during their transition from driver in a package to driver in the kernel. That's it in a whole decade.
Hunting down drivers for windows was way more annoying.
Rumours of Linux' config hassles are greatly exaggerated. Use Ubuntu, Linux' Windows, and it. just. works. Even nvidia GPUs don't require you to install anything, let alone build or configure. The last time I ran into trouble, must've been the mid-aughts.
What I do see is techies confusing cutting edge distros such as Arch for 'Linux'. When you're running Windows, you're not using an internal MS build either, so that's the wrong comparison (which I see made often the techier people are). The proper comparison is Ubuntu LTS and Ubuntu LTS only.
I don't know much about the direction Windows is heading (I have not used Windows since early 2000s), but if there ever was a good time to do it, it would be now that Apple is slowly killing macOS and turning macs into giant phones.
If Windows had UNIX kernel and POSIX with custom UI, it would be a viable platform to switch to.
I love linux, but I would actually rather see MS open source the Windows kernel than replace it with the Linux kernel.
I'd also love to see a "Linux Subsystem for Windows", to make it better to run windows applications on Linux. Wine sort of fills this role, but I'd really love to see a MS-backed fully compatible system. And maybe it could work similar to WSL2, where it is an actual windows kernel running inside KVM.
That's part of what I meant. But also, being able to launch a windows application from linux and have it seamlessly start, rather than having to boot up a full Windows VM and then launch the application from inside of there.
314 comments
[ 6.1 ms ] story [ 203 ms ] threadI feel like Microsoft has read the writing on the wall. Developers love nix-based systems (Mac, Linux). They are trying their best to catch developers at the door with a "but wait! there's more!"
Now the reverse is seen as advantageous: any app that moves from Linux to Windows is good for them, so things like WSL encourage that.
This is the crowd that Microsoft is after, devs that don't care about Linux ideals, just a POSIX like stack.
I kind of disagree with the Windows/WSL and Mac being targeted at the same crowd. I have the feeling gaming has a higher priority with the Windows/WSL users and what would drive someone who'd otherwise get a Mac to get a Windows box. WSL seems to be geared at preventing a Windows user from switching over to either Mac or Linux for the superior Unix experience.
The outcries every time Apple does a decision in favour of their developer community, that breaks those that buy their laptops as shinny "Linux" kind of prove otherwise.
OS X just like NeXT, only cares about UNIX to the extent that brings software into the platform, not out of it, its dev stack never cared for UNIX as such.
Much like Microsoft, Apple doesn't want macOS or iOS apps to run on anything other than their platform. For any OS, the winning strategy to gain market is encouraging porting to the platform and discouraging porting away from it.
During high school I got introduced to UNIX via Xenix, and my first years at the university we had DG/UX on campus, while I started playing with Slackware 2.0 to avoid going into the campus fighting for a terminal after 1h bus trip.
Doing POSIX stuff was the same mess as making a Web site work properly across all major browsers.
My memories are substantially more traumatic than that, but, anyway, it still is complicated. I've been following the ncurses devel list and it's amazing how many different OSs people run it on.
https://channel9.msdn.com/Blogs/Seth-Juarez/Windows-Subsyste...
WSL2 as virtualized Linux kernel is basically what everyone else on mainframes and UNIX world was already doing for Linux kernel compatibility anyway.
Isn't Wine more like a hack?
Why would you want to have something like that when there's .NET Core? isn't it doing to solve problems that Wine tries to challenge once it supports crossplatform GUI? (so basically once MAUI is released)
* I'm not talking about Avalonia GUI framework which already exists and is crossplatform.
Not more so than Windows.
> Why would you want to have something like that when there's .NET Core? isn't it doing to solve problems that Wine tries to challenge once it supports crossplatform GUI?
No. .NET Core and Wine does not solve the same problem.
.NET Core only allows you to run applications written for .NET, which isn't most applications.
It’s a very nice tool, but the two dominant and old GUI frameworks for windows require win32 api for a bunch of stuff the last time i looked and there’s no getting away from it.
it is "A cross platform XAML Framework for .NET Framework, .NET Core and Mono."
So that is in a realm of possibility.
That said: (AFAIK) Both run on Wine in some versions.
But I would gladly pay Microsoft to have a wine like thing that supports a broader range of software better, because I prefer Linux to Windows.
AFAIK main revenue for MS is Azure and Office360, not Windows.
https://www.microsoft.com/en-us/store/b/windows
Windows 10 Home starts at $130, Pro is $200, and the business licenses start at $300. Given how much of Windows market share comes from business use, it’d be surprising they weren’t making a lot of money there. Since they’re a public company it’s easy to confirm that, yes, selling the most popular operating system in the world is profitable:
https://www.microsoft.com/en-us/Investor/earnings/FY-2020-Q2...
Even when Windows detected that the license was fake, it basically didn't do anything. Some occasional messaging and a black background was the worst of it. I figure Microsoft understood that pressure on not-rich home users would just beef up its competition.
You can use it, sure. But between the watermark that is always on top and lack of being able to customize the OS I wouldn't want to use "free windows".
Aside from that they are a an open source project, working on a open/libre alternative. Some people in the project certainly have issues with Microsoft, others don't.
*unless the games you play are online games with Anti-Cheat.
And it's funny you bring up anti-cheat, because my biggest success using Wine was Battlefield 2, which actually ran more smoothly on my machine under Linux than Windows, but then I tried to get online, and learned a harsh lesson.
The caveat is largely that not all games are solved by this [0], and the official Valve whitelist needs to be turned off in settings to use it for all games, but even with these it's still a marked improvement in Quality of Life and barrier to entry for running Windows games on Linux.
I'd give it a go if you have time/inclination. I can recommend it as someone who is now Linux only as a result of this.
[0] - www.protondb.com
Proton was a dramatic change for me. A few clicks to enable Proton for a particular game, and then it just seamlessly runs and works. Granted, not all games do (check ProtonDB) but all the games I've wanted to play for the last couple of years have worked. I'd say Proton is the most significant thing to ever happen for Linux gaming support, and it did more for me overnight than many years of trying with Wine.
Modern multiplayer games with anti-cheat are mostly broken, some popular ones like Rainbow Six Siege are impossible to play. But if you mostly play other games, give Proton a try.
Much rather against apple and chromebooks and they cannot buy them. So I doubt they do not buy cannonical because of fear of regulators.
ChromeOS is supposedly 6% of the desktop market share according to stat counter that I believe confusingly includes desktop/laptop under the same grouping. I'm guessing that about nobody is running chromeOS on a desktop so a reasonable guess is that their share of the laptop market is could easily be 10ish percent.
This would leave windows with somewhere between 70% and 80%
Red Hat and its enterprise focus would have been a better fit than the much, much smaller Canonical, so there's no reason to believe that MS would consider buying Canonical.
- They seem to be comfortable shipping that as the default WSL for a few years and this would allow them to integrate even deeper. - Ubuntu is one of the main systems people use in cloud based environments; including Microsoft's own Azure where it and other linux distros are more popular than Windows Server. Taking control of Ubuntu would allow them to take full control of that stack. The goal here would be to offer an alternative to the likes of Oracle and IBM for enterprises and make sure Azure retains its competitive edge over cloud platforms offered by those two. IBM just bought Red Hat; and Oracle ships its own Red Hat derivative. - On premise "cloud" is becoming a big deal. Owning Ubuntu, which is a player in that space too, would enable MS to make Azure on premise a better product.
The Desktop application market at this point is mostly split between creative tools and developer tools. MS is big into the latter and most of that targets Linux already. Creative tools are basically Adobe and similar companies. Most of those target Apple and MS. Finally there's office, which mostly already works in a browser. I doubt they are in a hurry to produce a Linux desktop version. It's a lot of work for basically no big return on investment. They already struggle with keeping the OSX version relevant.
Finally, there are games. PC Games are big drivers for MS Windows sales. It's what keeps home owners buying windows computers with the windows license. While in decline for years, that's still a lot of money for MS. Without gaming, they'd have been bleeding more users to Apple and Linux for years. Of course XBox is still Windows based. I'd say this is the main thing that is keeping Windows Desktop alive. So, I don't see them walking from that any time soon. They might however, transition X Box to a subscription based streaming service at some point. Various companies are already piloting solutions for this (Google, Amazon, NVidia). Linux might make sense here but it would require tight integration with hardware and software. I'd say forget about MS even attempting to support that at the level they currently support Windows. But, I wouldn't discount it for a future iteration of XBox though.
Probably not what most expect from Linux on the Desktop. But hey, if you still can’t properly support 4K scaling in 2020, it’s never going to happen. It will probably always be a fringe group.
Unless something really changes within the mentality of the open-source / Linux community.
But hey, for some people linux will never do anything right.
Just like reporting Ubuntu bugs feels like shouting into the void, what are your chances as an end user of MS quickly fixing a bug you find?
In Windows land I don't have to know something very well to get reasonable help on it.
Besides which, I know from personal experience that Linux Desktop people will assume all sorts of things about you. Quite often I will ask something like "is it possible to make X do Y?" and the response will be something like "you shouldn't do Y. Why do you want to do Y? You should do Z instead, I've only ever needed to do Z".
> Quite often I will ask something like "is it possible to make X do Y?" and the response will be something like "you shouldn't do Y. Why do you want to do Y? You should do Z instead, I've only ever needed to do Z".
Ever seen the answers in Microsoft Community? It is either this, or a complete misdirection, so some Microsoft contractor could prove his productivity, and in the end solving nothing.
--- I'm using all three desktop systems: Linux, Mac and Windows. No, the grass is not greener on either side. Every single of them has its problems, and every one of them has its stronger points. However, "if you still can’t properly support 4K scaling in 2020" is complete nonsense.
Just reinstall Windows, that'll fix all your problems! (/s)
If I had a pound for the number of times I've had Windows issues, Googled the error code (because error code 0x800704cf is so intelligible) and found some mix of "I'm having the same problem, how do I fix it? ¯\_(ツ)_/¯" or "just reinstall".
0x8007 - warning in facility 7 (WIN32)
0x04c7 - 1231L - ERROR_NETWORK_UNREACHABLE
// MessageId: ERROR_NETWORK_UNREACHABLE
// MessageText:
// The network location cannot be reached. For information about network troubleshooting, see Windows Help.
#define ERROR_NETWORK_UNREACHABLE 1231L
> The experience of finding solutions to Windows problems, which is in fact a significant portion of my day job, is vastly superior
Second result for "0x800704cf windows 10" is this shambles on MS's own discussion site: https://answers.microsoft.com/en-us/windows/forum/windows_10... where the poster says they spent hours on the phone to MS trying to get support and on the way had done some insane registry fiddling to try to fix it before discovering it was an issue with their user account.
>if you still can’t properly support 4K scaling in 2020
To which this is an entirely reasonable response.
Sadly, a lot of zealous Linux Desktop Evangelists exist and are extremely vocal.
Please elaborate? I've been using KDE with scaling and 4K monitor plus a widescreen for the last few years.
1. X can't handle independent screen scaling of two different DPIs. I have 24" and 27" screens and on windows I can have the 24" one at 2x and the 27" one at 1.5x and it "just works". In X I have both at 1.5x.
2. Wayland supports independently scaling the two screens. Unfortunately programs that don't support wayland run through something called XWayland, which upscales them in a crude way that makes the fonts blurry. It's pretty much unusable because of this to have an XWayland app (this includes chrome, firefox, and emacs) running on a 4k screen in wayland, at least on KDE.
It's frustrating because it's SO CLOSE. There are WIP branches of both browsers running on wayland (but they're not stable for me) and once those land I think everything will finally work.
All this said I do still use KDE on X daily as my development environment, but every time I boot back into Windows I'm frustrated again by how much better the scaling is.
Given pretty much all laptop screens manufactured these days look best with about 125%-150% scaling, this is a pretty big issue.
But the success of WSL would seem to indicate they aren't really in the market for their own flavor of Linux.
The Linux Desktop Evangelist believes that this demonstrates that Linux Desktop is not difficult to use, but what it actually demonstrates is simply that Linux makes a really good appliance. As long as you don't ask more of it than one or two carefully accounted for use cases, you won't see a problem. Attempt to step out of the box though...
Do you have a concrete use case where Linux fails and Windows succeeds?
For instance, if I say I do something requiring an application for which there is no good OSS equivalent you'll tell me it isn't Linux's fault companies don't port their software to an OS with ludicrous levels of fragmentation that break compatibility nearly every release.
I have been in this argument many, many times over the past 2 decades. It is always the same. Deny there are problems, suggest insufficient alternatives, even recommend just changing their use case entirely. Anything to avoid saying "yeah, Linux actually isn't good for that".
I have a 4K Ubuntu laptop from Dell. The text and GUI automatically scaled to the right size (except for one old program). And I plugged in an external 4K monitor using HDMI and it just worked.
I'm sure there are hardware configurations that don't work as nicely, because Linux supports a ton of weird hardware. But it's easy to buy high-quality Linux systems.
Even someone like me has long since stopped reporting bugs to Linux Desktop projects because of the above, and the fact that a lot of times the bug is already in the issue tracker and has been for years so clearly no one gives a damn anyway.
Personally I bought a highly-recommended Windows laptop a few years ago and had to stop using the OS because both sleep and the Intel wifi drivers simply didn't work. Yet if I tried to use that experience to proclaim that that Windows was a non-functional, useless operating system developed by people who don't give a damn, I would not be taken seriously.
By the way have you considered what reporting bugs like this for Windows is like? You end up on one of those Microsoft support sites staffed by non-technical non-employee Community Experts who have absolutely nothing useful to add. Talking to real driver and OS developers directly on Linux bug reports is magical in comparison.
...because they have entangled their identity with their OS of choice such that they interpret "I had a problem with this and therefore don't use it" as some kind of personal attack. This is not only unhelpful, but an actively repellent behavior.
> Personally I bought a Windows laptop a few years ago and had to stop using the OS because both sleep and the Intel wifi drivers simply didn't work. Yet if I tried to use that experience to proclaim that that Windows was a non-functional, useless operating system developed by people who don't give a damn, I would not be taken seriously.
Case in point, who is saying Linux is useless? Useless for their particular use case or workflow, sure. Even people who like Windows generally, like myself, say the developers don't give a damn (see some of my other posts on the subject). Fact is, a lot of use would love to be using an OSS system, but the community actively fights us when we have issues with their stuff and their echo chamber of "our way is the best way!" remains unbreached, so our use cases and workflows are never accommodated and we, consequently, can't use it. This has been going on for about 20 years now. It's pretty damned tiring.
> By the way have you considered what reporting bugs like this for Windows is like?
I work supporting Windows systems, so I know how useless Microsoft support is. You know what I don't get when I talk about a Windows issue with other Windows admins though? "Well it works fine here..."
> Talking to real driver and OS developers directly on Linux bug reports is magical in comparison.
Sure, if they listen, which they often don't. Spend some time in Ubuntu's issue tracker if you don't believe me.
>they interpret "I had a problem with this and therefore don't use it" as some kind of personal attack. This is not only unhelpful, but an actively repellent behavior.
Your posts so far have implied that people reporting their positive experience or advising how to make the most of Linux (eg being careful about hardware choice) must be doing so because of a kind of identity crisis, or that they are reciting from mockable 'Linux Desktop Evangelism playbook'. Meanwhile you seem to have taken personal offence at the 'community's (as if it's one entity) response to your Ubuntu bug tracker entry.
Having said that, I'm also generally in the boat of having an unpleasant experience installing on various laptops. Doesn't stop me from trying every year or so though, ha.
I'm running regolith with i3 using an X server on my WSL 2 install. It even has GPU passthrough now! It's been super pleasant experience having the best of both worlds without having to reboot.
If you're asking to make a point, I'll just say that it takes a level of tech savvy to even know _how_ to find a Linux laptop that runs smoothly. That is the problem I'm referring to.
I've heard Dell and the Thinkpads work well with Linux. Got any other suggestions?
Here's my "secret," if it helps. I buy laptops with Linux pre-installed from a supported vendor, I run Ubuntu LTS in the default configuration, and I only customize a tiny number of things. This has worked pretty well for me for over a decade. (Before that, I had more issues.)
I don't feel like installing Linux onto random Windows laptops is a good use of my time. Similarly, if I were to choose some unusual distro or desktop environment, that would usually mean more hassle. So I don't.
> Also, having two screens with different scaling was completely unsupported, unlike on Windows.
Yup, that's the biggest limitation I've seen. That's one reason I ended up giving away my ancient external monitor and getting a new 4k. That way I can use the same scaling on the internal and external monitor.
And if I'm going to make a major hardware purchase, I usually Google to see if it works with Linux. This matters mostly for things like drawing tablets.
Linux Desktop Evangelism playbook hasn't changed since 2000.
Anybody who uses Windows 10 with any regularity will also run into things that just do not work: for me, recently, it's Windows deciding that I want my sound to output to my monitor (which doesn't have speakers). The only reason Windows issues are treated differently to Linux's is that it's treated as the default.
It doesn't sound like a Windows bug unless your monitor is actually incapable of outputting sound at all. In that case, I'd wager your monitor is advertising sound when it has none.
I'm not saying that Windows bugs don't exist (I've run into lots), but I'm guessing that this isn't a Windows bug.
The linux fanboy definition of works is either works out of the box or can be made to work.
The opposite position seems to be must work out of the box on any of 50 distros on any hardware I buy at Walmart AND must invent time travel to change the fact that it didn't work 7 years ago on the Acer I bought from that weirdo on Craigslist the only time I actually tried installing it.
Take High DPI
It kinda looks like cinnamon for example supports HiDPI out of the box but all the knobs are there if you want to tweak how different things scale.
https://wiki.archlinux.org/index.php/HiDPI
If on your distro something isn't configured correctly for 4k screens the fanboy says its workable because there is a readily available resource that will tell you how to achieve the result you desire.
The anti fanboy will throw up their hands and say Linux sucks.
An argument can be made that that this isn't good enough for "grandma" or "regular people". I see problems in consumer electronics and windows that are too hard for grandma or "regular people" all the time.
If they don't want to install and configure it presumably they can pay Lenovo or Dell to do it for them just as they do presently. If it comes with a high dpi screen presumably they will configure it for such.
> The anti fanboy will throw up their hands and say Linux sucks.
This is a strange false dichotomy
At least in this issue someone resolved the problem. That's good signal, Linux user would ask how - hardware, distribution, tutorials, links etc.
You see ignorance. It is not about him, it is about you.
I can't at all see why either of those would indicate that Microsoft is gearing up to rebase Windows.
Tens of thousands of methods which power the majority of paid-for software. Microsoft has spent decades, and huge amount of man-power keeping all that software working, why would they flush all that away?
Leaving aside things which touch the GUI (which is a lot! You need a window to receive messages to use certain APIs!), the next big differences are the process API (no fork, starting processes is a lot more time consuming) and the advanced filesystem API (completion ports).
There are frankly a few pieces of the API that I would like to see go in the other direction, like WaitForMultipleObjects().
* https://freebsd.org/cgi/man.cgi?kevent
* https://news.ycombinator.com/item?id=23549116
Countless times that codepage thing has haunted me when moving data from Windows workstations into automatic processing systems hosted on Linux.
If Windows goes to unicode by default, it will make things a lot worse because it won't be the same unicode.
Most programs assume it's all UTF-16, and it happens to work most of the time... at least until you encounter those sequences that are invalid.
* http://simonsapin.github.io/wtf-8/
Unfortunately I don't see that being common enough for data ingestion tools for this to be relevant for a very, very long time.
For now, it's just another pain point because you can't assume Windows == UTF-16 lookalike anymore.
There are situations in which for example VS Code will run git commands "behind the scenes" (without ever showing the command to the user). The way it is now, VS Code sometimes obtains a file name to be used as an argument to a git command from a Microsoft function that return the name with backslashes, gives the name to git, which doesn't consider a backslash a path separator, so git causes an error, "no file named foo\bar\bash," or such, and since that git command line (command with arguments) was never manually submitted or entered by the user, the user can't get past the error just by replacing some backslashes with slashes, then resubmitting the command line.
Microsoft could submit patches to the git project to make git recognize the backslash as a path separator, but there is no guarantee that the maintainers of git would accept the patches. So, Microsoft could end up choosing to bend (on the backslash issue) to make Windows more compatible with git -- and other Unix-centric projects.
If Microsoft come up with something new in operating system design, they don't have to answer to the community when adding it into the kernel.
And it gives Linux something to compare against.
Like CRLF newlines and "\" instead of "/" as path separator?
Jokes aside, MS is not the place I look for "something new" in OS design.
MS Research writes papers that are submitted to various journals (as does IBM, Intel, Google, all of whom have their own operating systems). An obvious example is the Midori project produced lots of novel research much of which has been used, even if the project itself was abandoned. https://en.wikipedia.org/wiki/Midori_(operating_system)
With Windows Phone, they did pioneer quite a bit. It was a phone first, and app running device second. Android and iOS feel like the phone part was a second-thought add-on in comparison. The Windows Phone did its best to make it so you could make a phone call or send a text, at the expense of email, running apps, etc. when the battery was low which took Android and iOS many years to implement. There were probably some other interesting things, but I don't remember them any more.
You'd be wrong, though...
The Linux kernel is great, but there is plenty of room for diverse opinions in user space.
Where did you get this idea? Companies shipping a Linux kernel never had to answer to the community, unless they want to. They can just ship a custom kernel only to their users and leave it at that.
Works really well for Google and Android where they offload handpicked versions of the Linux kernel to the phone vendors to maintain. In practice they don't bother with it so phones never get any updates after 1 year.
Maintaining custom Linux kernel fork is not possible if you want to keep it up with the upstream changes.
I don't understand what you mean here. It's my interpretation that keeping up with upstream is what was meant by answering to the community. It seems that the GP post was not concerned with this or with following the footsteps of Android. It certainly seems within Microsoft's means to deploy a custom kernel on Azure and then only periodically merge with upstream (I believe they are already doing this anyway).
It'd be much better if they upstreamed the changes instead of fragmenting the entire ecosystem with custom forks.
[1] https://www.zdnet.com/article/linus-torvalds-rejects-stupid-...
This reminds me of DirectX vs OpenGL in the late 1990s and through the 2000s. DirectX under Microsoft rule did not have to answer to any committee, thus the progress and groundbreaking technology that it enabled was really good. Meanwhile, The OpenGL consortium had to argue to get just one feature into the standard. It was very slow.
Another example was .NET vs Java. Even though Java was "driven" by Sun (and then Oracle) a lot of the new features were done via consortium and thus its development was slow. .NET instead got LINQ and other really nice improvements during that time. Now, I haven't programmed in .NET since around 2005 (I don´t do Windows), but I appreciate that they are pushing software technology.
You even get nice IDE features in VSCode.
C# is still a joy to develop with over Java, GoLang etc IMO.
Everyone who thinks that using the Linux Kernel is better than NT is already using Linux. Everyone who needs some sort of intermediary support uses Dualboot/WSL/etc. Windows would never sacrifice it's backwards compatibility. This is the company that won't change the bug that makes excel think 1900 is a leap year so that it doesn't break people's spreadsheets. [0] Not to mention porting windows would take a LOT of work.
[0] https://docs.microsoft.com/en-us/office/troubleshoot/excel/w...
I wish I could believe this, but the way Windows has been trending since 10 leaves me skeptical that the old Windows philosophies of catering to the user, keeping things consistent, and being backwards compatible are being smothered by whoever the fuck is working on it today.
On the desktop/workstation line though, let's take a trip down memory lane and remember all these upgrades together: Windows 3.11 -> 95 -> 98 -> Me -> XP -> Vista -> 7 -> 8 -> 10.
I am having a really hard time seeing how one can infer from that timeline that Microsoft's desktop OS line follows a philosophy of "catering to the user, keeping things consistent, and being backwards compatible." Windows 98 didn't cause much hassle, but, at least from my experience, that was really it. Windows 7 had its share of hassles, too. Particularly, as I recall, in the backwards compatibility department. We just remember it fondly because it was sandwiched in between Windows Vista and Windows 8.
The introduction of WDDM along with the new sound and networking driver architectures caused some headache in Vista, but were ultimately significant improvements over the way things had been.
10, on the other hand, made automatic updates mandatory, and pushed itself on everybody through dark patterns. It puts ads in the start menu and on the lock screen. It started, but didn't finish, implementing new interfaces nobody asked for while deprecating the old ones they still hand't entirely replicated. Today, they're doing their damnedest to hide the fact that you don't need a Microsoft account to set up your computer.
Pretty sure the same stands for Android.
Sure I would say this would make it more of a feature phone but the device itself is quite usable without an iCloud account.
macOS is also quite a capable workstation OS that needs no account other than a local account.
Windows 10 Home you cannot even create a local account without having the Internet disconnected.
In the simple sense that you can run ancient Win 95 applications in any of these later versions (if not 3.11 and DOS too).
In theory, according to MS. In reality we all have seen old applications die when windows updates. Security-related applications are notorious for this. What once worked perfectly well with Win8 now goes into total panic mode when it sees Win10 doing its thing in unexpected ways.
I wouldn't expect "security related" applications to work (e.g. some antivirus), as they use bizarro / too low level APIs.
But you can still run 15+ year old games, office apps, and whatever...
One reason for this, interestingly, is that NT had less of a past to deal with - it was a clean-sheet design by one of the most experienced OS kernel designers on the planet (David Cutler, from DEC) - Linux was still trying to be "Unix-like" and maintain (more or less) POSIX compatibility (though to be fair, POSIX didn't show up until about the time Linux grew out of its hobbyist toy phase...)
- https://devblogs.microsoft.com/oldnewthing/20030828-00/?p=42...
- https://devblogs.microsoft.com/oldnewthing/20050118-00/?p=36...
- https://devblogs.microsoft.com/oldnewthing/20051026-44/?p=33...
- https://devblogs.microsoft.com/oldnewthing/20060109-27/?p=32...
- https://devblogs.microsoft.com/oldnewthing/20060110-17/?p=32...
- https://devblogs.microsoft.com/oldnewthing/20070723-00/?p=25...
- https://devblogs.microsoft.com/oldnewthing/20200526-00/?p=10...
They had an incredible focus on backwards compatibility. That no longer seems to be the case.
Windows Desktop Evangelism playbook hasn't changed since 2000.
Perfect backwards compatibility means a perfect inability to fix any mistakes of the past.
With UAC and WDM -> WDF, they finally established an intent to deprecate older (and insecure / poorly-designed) functionality.
That said, imho, the user-mode / UI/X compatibility is an absolute !*&$ show with respect to predictability. Especially in the "utility program -> app" transition, wherein the latter still aren't feature-complete. Whoever PMs over those teams should be fired.
It's disabled the VirtualBox install that I've been running for a year or so with no issues, on the basis that it's "old software".
This certainly shows the true face of the new Microsoft.
And in about 10 years pretend that the road started by Sinosfky on Windows 8 never happened.
They wouldn't necessarily need to sacrifice backwards compatibility. They would just have to ensure that the new OS fully supports all of their APIs from the past.
Imagine Wine but 10 times better, built into the OS natively, and built by 500 engineers with full-time pay. I'm sure it could be pulled off, if they wanted to.
But they probably don't want to.
They did add that. With the initial Windows 7 release. In 2009.
I have a hard time doing that, Wine is already so good. I can certainly imagine better but even 2x better is kinda hard to picture.
The decor and fonts look like Windows 95. Unicode characters don't display and show as boxes. Input methods don't work. Lots of hardware doesn't work. There's no obvious way to configure all the things you can usually configure in Windows. GPU accelerations don't work properly in things like Adobe's products.
It has come very far but only if you judge it by the fact that everyone is doing work for it for free.
Actually, there is a company called CodeWeavers[1], which sells software based on Wine. CodeWeavers's Wiki page says "The CrossOver version of Wine is regularly refreshed with the latest free Wine patches; likewise, patches from the company are sent back to the Wine project almost immediately. CodeWeavers is a major contributor to the Wine project ... hosts the project's website, and employs the project's maintainer, Alexandre Julliard, as their CTO."
Alexandre Julliard has his own Wikipedia page, also saying "He now works full-time on Wine for CodeWeavers."[2] If you look at Wine's changelogs like in https://www.winehq.org/announce/5.19 , you see his name on a bunch of commits. Piotr and Jacek Caban are names I also recognize as having been prominent contributors for years, and googling quickly shows they are CodeWeavers employees as well. So it seems true. I'm tempted to go buy CrossOver just to support their effort.
[1] https://en.wikipedia.org/wiki/CodeWeavers
[2] https://en.wikipedia.org/wiki/Alexandre_Julliard
That is basically what WSL1 is: WINE, but backwards.
Background: I have a Customer who needed to maintain Windows 7 support for a legacy application on a single computer. For $175 to get 3 more years out of a paid-for critical application it was a "no-brainer" (and 3 more years to figure out a replacement strategy). Obviously, not all situations will be as simple.
Win10 -- which I also own -- has horrible UI and takes the simplicity + familiarity out of Windows, and I just don't want to move any active work to it.
Half my fault, used 32 bit libraries and apparently didn't make my program robust enough to work on both 7 and 10.
But that change to 10 was forced on us, cost me multiple days of paid Engineering time where I chatted up other paid Engineers.
And broke the program.
Then Trump Tariffs happened and 18000 contractors including myself were unemployed.
Not to mention Windows 8 came out in October 2012 (with 8.1 the next year) and Windows 10 came out July 2015. I think it’s reasonable for Microsoft to want people to upgrade within 11 years at least once. Especially since Windows 10’s been out for over five years.
https://docs.microsoft.com/en-us/lifecycle/faq/extended-secu...
* Server products and cloud services: 41 (in 2020), 26 (in 2018)
* Office products and cloud services: 35 (in 2020), 28 (in 2018)
* Windows: 22 (in 2020), 19 (in 2018)
* Gaming: 12 (in 2020), 10 (in 2018)
Windows continues to be important (probably a defensive revenue stream), but strategically I wonder what the advantage is of switching to a Linux kernel. So many things would break (the 3rd party driver ecosystem for one would have to turn over several times to catch up), plus MS would lose full control over the direction of kernel development. It also doesn't really help or hinder their Azure strategy -- a large percentage of VMs on Azure are Linux VMs. But I'll stop pontificating without real knowledge and just leave it at that.
[1] https://microsoft.gcs-web.com/static-files/4e7064ed-bbf7-414...
The times have changed, it's not 2008 anymore. Microsoft doesn't really sell Windows upgrades anymore. They don't need to convince the user to purchase a new version of Windows by saying it won't break their programs. Now it's all Windows 10.
Microsoft will update the operating system users use and if it breaks something, oh well. There is no real competition to Windows anymore. Previously, the competition was staying on the previous version of Windows. macOS? This breaks programs even more often. Linux? Good luck getting an user to use that.
Haha, no. There are _tons_ of business running old versions (xp, 7, 8, vista not to mention different builds of 10).
There are also tons of people still using Windows CE who they're trying to woo over to Windows 10 IoT.
The hypothesis is that users would not even know. API compatibility would be retained through emulation layers, or perhaps hosting legacy Windows inside a VM.
Not proposing that Windows Subsystem On Linux (WSoL) is going to be real, but this attack seems out of touch to me with the technics of the matter. I don't think it is so unimaginable for Microsoft to create a non-disruptive rebase of their OS platform APIs onto another environment. Many have already, in their free time, done just that, quite successfully, albeit Microsoft would have to go further.
Remarkably apt. Mobile and the competition and especially the web have stripped the primacy of the desktop OS way back. There's mostly just inertia, a lot of legacy, keeping Windows moving forwards. And that legacy, as we keep seeing, is not that radically difficult to emulate or translate. The gui itself has expected behaviors, but I would not say they are loved? There are like 4 different sound control panels in modern windows. The legacy has kept piling up, but in a way that has never become more distinct, or more meaningful: it's chaotic & senseless. Whereas folks like Gnome can ship a radical 3.0, some radical shifts in their long 3.x series, and then go build a 4.0.
Beyond comparison to other gui computing systems, the greater trend wiping Windows relevance off the map is the cloud, is that we no longer want to care about individual computers & computing in isolation. Where we want to go today is across a panoply of systems, into a highly networked well connected cloud, albeit clouds that in practice have been alas radically infantile in ways ("Internet of Shit"), lacking much of the "PC-compatible" spirit of portability & consistency that supported & enabled the rise to the desktop. None the less, Marc has ended up being pretty spot on. Computing is multi-system, multi-device, computing is connected, & we expect most of our experiences to have online impact & usability: this is something that Windows has never really adapted to, never rebased around, despite attempts like Microsoft Live, Microsoft InfoCards, Microsoft OneDrive.
This Andreessen quote also highlights what Microsoft would gain by switching to Linux: far better debugged drivers. Instead of needing to write a Driver Development Kit (DDK)/Windows Driver Kit (WDK) with a bunch of ideas & hope people pick good ways to use the DDK & build robust support, sometimes stepping in themselves if they are desperate for better support. Often it's up to OEMs to fight with their hardware vendors to make the stuff work right. Where-as on Linux, best practices for devices drivers can evolve organically: as one device drivers learns & adapts & figures out good ways of, for example, playing sound, other device drivers can adapt & follow the lead. Common patterns can be surfaced & enshrined. The kernel is it's own documentation for how to move forwards, a nearly complete corpus of what it takes to compute. Windows on the other hand inherently lacks this ability to debug, to find sense for the developers on the platform, for those developers cannot relate with one another: they can only relate & share with Microsoft, whose time & support is limited.
What is Windows's purpose for existence? It reached such vast heights, but now what role does it have, what mission does it have? It's meaning is degraded by a world where devices are now, as Marc pointed out in 1995, terminals to a greater world, & it's distinction among operating systems is fuzzy, uncertain.
As this Chris Wilson's key "History of the Web" slide title declares, "The Web as universal platform"[1] has largely become true (among other erstwhile desktop competitors like native mobile apps). If Microsoft can gain better technical underpinnings, that is easier to support & make fast, by porting their environment & their platform APIs on top Linux, then they can perhaps better focus on finding real distinction & advantage for themselves, finding ways to reach out & regain relevance & connectivity from a more share-able, embraceable, knowable, & connective base (Linux). I think it would be a great advantage to Microsoft to build themselves atop the known & adoptable, with better drivers, better subsystems, & it would be better for us the consumers by far measure. This is why I think, although unlik...
> Who's doing exciting/ambitious desktop OS work? While mobile gets all the attention, we still spend a lot of time in front of our computers, and it feels like the host environment could be doing a lot more heavy lifting (particularly as a meta tool for thought) than it is.
https://mobile.twitter.com/patrickc/status/13164754712033607...
you be the judge based on follow-up replies!
Obviously Windows isn't going away - but how many of Microsoft's customers would know that their kernel has been swapped out when the UI and all the applets look identical? As far as they're concerned the switch could have already happened! All they care is the look-and-feel is the same and their applications still run. They don't care about the kernel.
It's not a matter of better, it's a matter of good enough and saving on expenses. Presumably those engineers could be better utilized somewhere that's generating more revenue.
That's the bottom line.
> Obviously Windows isn't going away - but how many of Microsoft's customers would know that their kernel has been swapped out when the UI and all the applets look identical
Right. Because it's just a simple switch to flip when changing kernels, and all of the Windows software will just go on working as it before.
On the flip side as Azure becomes more significant for MS the role of Linux becomes more significant. At some point the cost of working on two kernels is going to outweigh the benefit of transitioning Windows over to Linux.
Or maybe not. It's hard to predict things. Especially about the future.
This is really anecdotal, as I sadly did not find the article I have this information from, but IIRC, the core NT Kernel team isn't as big as one would expect, about a dozen to two dozens maximum (big emphasis on "if I recall correctly").
Also I believe Microsoft employs somewhere around 50.000 engineers, a good amount of whom work on and maintain low-level systems. I find it unlikely they'd have a shortage of sourcing talent for one of their core projects.
If the NT kernel is in maintenance mode that might be because they are planning on replacing it.
And, there a definite feature differences in how the kernels behave, so they will have to rewrite major sections of Windows to fall in line with the Linux way of doing things.
And on top of that they will have to support Wine, or their own equivalent of it. In order to make decades of Windows only applications work. Sure Wine works pretty decently now, but not at an acceptable level.
They appear to be working on getting Direct X to work on WSL, but not sure how that will work if its on raw Linux. I don't think it does.
And Windows handles drivers completely differently than Linux. There was a thread here in the last few days about the AMD drivers being ~10% of the lines of code in the Linux kernel. There is all kinds of specialized hardware that take advantage of Windows drivers. Which would now probably need to all be in the Linux kernel.
And how about Active Directory? Thats a huge part of the Enterprise use of Windows. Need to translate all those features and controls over to Linux too.
So even if you save a few Engineers on the kernel dev directly, you probably have hundreds of new jobs to deal with the migration. If not thousands.
Well, except - of course - if they need to use one of the multitudes more "programs" created just for Windows, which won't run on Linux.
Management bonuses > any technical knowlidge or reason
The whole IT progress was destroyed by this fact, from OSes to the cloud, from irc to fb, from cats videos to having live cat. From optimal protocols for the task to http. From native gui to html/js abomination,... from laundry machines that live 20 years to the ones that get broken in few years... It gets destroyed when complete analphabets drive the decision about progress trough their vision of getting more money.
At the end you will be running windows. With its look and feel, but with linux as kernel.
(I know that I am not great for anyone here, feel free to downvote me, but do take time to think about it. Consumerism destroyed the computer science and it is not getting any better)
What if Wine/Proton achieves 100% compatibility? How would it affect Linux user space? There would be much less friction to migrate, critical hardware just works.
How so? Maybe at least state something, not just put it in like an "undeniable fact".
> we need to pay large sums of money to kernel dev. depart
IIRC, their kernel (core) department is rather small - I really do not think that has anything to do with it.
They also hire already Linux kernel devs, and if they want to shape it for their OS stack, they'd need to do even more so.
And I'm really not sure how the mixed rant about planned obsolesce and replacement of the native clients, which are very hard to maintain for multiple OS, with using a cross platform technology instead, for better or worse, has to do anything with the initial stuff.
> It gets destroyed when complete analphabets drive the decision about progress trough their vision of getting more money.
So using the Linux kernel would be equivalent of the decision of an Illiterate?
Further, as you seem to care about IT progress, how does fare the NT kernel with that compared to the Linux Kernel?
The last time I looked the NT one lacked a lot of features, from control groups, to checkpoint restore whole processes, varying amount of namespaces, scheduling (CPU, IO, realtime, ...), highly sophisticated Filesystems with lots of research going on there and in other areas.
Linux is multiple order of magnitudes more diverse and accepting for research, features, new design approaches, ... in comparison to the NT kernel, so please, don't make yourself look stupid by stating as it would be the other way around.
> How so? Maybe at least state something, not just put it in like an "undeniable fact".
There are two areas where I would say the Linux kernel is obviously inferior:
* Process management. Everything from creating processes, inspecting them, debugging them, querying process status, etc., is just better on NT kernel.
Take process creation. On Linux, to do advanced stuff, you fork() (or clone() if you want to get a couple extra process args) the process, then potentially call several other syscalls in the child process to do things like change security parameters, enable debugging, close file descriptors (!), before calling exec() to actually invoke the new process image. And if any of those things error out for some reason, you need to have a backchannel back to the parent process to inform it of those errors, which you have to set up yourself. And since fork() only forks a single thread but keeps all other non-existent threads in the same state (e.g., held locks), it doesn't really work in multithreaded applications unless you're extremely careful. On Windows, it's CreateProcess() where one of the arguments is essentially a list of all the changes you want to make in the child process for capabilities.
If you want to do stuff like get a process memory map information, inspect remote environment, etc., on Linux, you get to parse procfs (and hope to hell you're not dealing with cross-namespace situations because things start to break down at that point). Procfs consists of a lot of files whose contents are in a textual format that has a lot of parsers which fail to handle edge cases correctly. On Windows, you get to use system calls like GetProcessInformation that returns a nice struct with all the relevant information in it--no parsing necessary!
Debugging is even more of a mess; Linux developers admit that ptrace is a broken API that needs to be gutted and replaced, but no one wants to touch it. Windows has things like CreateRemoteThread and editing remote memory maps without having to inject your code into the debuggee to call mmap.
* Handles. On Windows, everything is a handle, which means you can do things like wait for any relevant event in WaitForMultipleObjects. Linux has eventually gained a facsimile of this with the variety of file descriptors (e.g., signalfd, timerfd, pidfd) to coerce various kernel objects into things you can pass to poll, but this also runs into issues that file descriptors have properties that limit their utility, such as file descriptor exhaustion or their behavior with fork().
I'd also suggest that things like IOCP or the capability system in NT as things that may be superior to Linux, although io_uring may be a compelling alternative to the former, and the cgroup/namespace capabilities to the latter.
Like what kind of fucked up fantasy are these diehard Linux fans living in.
Don't forget, it was a long time ago but MS used to be quite cross-platform. My Commodore featured their BASIC "OS". They could be again. Will it happen today? Of course not. But it's not hard to imagine ten years in the future where NT is creaking from under-investment and finally abandoned in favor of much cheaper WINE/VM or ReactOS support. Operating systems and tools are now a commodity.
WSL is simply about better supporting Azure developers and customers. That's all there is to it.
I know many people who are unfamiliar with Microsoft's long history of Embrace, Extend and Extinguish will be appalled at this suggestion, but if you are looking at canaries or concerns there it is. EEE is the MS DNA.
Don't say you weren't told.
Exactly https://www.theregister.com/AMP/2020/09/15/microsoft_submits...
It is not the first time it happens and people keep buying into it. But hey we have calculator source code, Microsoft loves open source, right? Right?
At any rate, I fail to see how MS getting open source tech working smoothly on Windows will somehow
> EE is the MS DNA.
I don't mean to be rude, but this comment is repeated ad nauseum here on hacker news. It's not an insightful, nuanced nor fresh take.
> Don't say you weren't told.
Believe me. We were told. Thousands of times. You all won't let up.
Just to be clear, I am also concerned about these issues but this argument just isn't convincing. It takes an ethically misguided company strategy from decades ago and extrapolates that to some vague sense of "evil" lurking inside the company. How about some _recent_ evidence? Sources?
Because as far as I can tell, MS is being _forced_ to embrace and extend Linux on their OS. They've been historically reluctant to do so until the cloud made Linux impossible to ignore. I struggle to see how they could even pull off an "extinguish". The very nature of open source makes that difficult. I guess they could buy Canonical and then just fire everyone, but the damage is still just limited to Ubuntu which would be promptly forked if needed.
And while Windows does have an ARM port, all the drivers and board support packages seem to be tied to Linux, and Linux based operating systems like ChromeOS and Android.
What I suspect to see is a product that combines the Linux kernel, ELF versions of Edgium and Office, a port of the Windows shell that runs on top of this, and maybe support for running Win32 binaries in emulation, with as-it-is backwards compatibility guarantees.
If something like this comes to exist, I'm guessing it will be sold as Windows A, or something other name like that. Will it be Windows? That's probably a philosophical question, more than anyththing.
Not entirely sure what you mean by this. Windows has supported ARM for a long time, Windows CE supported ARM starting in 1997 [1]. Windows Mobile which ran on ARM phones had been around since 2000. The Surface RT, based on Windows RT, was a more traditional tablet was also ARM based. Now Windows 10 on ARM has been around for about 3 years and third party manufacturers are selling ARM based Windows laptops.
1. https://en.wikipedia.org/wiki/Windows_Embedded_Compact#Relea...
Given how buggy, and unreliable Windows is, wouldn't be this a straight improvement for their "mission-critical" stuff?
It wouldn't be the first time that Microsoft ditched it's technology. (DOS - OS/2, Sliverlight - JavaScript, EdgeHTML - Blink, etc.)
I'd guess that the OS market is done, they want to get rid of most of their Windows legacy stuff, and focus on making real money with the cloud.
Mhm. Let's repeat this when percentage of Windows usage will be much lower and there will be more games released for Linux on day one and MS will stop swallowing Linux friendly studios like inXile and Obsidian. Right now I don't see it being the case by far.
MS is still very hostile to Linux gaming with DirectX lock-in and platform politics. The above claim just ignores reality.
https://lkml.org/lkml/2020/5/19/1527
The proper progress is for such lock-in to be replaced with Vulkan which is by design an open and cross platform API, not to proliferate blobs on Linux.
There's many business reasons against rebasing the Windows Kernel to Linux, but there's also many positives too
never say never
[1] https://www.theverge.com/2019/5/6/18527550/microsoft-chromiu...
https://www.amazon.com/Linux-Dummies-Richard-Blum/dp/1119704...
For what it's worth, though, I haven't been "my own sysadmin" nor have I had to "spend time dealing with all the configuration idiosyncrasies and driver issues on a day-to-day basis" in linux for the past six years. In fact, I don't even install extensions anymore. My secret ain't manuals, though, it's the much simpler "only buy machines that the vendors declare as compatible with linux" or the even simpler "buy machines with linux installed already".
Though I only use my computer for browsers, editors, IDEs, terminal windows, and productivity apps; and pretty much nothing else, so experience may vary of course.
Personal attacks are against the HN guidelines. You've been around here long enough that you should know that.
It probably wouldn't be my pick as a first resource, but it's no less valid of one. I wouldn't classify a recommendation as a personal attack.
It has WSL for a terminal and Docker for projects with environmental assumptions (node, postgres, etc).
It's not without quirks, but for me, it matches the productivity of OSX and Ubuntu while opening up possibilities they lack (like straightforward gaming, game/VR development, building the machine into a desk so it's invisible in my office).
For server, I'm all-in on Linux - it's the perfect server OS.
But for desktop, I reckon Windows 10 is the best desktop OS by a stretch, and everything "just works" - whereas even on MacOS I have constant issues with multiple monitor and hi-DPI support, never mind Linux.
I prefer bash to the Windows command prompt or Powershell, and Git Bash fulfils pretty much all of my needs there. Otherwise I have WSL available.
For backend services used during development (postgres, rabbitmq, redis, whatever), there is Docker Desktop, which was a bit dodgy in the early years, but has worked marvellously for a long time now.
TBH, I'm struggling to think of anything Linux or MacOS has that Windows 10 doesn't...
The issues that still bug me are:
1. Less-useful keyboard navigation (I use Autohotkey to mitigate this)
2. Frustrating file system (I use WSL to `rm -rf` sometimes when Windows refuses to let me delete a file or folder)
3. Less coherent / polished app ecosystem (Linux distros use real package managers and OSX apps tend to be higher quality; Windows is a crapshoot)
2. OK, this does bite me rarely, where I can't delete a folder because of messed up permissions. Probably last time was a couple of years back
3. I disagree about the app ecosystem, but fully agree about package managers. The Windows installer system is horrible - I'd rather grate my face than have to build another MSI package...
You mean on Windows? The only driver issues I've had on linux were NVIDIA (fuck you NVIDIA) and (for a short time) AMD during their transition from driver in a package to driver in the kernel. That's it in a whole decade. Hunting down drivers for windows was way more annoying.
Been using Ubuntu Mate and stock before that for ten years+, and have not had any such issues. I am on a supported Dell however.
What I do see is techies confusing cutting edge distros such as Arch for 'Linux'. When you're running Windows, you're not using an internal MS build either, so that's the wrong comparison (which I see made often the techier people are). The proper comparison is Ubuntu LTS and Ubuntu LTS only.
If Windows had UNIX kernel and POSIX with custom UI, it would be a viable platform to switch to.
I'd also love to see a "Linux Subsystem for Windows", to make it better to run windows applications on Linux. Wine sort of fills this role, but I'd really love to see a MS-backed fully compatible system. And maybe it could work similar to WSL2, where it is an actual windows kernel running inside KVM.
Personally I want Microsoft to open source the Window Kernel.