
Windows 10 refutes the idea that the Linux kernel is what defines GNU/Linux - homarp
https://mobile.twitter.com/SwiftOnSecurity/status/1086495599782969344
======
sqrt17
Even the strictly GNU parts are in the minority in modern Linux usage. There
are dozens of libraries, some GPL and some X11/zlib/Apache licensed but most
of them not part of the "GNU project". Some parts only run on Linux and Linux-
compatible systems because they were built on top of Systemd or other Linux-
only software.

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.

~~~
busfahrer
It's like gin.

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.

~~~
Y_Y
But always juniper, unless you're talking about sloe gin, which is always
qualified as such.

------
kyberias
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?

~~~
nailer
God donut?

~~~
Y_Y
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](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.

~~~
nailer
I saw that when I searched, but didn't think it was a thing someone would
realistically say. It's a little Ned Flanders.

------
ssivark
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.

~~~
empath75
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.

------
Macha
Alpine Linux refutes the idea that the GNU userspace is the important
component here.

~~~
tyingq
And the various home router distributions before Alpine that were musl or
uclibc and busybox based.

------
pjmlp
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.

~~~
llampx
> 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.

~~~
pjmlp
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.

~~~
xnyan
Modern version, still actively developed by Microsoft:
[https://docs.microsoft.com/en-
us/sysinternals/](https://docs.microsoft.com/en-us/sysinternals/).

First thing I install on every windows box, the power of that toolset is
incredible.

~~~
JdeBP
Those and Take Command for me. (-:

------
ChrisSD
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?

~~~
bibinou
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.

~~~
MarsAscendant
Microsoft Xunil?

~~~
pjc50
Xenix 2!

~~~
JdeBP
That was originally known as Xenix V and was released in 1985. IBM sold it as
Xenix 2.0 at the time. SCO was using Arabic version numbers by 1988, when it
was up to Xenix 386 Release 2.3.

------
karmakaze
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.

~~~
pjmlp
Linux developers using macOS don't seem to care much about that distinction.

~~~
karmakaze
I can't make any sense of this statement. 'Developers using macOS' are either
macOS developers or making apps that run on a platform.

------
ch_123
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.

------
SmellyGeekBoy
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.

------
mikegerwitz
rms refers to this combination as "GNU/kWindows". I wrote about GNU's
perspective back in 2016:

[https://mikegerwitz.com/2016/04/gnu-
kwindows](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](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.

~~~
snotrockets
“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)

------
peterwwillis
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...)

~~~
kanox
The proper name is clearly GNU/Windows

~~~
wayneftw
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.

------
tyingq
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.

------
thatthatis
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](https://m.imgur.com/gallery/xxyr9)

------
rambojazz
I don't understand, can somebody explain the meaning of that tweet?

~~~
krylon
It means that you can switch the kernel beneath the userspace and hardly
notice. So the Linux in GNU/Linux can be replaced, giving you GNU/NT, I guess.

Debian actually tried this a while ago with FreeBSD, but I think it was
discontinued.

~~~
j16sdiz
And Debian GNU/Hurd too.

------
partusman
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.

------
f3z0
Microsoft implements Linux Kernel and calls it NT kernel.

------
gnuking
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.

