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.
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 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.
> 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.
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.
- 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.
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.
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.
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.
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...)
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...
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.
That is basically what WSL1 is: WINE, but backwards.
And in about 10 years pretend that the road started by Sinosfky on Windows 8 never happened.
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)
Like what kind of fucked up fantasy are these diehard Linux fans living in.
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.
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.
* 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...
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...
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.
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 unlikely, Microsoft should rebase onto Linux.
> 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!
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.
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.
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...