Windows 10 refutes the idea that the Linux kernel is what defines GNU/Linux
twitter.com
twitter.com
FreeBSD has had a Linux emulation layer for quite a long time, so in that sense you can of course have a Linux environment without a Linux kernel, just as you can have (with WINE or ReactOS) a Windows environment without the Windows kernel.
Gin contains a million different herbs, and which ones are included differ depending on which gin you buy, but some of them are always included.
https://medium.com/@jmarhee/up-and-running-with-lx-brand-zon...
GNU doesn't define the Linux kernel API. The kernel defines the kernel API. Applications (GNU whatever) use the API. Now Windows implements the API. The Linux kernel API. It doesn't implement GNU API because there is no such thing. See?
Linux kernel is the implementation of the kernel API. You can run Linux applications as long as you have the implementation of the API. Windows has it. Linux kernel has it. GNU doesn't have it. See?
So I searched for it.
> Urban Dictionary: God Donut > https://www.urbandictionary.com/define.php?term=God%20Donut
> Aug 7, 2014 - "God donut" is a censored way to say "God damn it!". Best known for being in iPhone autocorrects.
And then I posted it for everyone else to see too.
Taking nothing away from Linux or it's developers, I'm massively grateful to RMS and GNU.
Many of us installed Slackware and friends during the early days so that we could do university work on our home computers.
As proven by those that use macOS to deploy on GNU/Linux, a large majority is happy with having access to a POSIX userspace.
It just happens that how things have evolved, Linux syscall compatibility is now more relevant than plain POSIX.
I can see why Microsoft wanted to push Windows and the GUI itself as a new way of interacting with the system, rather than have it come off as a cheap copy of Linux. You couldn't even administer Windows server from the command line until quite recently if I recall. You had to install all of Windows, including the GUI, even if all you wanted was access to the Powershell. Its only changed from Windows Server 2012 onwards. They really believed that Linux and the terminal were obsolete.
At least since Windows 2000 it is possible to automate Windows via VBScript (JScript was possible as well, but never got much use), COM Automation and WMI.
And every savvy Windows admin has had the Windows Technet shell utilities installed as well.
Just not the way UNIX devs would expect every other OS to behave.
First thing I install on every windows box, the power of that toolset is incredible.
https://docs.microsoft.com/en-us/windows-server/manage/windo...
edit: I'm having a hard time coming up with a name which would be correct and Microsofty enough. But I think it would be a oxymoron.
And in the MS case, the argument is the opposite: MS calls it a "MS subsystem for Linux" but there's absolutely no Linux kernel code in it. Just emulation of APIs and the GNU userland.
Also no because what others say: It's WSL-'Applications' and Linux is just the kernal.
I do think that the GNU/Linux distinction is valid when comparing something like CentOS against Android or even Busybox, but WSL is not a great example because it is almost entirely defined by its implementation of the Linux kernel API.
https://mikegerwitz.com/2016/04/gnu-kwindows
Please remember that GNU is not just a collection of programs that fall under the umbrella of the GNU Project---GNU is a complete operating system, and it was an explicit decision to use existing free software when it was already available, and write replacements only for non-free components needed replacing. A detailed history of the development of GNU can be found here:
https://www.gnu.org/gnu/thegnuproject.html
As distro maintainers know, it is a lot of work to come up with the right combination of programs to produce a complete, working operating system using _existing_ free components and being able to draw inspiration from existing GNU/Linux distributions. Imagine how difficult this effort was 30 years ago when nobody had done it yet.
“The question is,” said the public, “whether you can make words mean so many different things.”
(with apologies to Dodgson)
However, you could enable the subsystem without installing any GNU tools at all if you wanted to. Then you could install whatever alternative tools that you wish to. Also, I don't think that the OS name should change when I install a set of applications. For instance, when I install Paint.NET to do all of my image work, I don't refer to Windows as Paint.NET/Windows.
or if we are going with something from the last ten years,
LinuxBasics
[1] https://www.quora.com/What-the-heck-is-the-Great-Value-brand
$ mkdir scratch;cd scratch;time perl -e 'for (1...10000) {open(F,">$_");close F}'
Runs for 5 seconds in WSL, 100ms or less on an actual Linux box. I do like WSL, but this sort of thing limits how useful it is. Pull some big repo with git, and Zzzzz.a variety ststem diagrams of the scheme: https://m.imgur.com/gallery/xxyr9
Debian actually tried this a while ago with FreeBSD, but I think it was discontinued.
You only need to read one tweet further down.
Not like this discussion merits any importance anyway, this is just another pointless argument about semantics. Most (if not all) parts of the GNU system are just another swappable component in the "GNU/Linux" ecosystem.
I'd just like to interject for a moment. What you're referring to as Linux, is in fact, GNU/Linux, or as I've recently taken to calling it, GNU plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX. Many computer users run a modified version of the GNU system every day, without realizing it. Through a peculiar turn of events, the version of GNU which is widely used today is often called “Linux”, and many of its users are not aware that it is basically the GNU system, developed by the GNU Project. There really is a Linux, and these people are using it, but it is just a part of the system they use. Linux is the kernel: the program in the system that allocates the machine’s resources to the other programs that you run. The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. Linux is normally used in combination with the GNU operating system: the whole system is basically GNU with Linux added, or GNU/Linux. All the so-called “Linux” distributions are really distributions of GNU/Linux.