Windows 10 refutes the idea that the Linux kernel is what defines GNU/Linux(twitter.com)
twitter.com
Windows 10 refutes the idea that the Linux kernel is what defines GNU/Linux
https://twitter.com/SwiftOnSecurity/status/1086495599782969344
72 comments
And SmartOS (née Solaris) has LX branded zones.
https://medium.com/@jmarhee/up-and-running-with-lx-brand-zon...
https://medium.com/@jmarhee/up-and-running-with-lx-brand-zon...
God donut.
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?
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?
Yeah if anything WSL shows that Linux is what matters. It can also run non-GNU stacks (e.g. Android).
God donut?
I didn't know what this was either.
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.
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.
I saw that when I searched, but didn't think it was a thing someone would realistically say. It's a little Ned Flanders.
Glibc is also GNU, though. You typically talk through it to kernel interfaces.
It's worth a wider appreciation of how much GNU tools define the "Linux" experience we seek -- such that we're happier with WSL than with Android.
Taking nothing away from Linux or it's developers, I'm massively grateful to RMS and GNU.
Taking nothing away from Linux or it's developers, I'm massively grateful to RMS and GNU.
Yeah the bsd versions are generally pretty eh, at least the ones on OS X. Usually the first thing I do on a new Mac is install the gnu coreutils. Though the new rust replacements are generally quite nice.
Alpine Linux refutes the idea that the GNU userspace is the important component here.
And the various home router distributions before Alpine that were musl or uclibc and busybox based.
It more demonstrates that Stallman was right about calling it GNU/Linux to differentiate Alpine, though I still don't see the name catching on.
Had Microsoft actually improved the POSIX personality on Windows NT, instead of having it as bullet point to win contracts in some areas, I doubt many would have cared that much about GNU/Linux.
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.
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.
> Had Microsoft actually improved the POSIX personality on Windows NT, instead of having it as bullet point to win contracts in some areas, I doubt many would have cared that much about GNU/Linux.
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.
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.
That isn't quite true regarding the command line on Windows.
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.
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.
Modern version, still actively developed by Microsoft: https://docs.microsoft.com/en-us/sysinternals/.
First thing I install on every windows box, the power of that toolset is incredible.
First thing I install on every windows box, the power of that toolset is incredible.
Those and Take Command for me. (-:
Interestingly it's now gone quite the other way; there are many Windows admin tasks which can only be accomplished using powershell.
There are still GUI tools that help calling those powershell scripts if desired, like the new Windows Admin Center.
https://docs.microsoft.com/en-us/windows-server/manage/windo...
https://docs.microsoft.com/en-us/windows-server/manage/windo...
I'm having a hard time understanding why this is so important? Linux is "just" the kernel. Surely everybody knows this? And if they didn't then surely Android and ChromeOS made that distinction clear?
He’s referencing an old old copypasta.
The argument is that Windows Subsystem for Linux has no Linux code in it.
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.
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.
We had the discussion of the name here on Hacker News when WSfL first came out. I and others pointed out that these subsystems are, and have been for decades, effectively named after the kernel that is actually left out and replaced by the Windows NT kernel. There wasn't an OS/2 kernel in the OS/2 subsystem, for example.
ENIW: Embracing Neatly Inverted WINE
[deleted]
[deleted]
GNU/Windows
Microsoft Xunil?
Linux might be the name of the kernel, but we use Linux to refer to the whole ecosystem too. For example, people say "I'm running Linux" when they run e.g. Ubuntu or Debian etc, not when they run Android. Running "Linux" doesn't mean just running the kernel.
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.
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.
A huge part of what makes Linux Linux is that it's free(libre) software. So no.
Also no because what others say: It's WSL-'Applications' and Linux is just the kernal.
Also no because what others say: It's WSL-'Applications' and Linux is just the kernal.
For a long time before WSL was conceived of, there was a GNU system on top of Windows - cygwin. Cygwin and WSL have entirely different strengths and weaknesses due to the fact that Cygwin is GNU on top of Win32, whereas WSL is GNU on top of a Linux syscall layer implemented by the NT kernel. Earlier versions of Windows had GNU tools on top of the POSIX layer of the Kernel, which was entirely different beast altogether. All "GNU" systems, all very different characteristics.
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.
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.
I guess it's an interesting debate, although I should point out for the benefit of anyone unaware that SwiftOnSecurity is somewhat of a parody / joke / tongue-in-cheek account so perhaps this should be taken accordingly.
rms refers to this combination as "GNU/kWindows". I wrote about GNU's perspective back in 2016:
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.
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.
“When I use a word,” the commenter replied, in rather a scornful tone, “it means just what I choose it to mean—neither more nor less.”
“The question is,” said the public, “whether you can make words mean so many different things.”
(with apologies to Dodgson)
“The question is,” said the public, “whether you can make words mean so many different things.”
(with apologies to Dodgson)
[deleted]
If it was called "Windows Subsystem for Linux Applications", people probably wouldn't be this nit-picky, but it would be more of a mouthful. (What's a "Linux Application" ? Who knows...)
The proper name is clearly GNU/Windows
If you feel that GNU belongs in the name, I would say that it should be last since, with this subsystem, you need Windows up and running before you can even insert any GNU tools. So, Windows/GNU or more precisely: Windows + GNU.
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.
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.
Great Value[1] Linux
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
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
I believe it's at least partially due to Windows Defender, but creating files in WSL is dog slow.
$ 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.Linux is GNU and two other children in a trench coat functioning very successfully as an operating system.
a variety ststem diagrams of the scheme: https://m.imgur.com/gallery/xxyr9
a variety ststem diagrams of the scheme: https://m.imgur.com/gallery/xxyr9
I don't understand, can somebody explain the meaning of that tweet?
It does not mean anything. It's a minor variation on a commonly copied piece of text that has been doing the rounds for years, by people placing it in discussions for fun. It's not actually a genuine argument.
You only need to read one tweet further down.
You only need to read one tweet further down.
Correct me if I'm wrong, as I'm not that familiar with it, but isn't the point of WSL to lie to applications and present itself as the Linux kernel in order for them to be able to run? If that's the case, then the fact that they have to re-implement the Linux APIs in Windows makes the case that Linux is, in fact, the core, and without it you have nothing―of course I don't believe that statement generally, but that's what their argument would actually imply.
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.
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.
Microsoft implements Linux Kernel and calls it NT kernel.
[deleted]
The Linux kernel most certainly does not define GNU/Linux.
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.
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.
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.