Hi
I'm totally convinced by the importance of having something like the WSL in Windows. Thank you so much for having integrated such a feature so nicely in Windows.
As far as I understand, the WSL is about making the ecosystem usually found in GNU/Linux or BSD systems able to access the Windows kernel. No other kernel than the Windows one is involved: neither the Linux kernel, nor the BSD kernel... So basically, the WSL is about running GNU ecosystem on top of the Windows kernel. Is that correct?
That might seem superficial as a remark, but I find it wrong that the WSL was named like that. I also find it unfair, because it puts credit on Linux rather that on the GNU project.
Something in the lines of "GNU/Windows" or "Windows Subsystem for GNU" would have been better in my opinion.
Am I the only one having such an opinion?
Kind regards
Frantret
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
It is simple: WSL is just a (closed source) compatibility layer that simulates a Linux kernel environment, intended to run ELF binaries and system call translation, not anything else. The GNU userland is provided by the Linux distributions (eg. Ubuntu), found in the Microsoft Store. The fact it is oriented to run mainly GNU userland is not enough reason to add "GNU", to the name of this technology, because WSL is just "Linux" (kernel) (or "Linux-like" to be exact).
Not all Linux distributions has GNU userland (for example Azure Sphere or Mikrotik RouterOS). Android has some GNU tools, but is not considered as GNU/Linux, just a Linux distro.
Someone interested in this issue, may be interested in this article:
https://mikegerwitz.com/2016/04/GNU-kWindows
Some extracts:
Before we can discuss this subject, we need to clarify some terminology: We have a free/libre operating system called GNU. Usually, it’s used with the kernel Linux, and is together called the GNU/Linux (or GNU+Linux) operating system. But that’s not always the case. For example, GNU can be run with its own kernel, The GNU Hurd (GNU/Hurd). It might be run on a system with a BSD kernel (e.g. GNU/kFreeBSD). But now, we have a situation where we’re taking GNU/Linux, removing Linux, and adding in its place a Windows kernel. This combination is referred to as GNU/kWindows (GNU with the Windows kernel added).
This naming issue is so widespread that most users would not recognize what GNU is, even if they are using a GNU/Linux operating system. I recently read an article that referred to GNU Bash as “Linux’s Bash”; this is simply a slap in the face to all the hackers that have for the past 26 years been writing what is one of today’s most widely used shells on Unix-like systems (including on Apple’s proprietary Mac OSX), and all the other GNU hackers.
But read the whole article, it is worthy.
I don't have enough thumbsup for this comments :+1: :+1: :+1: :+1: :+1: :+1: :+1: :+1:
I disagree with that article because free/libre software is not inherently (or especially "always") superior to non free/libre software. It all depends on the specific scope being discussed. If free/libre software was superior in every scope, then distros wouldn't offer some sort of non-free(/libre) branch to their package repo. There are certain scopes where using a non free/libre OS, such as Windows or OSX, is clearly a superior or better choice: proprietary hardware that has been tied to the software interface provided by a non free/libre OS, or software that has been developed specifically for a non free/libre OS.
Also, I personally think that the author of that article should clarify exactly what they mean every time they throw around the word "free software". Unfortunately, in English, free is ambiguous and can include both the sense of the French word libre and the French word gratuit. Also, unfortunately for this author, most English speakers I know will read the word free (in practically any context) and default to the sense of gratuit, or free of charge financially. There are GNU/Linux distros that are free in the sense of libre but not free in the sense of gratuit.
Lastly, I found a good Quora question and response here: https://www.quora.com/Is-Linux-an-operating-system-or-a-kernel. In the first reply, the commentator talks about the word synecdoche: "In literary studies, there is a term named ‘synecdoche’. It is a figure of speech in which a term for a part of something refers to the whole of something or vice versa." I think in this case, since Linux is frequently used to refer to the whole OS running on a Linux kernel (whether it be the GNU OS or not), and since the WSL is a layer as someone else mentioned, allowing programs and binaries that typically only run on a Linux kernel to now run on the Windows kernel, using the naming convention of Windows Subsystem for Linux makes sense.
Recent announcements by Microsoft state that the version 2 of the WSL will ship with a Linux kernel, and therefore will be architecturally different from version 1. Wait and see...
Most helpful comment
It is simple: WSL is just a (closed source) compatibility layer that simulates a Linux kernel environment, intended to run ELF binaries and system call translation, not anything else. The GNU userland is provided by the Linux distributions (eg. Ubuntu), found in the Microsoft Store. The fact it is oriented to run mainly GNU userland is not enough reason to add "GNU", to the name of this technology, because WSL is just "Linux" (kernel) (or "Linux-like" to be exact).
Not all Linux distributions has GNU userland (for example Azure Sphere or Mikrotik RouterOS). Android has some GNU tools, but is not considered as GNU/Linux, just a Linux distro.