An MS linux build, that supports .NET (CoreCLR) and a true cross platform windowing library (WPF) would be serious force to contend with in both the enterprise and consumer markets.
An MS linux build, that supports .NET (CoreCLR) and a true cross platform windowing library (WPF) would be serious force to contend with in both the enterprise and consumer markets.
What would be the point? The NT kernel has a newer architecture than the Linux kernel and build upon Dave Cutler's experience with VMS (which could already benefit from learning from Unix).
Open sourcing the NT kernel does make a lot of sense though, since it would be easier to integrate Windows in Xen, KVM, and other virtualization infrastructure.
They will probably end up taking an Apple-like approach. Open bits where it is strategic and keep some bits closed to sell Windows licenses. It 'only' took a new CEO to do the rational thing.
It's a trade-off. Linux looks floppy architecturally because it can afford to be.
If you're interested in an open-source NT kernel, you might be interested in ReactOS. Although their target comprises development of the entire OS, their main task was the NT kernel and "the glue" with existing parts of Win32 sub-system developed by Wine.
- Windows sells because it works with every hardware device ever made. Linux does not even come close to that level of hardware support. There is no way those drivers will run on MS Linux kernel.
- None of Microsoft's top money making apps are built with .Net; Office, Visual Studio or Sql Server are mostly C++. So it isn't as easy as porting .Net over to Linux.
- Windows Driver development tooling is way ahead of Linux. So while we all love Linux, throwing away the entire Windows kernel is a bad idea.
- The Windows NT kernel is not an awkward piece of engineering. While different from the *nix, it is actually quite respectable.
- Add: MS mobile device strategy too is based on the NT kernel. They are not going to be an Android theme.
What they really wanna do is make windows more text-shell friendly, and perhaps Open Source the NT kernel. But more than anything else, I just want Microsoft to switch sides when it comes to Patents and IP extortion.
In my own experience on over a dozen computers since 2000 when I started to get serious about Linux and especially the past 7 to 8 years...Linux driver support exceeds Windows.
With windows, its likely the base OS may not even be able to install on a piece of hardware without a driver update CD, but the driver support is fantastic. Its possible to run XP on a lot of modern hardware because companies like nvidia continue to make drivers for XP. That is not possible with any linux distribution from that time frame.
The opposite also exists, I have a baytrail tablet I picked up over Christmas. It runs win8.1 just fine, and will sort of boot the latest bleeding edge ubuntu, but the wifi still doesn't work (as of a couple weeks ago), nor does the SD controller, and a few other things are suboptimal.
There are also whole product lines that still don't work in linux (see the USB3 displaylink based products) even years after their initial release.
Plus, linux tends to put users in a sticky situation. For example at work I have a fairly recent intel based platform, that doesn't work 100% in the older (still supported) SLES environment we use by default. That is because the drivers need to be backported by SUSE and they aren't exactly on the ball about it (same thing for the LTS releases of ubuntu).
I'm a pretty strong believer that linux needs to decouple the drivers from the core kernel. I don't necessarily want to upgrade my whole OS platform just because I got a new piece of hardware. This is especially true on stable platforms. Thankfully companies like emulex do a good job of providing two dozen different drivers for different versions of linux. They and a few other companies are the exception not the rule.
There was an article here a few months ago about 5 (?) new innovative operating systems that have security in mind. One was MirageOS and there was another one I liked - something about resource starvation - but I can't remember the name now.
There's also the Ethos OS, that comes with the "encrypted by default" MinimaLT networking stack, and so on.
I'd be much more excited about a "new" Windows that's open source and is truly built for the 21st century with (cyber-) security in mind, than just dumping the old Windows onto the Linux kernel (and I bet they won't even bother to implement grsec in that, if they do it, because it's yet another patched-up solution for an unsecure kernel, that breaks a lot of stuff).
It would also be lovely if this new kernel was built with Rust or some other type-safe language.
http://en.m.wikipedia.org/wiki/Midori_%28operating_system%29
An Open Source reimplementation of Windows
PowerShell, for Mono.
Mono is not *nix and PowerShell provides direct access to [nearly?] the entire Windows OS.More from the project page:
Status
Alpha. This project is useful in certain constrained
applications, e.g. the NuGet Console in Xamarin Studio.> PowerShell provides direct access to [nearly?] the entire Windows OS
PS has access to the .NET Framework which abstracts the OS APIs, not really to Windows directly.
There's also chatter that MS is already working on porting PowerShell to CoreCLR/.NET Core (the cross-plat, open-source version of .NET).
It's a bit of a Turing tarpit when it comes to non-inherency.
1. PowerShell reimplements older commands as aliases, e.g. ls is an alias for Get-ChildItem. You'd not be relying on existing shell functionality.
2. I don't know much about it, but wouldn't the upcoming Linux IPC improvements being made to support kdbus do away with needing to handle message passing in the way you describe?
Perhaps my logic is off, or my view is missing key information, but from my novice perspective it seems to make sense.
If you're interested, this page has more information on the type system used in dbus: http://dbus.freedesktop.org/doc/dbus-specification.html#type...
Microsoft has been integrating interprocess communication into Windows since DDE in version 2.0 almost 30 years ago. Then more than a decade of OLE. Then more than a decade of .NET. At this point it and the reflection it enables are baked into the toolchain and pretty much comes along for free on a project. *nix has many advantages but everybody rowing in the same direction is not among them.
They will never give up a kernel architecture that is more modern and that is not tainted (from their perspective) by the GPL.
Sure, if you are already committed to Windows then that makes sense. But if you are starting fresh then you don't choose Windows, and that is the dilemma MS is facing.