I recently read an article that referred to GNU Bash as “Linux’s Bash”; this is simply a slap in the face to the GNU Project and all the hackers that have for the past 26 years (since 1989) been writing what is one of today’s most widely used shells on Unix-like systems, including on Apple’s proprietary Mac OSX.
I think this speaks worlds -- about exactly how bad and anti-productive the FSF's PR has been at times in the past 26 years. I remember sending liason email to an FSF secretary in the early 2000's. Smalltalkers had always liked the idea of seeing the source to everything. In fact, you can't really hide the source very well, because de-compilation is trivial for Smalltalk.
The person at the FSF was far more concerned with politics and correcting my terminology than actually talking to me. It made me not want to talk with him or deal with him at all. (Ironically, many Smalltalkers did the same sort of thing to outsiders of their community as well.)
Takeaway: Just because you're philosophically correct and far-sighted, that doesn't mean you can get away with alienating potential allies and bad PR. Above, I cite two examples.
> how bad and anti-productive the FSF's PR has been at times in the past 26 years
I'd apply that same sentiment to this article as well.
They haven't received the recognition they deserve, and because they're always at the ready to remind you of it, they remain alienated. Nobody wants to have to apologize for circumstances that are everyone's fault... or no-one's.
Don't get me wrong, I love most everything GNU stands for,
but their message has never been well received because of it's confused agenda. They absolutely deserve the truth to be known, and we should be listening to their opinions, but when an authoritative statement serves essentially as a complaint about the state of their authority, it's no wonder we tune out.
This was a great opportunity to elegantly explain the distinction, sans snark, sans agenda, but they failed so miserably even comments in this HN discussion are still using the wrong terminology.
> This was a great opportunity to elegantly explain the distinction, sans snark, sans agenda, but they failed so miserably even comments in this HN discussion are still using the wrong terminology.
First, I want to clarify that there is no "they" here: while I share the opinions of GNU and the FSF---and am quite involved with both---this article is not written for or by GNU (otherwise it'd be posted there).
Explaining the distinction without explaining the purpose behind it is almost useless---that'd boil down to "please say GNU/kWindows to give credit to the GNU Project". But that completely misses the point.
Credit for the GNU Project is important, but the underlying, more important _purpose_ is to talk about users' freedoms. So of course there is agenda involved. And what you call "snark" is a factual analysis of the problem. Hackers are known for their snark; I purposefully left it out of the article. (So I am curious what you think is snarky.)
Although I mostly agree with their opinions, reading this letter felt like reading the inside mail of an insane cult / conspiracy theory mailing list. I understand that the letter was probably not meant to be read by people outside of the group, but the letter gives an idea of why they look so disconnected from the reality of people in the real world, from the outside.
I think the GNU/Linux fight has been over for a long time. Hearing once again why GNU should be included in the name is about as interesting as being told that kerosene, heroine, and dry ice are all trademarks (and, coincidentally, key parts of my camping kit).
Maybe you are partly right. Anyway, GNU is still here, still very strong, so much that's even what is mainly advertised (GNU bash + the usual gnu tools that you think of when you think about GNU bash) by Microsoft (the demo goes even beyond, but the initial advertising is about GNU tools). So was the PR so bad? Could another PR have given GNU the presence that it has today, without even compromising on ideas and values? I'm not so sure.
They don't consider it "philosophically correct", but customary. When you go to Japan does people following differing customs (like bowing) feel alienating? That's how I see this. This is part of a culture with certain customs.
What you're saying probably makes people of this culture feel alienated and many of them already are.
The FSF isn't a different culture though, not in the sense that you're talking about. They live in the exact same culture as the people around them.
It's alienating because asking people reasonable questions and getting lectured about not phrasing the questions using their approved terminology* instead of getting a reasonable answer to those reasonable questions is rather alienating.
* And their terminology is based on what always seemed like an intentional strategy of attaching very specific and nonintuitive definitions to commonly used words with dozens of dictionary definitions already. So if anyone has given up their privilege to lecture people about misusing terminology, it's them, because they created the confusion in the first place by overloading common terms instead of creating new terms to represent their (very unique and complicated) ideals.
Is the main point to be alienated or is the point to further your cause through effective outreach? I suspect they thought the former was the main point, but group pathologies made it the latter. (Again, this applies to both groups I mention in my comment above.)
Windows is implementing the Linux system call interface. So it's valid to include Linux in the overall name, since it's running binaries designed and targeted at Linux's own APIs.
GNU/kWindows might also refer to Cygwin or gnuwin32, which are ports of GNU software to other operating systems.
And people might run zsh and busybox on top of the Linux subsystem, and eliminate GNU entirely.
But overall, I'm just tired and sick of the GNU project attempting to correct people on technical matters like this. I remember having a very technical conversation talking about the Linux kernel and its APIs, when rms came in and "corrected" us to tell us that the proper name of the OS is GNU/Linux. It's just rude and unwarranted at this point.
GNU/kWindows doesn't make any sense to begin with. Modern Windows OS is the NT kernel with the Windows user land. A more appropriate name would be GNU/NT.
> And people might run zsh and busybox on top of the Linux subsystem, and eliminate GNU entirely.
Nevermind that many userspace components Linux-users interact with are not GNU projects. GNU was essential to the rise of Linux as the 3rd party operating system, and is still essential to the system today, but it is not the biggest piece.
If people want to identify the system as Linux regardless of the other software in the system, it's fine by me.
It is less essential these days than it used to be. There are replacements for just about everything from other projects. Many are under even more permissive licensing. A userland is not enough to form an OS either. It is enough to be an organ donor for other operating systems. Each Linux distribution could be considered its own OS.
Also, much of the development behind GNU components were meant for other operating systems than the GNU operating system. There would be many more working on the GNU kernel if that were not the case.
No, it's not. It is Canonical's packaging of various components, some of which are GNU, some of which are from a disparate group of people, and those components may be used much much more than the gnu components. Given the intended use cases, such as server development, it would be a lot more accurate, but no less ridiculous, to call it Python/ImageMagick/GNU/Canonical/Nginx/kWindows. Canonical and Microsoft did the heavy lifting, the GNU project is just responsible for the bitching and moaning afterward.
> GNU project is just responsible for the bitching and moaning
It really sounds like you want to say GNU Project hadn't wrote the whole OS core (sans kernel), but Microsoft and Canonical did.
What they're shipping is actually Ubuntu OS (which is a GNU derivative, with GNU being actually the essential core part here - the OS, with the other essential part being apt/dpkg system) for Windows kernel, not nginx or ImageMagick or anything. Even though those can be installed (and when those are what it's about, then we call it "python stack" or "LAMP" or whatever).
So the names "Ubuntu" (I'm not sure why author's against this one, it's Ubuntu after all; we call "Debian GNU/Linux" just "Debian" as well) and "GNU" (which Ubuntu essentially is distribution of) are perfectly applicable.
But it's not just GNU running on top of the Windows kernel. It's GNU executables which think they're communicating with a Linux kernel. I understand being frustrated about the already-forming naming conventions (although they've been chanting GNU/Linux forever and it still isn't used in common parlance), but GNU/kWindows doesn't capture the nature of the system either.
Accurate. Technically the Microsoft compatibility later could have been entirely done at the library level by replicating POSIX and adding an ELF linker/loader. There would have been some edge cases around Linux specific source but the GNU core would have been well served by something like that.
The reason the language is all centered around Linux is because what they chose to do was do a Linux syscall compatibility layer. Really it could be called GNU/sLinux/kWindows but nobody is ever going to bother with that mouthful.
Edit: I should add that this doesn't mean I agree with the use of Linux here - I just understand why that's the case. I would much prefer if those involved went to the trouble of explaining what GNU is to those consumers who are interested. Pretty unlikely Microsoft would be leading that given GNU's position on Windows.
I've never really understood the FSF's incessant need to claim GNU as the operating system which happen to be running on x kernel. There are operating systems running the linux kernel without any GNU software. The operating system is whatever is between the hardware and my application. The lines are somewhat blurred in my opinion, is /bin/ls part of the operating system? (both rhetorical and not...)
Granted, free software would not be where it is today had it not been for GNU and the FSF and they do deserve a lot of credit for their hard work from which i am benefiting every day.
Well, GNU Project had written a whole userspace stack (glibc, bash, gcc, ...). Most of this was before Linux, they started in '84, while Linux was only born in '91. However, GNU Project had no kernel for their OS, so they took Linux (which wasn't/isn't a part of GNU Project) while they had worked on their kernel (HURD, started in '90). But sadly - some may argue - HURD had never really happened.
So, isn't it fair to give GNU Project some attribution for the OS that they made, that no one dares to call by its name but calls it by the kernel's name instead?
It's somewhat like as everyone would've called "Dropbox" as "Amazon" because they've used EC2 and S3 as an important parts of their infrastructure (I know, I know, they've moved, doesn't really matter).
Names aren't attributions though. Names are somewhat arbitrarily-chosen words people use to refer to specific things. Some names contain indicators about the history of the thing they refer to, but when that happens it's due to historical and/or sociological accident, and is usually not a conscious attempt to give attribution to one entity or take it away from another.
On top of that, their obsession with names and attribution (for non-legal reasons) is almost comically immature and obsessive. The GNU/Linux kerfluffle in the '90s (continuing to this day!) might as well be a giant billboard advertising to the world that they are people obsessed with trees but blind to forests. When people get that emotionally invested in what is truly just distracting minutiae, it's hard not have fundamental questions about their basic rationality.
I'm not sure how to do it otherwise, if not by name. Say, we do call certain web server "nginx" (but probably nobody would object if we'd say "that server by Igor Sysoev et al", it's just quite cumbersome this way), and it probably won't feel right if we'd call it, say, "fastcgi". Yet, for some reason we don't call a certain OS called "GNU" by that name, or author names or any other name at all, but say it like it's a part of other project (of which it isn't part of - here's the problem!).
I don't think it's unreasonable that FSF/GNU Project feel that it's not right. They did a large project, and it had "lost" its name, like their project doesn't exist or is irrelevant. I surely can't speak for GNU Project authors, but I believe, for authors, that may probably feel unfair if not even offensive. I'm not sure what's the "trees" (must be naming) or "forest" (?) here, when they just want their fair share of recognition for something that they did but that's not ever called by its name. Is it really immature?
And, duh, it's not like they're asking something unreasonable or unnecessarily complicated, so, personally for myself, I had decided I have no reasons to not respect this request.
Edit: added about forest/trees - not sure what you meant of those.
The trouble is, GNU is only _part_ of the GNU/Linux operating system. What people actually experience as "the operating system" day to day includes the kernel, and a bunch of GNU userspace, and a bunch of BSD userspace, and a bunch of completely unrelated software. Is systemd a GNU project? Is yum/apt/dnf/whatever? Is KDE or XFCE or X.org?
They're totally right that the GNU components are an indispensable part of a Linux system. But if they wanted to guarantee they got continuous credit for their components over the decades then maybe GNU shouldn't have given their software away to the world to do with largely as it pleases.
I came here to say the same thing. GNU provides user-land applications and libraries. I have a hard time seeing their jump to "GNU operating system". There's a LOT of code that makes up a *nix distribution and GNU, I'm sure, is a fairly small part of the overall code even though it's a pretty important one.
You know, if the GNU project wants to insist that their branding is plastered all over derivatives, they should choose a different license. Beyond that, I'm tired of GNU cultists insisting on the right to demand other people's projects get called by different names than the people releasing the projects choose.
Hey, hey, don't mix weirdos and actual GNU Project together.
Had GNU Project had ever really insisted on plastering "GNU" branding on some derivatives? I really doubt that. What they had always asked is to call their OS by it's name and give the proper attribution when you base something on it. Just like everyone else (BSD) does.
The OS without kernel is called "GNU", and with kernel it's "GNU/Linux". Oh, and the editor's "GNU Emacs" (because there are other Emacses). That's all that GNU Project had ever asked.
If you see some weirdo telling that, say, Debian must be called "GNU Debian" or something, tell that they're nuts because Debian is not a part of GNU Project. But if someone expands and explains what Debian is ("Debian distribution of GNU OS with Linux kernel"), then surely, it's only right to give GNU some well-deserved attribution about the OS they wrote. That's all they ask.
Oh, and I really don't get why author says it's not "Ubuntu" but "GNU". Ubuntu it is, with Ubuntu being a GNU distribution.
But that's the thing, nobody other that the GNU people called that an OS worth of a name. I suspect what people call an OS is an standalone set of conventions and packaging that can actually be used to interface between the hardware and the user [0]; so I think Debian is more worth of being called an OS on its own than "GNU userspace - kernel". Same with any other Linux distribution, *BSD variant, Windows and OSX. It was the linux project that made those OSes viable as standalone things (to be fair, the GNU userspace made them viable as usable working platforms for early adopters - but nowadays the role of GNU software in the OS is less central), and people place more weight to that.
"Secondly, when you see someone using a GNU/kWindows system, politely ask them why. Tell them that there is a better operating system out there—the GNU/Linux operating system—that not only provides those technical features, but also provides the feature of freedom! Tell them what free software is, and try to relate it to them so that they understand why it is important, and even practical."
Am I the only one thinking of crusading Mormons here? ;)
It is sad that the article positions itself to once again attack "open source" as if it is an abandonment of the free software values. Yes, part of open source was making it an "easier sell", but another part was to remove the linguistic ambiguities that arise from "free software". The proponents of open source in the beginning, and still to day, actively reject non-free software just as much. GNU on Microsoft Windows can be just as revolting to open source advocates ("can be" -- people are different from other people, not everyone holds the same standards, and this is true in the free software camps too).
Beyond that trifle, I applaud the article for trying to dispell the confusion surrounding everything. Given that Microsoft is adding a subsystem that is binary-compatible with Linux system calls, so that ELF Linux binaries may run as-is, calling it a "Linux subsystem" is not that big of a stretch, but continuing to call the user space "Linux" is.
One final point: If anyone reimplements this on ReactOS, the issues about freedom disappear. You don't have to like the operating system, but it is free software in every sense of the word. :-)
The FSF has rather bitter words about ReactOS that would keep them from admitting such, "ReactOS is meant as a free binary compatible replacement for Windows. Allowing people to continue using the proprietary software and drivers meant for Windows is one of the stated goals of the project."[1] Also note on the same page their disdain of more permissive licenses, like BSD and Apache, calling them "pushover".
based on those examples, I'm confused as to why they support GNU, considering it can be used with non free software such as a windows kernel. It looks like GNU is abhorrent to the FSF.
> It is sad that the article positions itself to once again attack "open source" as if it is an abandonment of the free software values. Yes, part of open source was making it an "easier sell", but another part was to remove the linguistic ambiguities that arise from "free software".
"Open source" was created explicitly to avoid talking about the core philosophy behind free software---users' freedoms. Instead, it positioned itself as a development methodology.
But it's still running binaries compiled for GNU/Linux?
The Debian GNU/kFreeBSD port compiles for FreeBSD kernel system calls, not their linux emulation, as far as I know. So a "GNU/kWindows" system could compile against NT system calls, or perhaps something like Cygwin which could reasonably be called "GNU/(k)win32".
Also, it remains to be seen whether this can even be considered a full GNU operating system. I doubt you'll be able to run a pure "Linux Subsystem for Windows" GNU setup without the rest of wininit.exe, lsass.exe etc etc etc.
‘This combination is referred to as GNU/kWindows (GNU with the Windows kernel added).
Microsoft and Canonical have apparently been working together to write a subsystem that translates Linux system calls into something Windows will understand—a compatibility layer. So, software compiled to run on a system with the kernel Linux will work on Windows through system call translation. Many articles are calling this system “Ubuntu on Windows”, or “Linux on Windows”. This is a fallacy: the kernel Linux is not at all involved! What we are witnessing is the GNU operating system running with a Windows kernel instead of Linux.’
Microsoft wrote the kernel parts. Canonical provided the Ubuntu userland image. I heard it straight from Canonical in an in-person chat last week on the day it was announced.
This confusion is both astonishing, given the length of time GNU has been around. Yet it is also understandable, for many there's a missing distinction between GNU vs Linux project vs FreeBSD etc etc. The GNU operating system website explains the distinction pretty clearly on its home page.
> I often wonder why Microsoft doesn't just bite the bullet and adopt Linux as the kernel for Windows
What is to gain? It's not like the Windows kernel is bad or useless. You'd have to redo the Windows API on top of a kernel that works very differently. Any gains here are marginal and there's a lot of cost involved.
It's not like the Windows kernel is bad or useless.
The NT kernel is pretty darn good, so long as it's not polluted with things that don't belong in it. It shares a lot of heritage with the VAX kernel. A lot of the same people worked on both. If you don't molest it, the NT kernel can (and does) run ultra high reliability things like RAID arrays.
RAID is not very reliable. Here is an example that I tried the other day in MD RAID 1. I made a 2-disk array, zeroed it, wrote a sector of garbage at 1MB into one disk directly, cleared caches, ran a scrub and did not see any warning about the inconsistency. It relies on the drive firmware to verify the low level formatting parity, so things like misdirected writes (which my writing garbage was meant to simulate) go undetected. There are plenty of other problems too, but that is just one example. Anyway, at scale, you can count on RAID to be unreliable. If you want something reliable, use ZFS.
> I often wonder why Microsoft doesn't just bite the bullet and adopt Linux as the kernel for Windows.
What does the Linux kernel offer them to merit the pain of doing that?
Also, why the Linux kernel in specific instead of adopting any of the other kernels intended to provide a UNIX environment such as XNU, FreeBSD's kernel, Illumos' kernel, etcetera?
They have the technology to switch in the form of drawbridge. Whether they have sufficient incentive to do that or that one option is more desireable than another is another story.
>I often wonder why Microsoft doesn't just bite the bullet and adopt Linux as the kernel for Windows.
Linux doesn't have the massive data collection apparatus that Windows 10 does. If they released an OS with the Linux kernel + NSA, there would be no reason to use it over some other Linux distro.
Microsoft makes a lot of money from selling and analyzing your data. The main purpose of Windows at this point is the data collection tools.
This got downvoted, but aside from the snarky remark, it is a good point that Windows' main profit these days is probably data collection - or at least it's heading that way.
It got downvoted because it's blatantly untrue, as is your comment. Windows' profit comes from licenses, same as it always did - the W10 upgrade was free for personal copies, but business users still pay, as do people who buy a new computer. The idea that Microsoft is making a big chunk of its money through data selling is baloney.
So you're saying they gather all that personal data for... no reason whatsoever? There have been so many threads on HN about Windows 10's privacy invasive settings, and here I'm being told they do no such thing?
Well how do you know it's baloney if you can't trust Microsoft? If they aren't selling it then I'm sure they're just handing it over to the NSA and god knows what other world governments, which is even worse.
It's just a matter of time until there's a massive data breach/leak and all of Microsoft customer data is on public display.
Technically, the article is correct. Indeed, GNU/kWindows is a better name for the resulting OS, and Windows is still very non-free and spies at its users, etc etc.
But: we already know all that. I am a heavy Linux user, and I am quite excited to see it available on Windows. Because Windows is nice and shiny and well-polished and works with hardware and works better for my needs than fully free OS with limited hardware support (especially on the GPU side). I want to work, not endlessly configure my Emacs, I am pro-capitalism (though very anti-surveillance) and I don't even have a beard.
So, thank you, GNU guys, your software is excellent and free. Even if you make it more difficult to use with some software with other licenses, it is still possible, and I am quite happy to add it in the mix. But I don't want to live in your idealized non-commercial world, and your proselytizing became quite boring for the last 25 years.
When I do open source, I use MIT/BSD license, because it helps people unconditionally and doesn't introduce restrictions as those in less free licenses like GPL.
>GNU/kWindows is a better name for the resulting OS
What's the issue with “Ubuntu” so that it needs to be dropped completely? The article only contains:
>It would also be best if you avoid calling it “Ubuntu on Windows”; it isn’t a factually incorrect statement—you are running Ubuntu’s distribution of GNU—but it still avoids mentioning the GNU Project.
If Ubuntu were called "Ubuntu GNU/Linux", we'd still have a bit of an awkward situation, because there's no Linux involved; it'd be "Ubuntu GNU/kWindows", going by the stated naming convention. So it's not that "Ubuntu" is the problem, per se; it's the lack of mention of GNU.
I suppose that's worth clarification in the article.
> But I don't want to live in your idealized non-commercial world, and your proselytizing became quite boring for the last 25 years.
The FSF has no problem with commercial software. They just hate the existence of proprietary software. There are many free software companies. Commercial free software does exist.
Why is Linux coming to Windows exciting to you? There are already all sorts of problems and I'm sure they'll get better, but you go on to say:
> I want to work, not endlessly configure my Emacs
Which implies you want a system that stays out of your way.
How will this new compatibility layer stay out of your way when you constantly have to find new work arounds whenever you develop anything?
For example I've seen a lot of user complaining about setting up a full android development environment. I'm sure this will get support, then other dev environments one by one, but on Linux they'll just work 99% of the time (at least in my experience), on GNU/kWindows you will be debugging things for days, I can see it now.
Windows has been coming out with a lot of new stuff lately but nothing has really caught on. I don't see this huge mess taking off or replacing Linux any time soon. Has typescript replaced javascript?
The FSF doesn't seem to understand much about how to win. Winning means that everyone uses your software and you can apply massive influence, in this case to push for freedom.
Winning isn't being a damn curmudgion that everyone hates because you constantly correct how they refer to your product.
What is the proper way to refer to the Apple computer system? Is it Mac? OS/X? OSX? OSX/Mach FreeBSD +Commercial UI layer based on NeXT? Literally NOBODY cares. Why doesn't Apple come out every week with a press release explaining the proper grammar for referring to their stuff?
Because that would be ludicrous and stupid and counter productive.
The GNU project is primarily a social project with technical components. If the project's philosophy is not mentioned because the project isn't even understood to exist this is a problem.
GNU is not primarily a product; if it were you would be right that its name wouldn't matter much and world domination would be the primary target.
Isn't the Microsoft project just emulating Linux system calls? If that is so, how does it have _anything_ with GNU to do? Just be cause many people use the GNU userland and glibc doesn't mean it isn't possible to run other stuff. Calling the project GNU/kWindows is wrong since GNU is not necessarily included.
Thank you to whomever posted this link again; I'm glad others can read about GNU's perspective.
If any quotes from others here are out of date: I rearranged and modified the article slightly to reflect some suggestions from rms, and to clarify a few things.
>But what if you’re using GNU/Linux today? In that case, it is a major downgrade to switch to a GNU/kWindows system; by doing so, you are surrendering your freedom to Microsoft. It does not matter how many shiny features Microsoft might introduce into its freedom-denying surveillance system; an operating system that respects your freedoms will always be a superior choice. We would do our best to dissuade users from switching to a GNU/kWindows system for the technical benefits that GNU provides.
I would never downgrade from Linux or mac to GNU/kWindows or as I prefer to call it "NSA/Windows". Not even because of privacy issues, but because Linux out performs Windows 10 on my shitty laptop that came with windows 10 from dell.
I'm sure it out performs OS X too on this hardware, and yeah I could get a mac book or a surface but I think I'll just get something nice that runs Linux because it's just as easy and probably cheaper. I don't even give my parents Windows because if I did they'd find a way to muck up the system and it's a constant headache, Linux is rock solid for the elderly. No, it doesn't just randomly break when I ssh in and update it. Even I, a power user and programmer, can't seem to get Windows to have a fast start up time on a regular HDD, sure it gets to the desktop reasonably fast but then it constantly chokes as soon as I try to do something like open the start menu. I have to give windows a five minute "warm up" period for it to be usable in some cases. When I plug in an external monitor while using Windows the whole OS can slow to a crawl and when I unplug it my windows are lost forever, forget saving your work!
Windows is a proprietary billion dollar OS and yet it only really works well across a short range of hardware, contrary to popular belief.
I think this speaks worlds -- about exactly how bad and anti-productive the FSF's PR has been at times in the past 26 years. I remember sending liason email to an FSF secretary in the early 2000's. Smalltalkers had always liked the idea of seeing the source to everything. In fact, you can't really hide the source very well, because de-compilation is trivial for Smalltalk.
The person at the FSF was far more concerned with politics and correcting my terminology than actually talking to me. It made me not want to talk with him or deal with him at all. (Ironically, many Smalltalkers did the same sort of thing to outsiders of their community as well.)
Takeaway: Just because you're philosophically correct and far-sighted, that doesn't mean you can get away with alienating potential allies and bad PR. Above, I cite two examples.