Before Microsoft's involvement Docker explicitly relied on a Linux containerization technology called cgroups, contributed directly into the Linux kernel by Google. Early on Docker was very much sold as a user friendly wrapper around the already mature cgroups utilities & not some kind of cross-platform thing. I'm sure you might be able to find some academic talking about the ideas behind containerization 40 years ago, but Docker surely is the thing that took the idea to the mainstream.
But still, I think the point might be that:
- one can use tools they know and love to develop server apps (VS)
- some probably love or know Win32 more then posix
- dotnet for windows is probably more mature then the linux port
So it's good for them (TM). But if anyone's reading, please please don't start a multi $M server project with that tech in mind ;)
According to EvilD it doesn't support Win32, so no (2). :(
Who's to say at this point what API's will be exposed. They could easily say that they only support the server or cloud profiles of .NET. If you have a mission critical application that needs something outside of the core functionality, install it.
I don't think I've ever heard those reasons being why Windows is popular. Right now, if you manage many Windows, and still need to log into the machine locally to do your work, you are doing something wrong.
Well they are talking about Chef a lot too, this alongside tools like Ansible, Puppet etc. is how large GNU/Linux datacenters are orchestrated. And this minimal profile is unlikely to expose anything strongly Win32ish, allowing these orchestration tools to work better across OSes. So you are using the same tools to manage software that can run on either OS.
I might have a plausible explanation for why the sudden strong support by Microsoft for Linux orchestration and containerization technologies. Maybe market research has shown that a lot of their customers plan to move to Linux cloud tech. I can sorta see that they are trying to weasel their way into these datacenters by making Windows more compatible in a sense with Linux.
@Bass: I don't think the target audience here is full Win32 applications. It's more pointed at services and web applications. Besides, if you have an application that needs the broader API set, then you can install that portion of Windows.
There's nothing here that says you can't log in. It's not a black box. It's Windows, without stuff that's not necessary for running server applications. It's still got PowerShell and WMI which is all you need. If you have a server application that needs a UI to run and doesn't support remote management, then you're doomed from the start.
But if my ASP.NET application wants a System.Drawing.Bitmap for some reason?
Also at what point does Windows no longer have a point? If Windows is just this tiny shim under FOSS tools, why wouldn't I use GNU/Linux? Isn't the whole 'selling point' of Windows the GUI and the Win32 apps it can run?
There is probably a reason for that. It seems like it's a disaster waiting to happen as Windows software for decades assume that Win32 is like at least somewhat available. Linux software tends to explicitly declare its dependencies, even down to libc, and none of that stuff is ever bundled or assumed to exist on the system. Which actually makes it lot harder to reason about any Linux system's layout and configuration. But at the same time allows for the minimalist setups because anything that nothing depends on can be garbage collected.
In addition, it seems like you are losing a lot (like the ability to locally diagnose a machine) for performance gain that will end up being marginal at best. Even the hyperminimalist CoreOS doesn't go that far. You can actually locally log into a CoreOS machine.
This would be a bigger deal if this didn't already exist: https://msdn.microsoft.com/en-us/library/dd184075.aspx
Anyway it's not going to touch the ridiculously small spaces you cram a GNU/Linux system into. That not a competition Microsoft is going to win unless they basically rewrite Windows, Linux has been playing the minimalist and modularity game for a very long time.
You're essentially describing what happens when there is no standard, or the major players don't agree on the standard. I agree, this is a bad thing.
But what if there is a standard everyone agrees on? Then developers would have no problem targeting it, since the major players in the browser space agree on it. Different browsers aren't causing compatibility issues, but they do compete in terms of feature set and performance. I think that's good.
Then it is just a waste of time. Something like buying and carrying 10 of the same kind of hammer to a work site. You have engineers here producing a utility multiple times over that tries to solve the same exact problem. Unlike web browsers there is little room for creative expression in the renderer.
You can often root and insert newer distributions of Android on those phones. But the fact that you often must override a security measure of the phone that is actually directed against you, the owner of such phone, is an indication that something far more diabolical is at play.
WinRT is a possibility as a first step but it probably contains too much of Windows. I think the first thing they'd open source is WinNT kernel. So look OS X has always had a open source kernel and never really effected Apple's ability to basically control OS X. It's very low risk.
@Bass:Read the article more carefully. He didn't volunteer this, he was specifically asked if it were possible, and said yes, they talk about it all the time. That does NOT mean there's any plans, or that it's likely to happen, only that it's possible. It may well happen, but it's not imminent. Not even planned. You won't see this happen any time soon.
I thought the same thing about .NET, so I don't know. I don't think Mark would say such a thing unless it was a very realistic possibility.