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.
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.
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.)
What you're saying probably makes people of this culture feel alienated and many of them already are.
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.
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.
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.
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.
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.
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.
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.
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).
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 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.
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.
GNU is a fully free/libre replacement for the Unix operating system, not just a collection of GNU programs:
GNU never has been all GNU software---GNU wrote tools that were needed, and used free software when it was available.
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 ; 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.
: I pretty much agree with Ted Nelson about the distinction between "technology" and "packaging". (https://youtu.be/KdnGPQaICjk?t=1m47s)
GNU is more than a collection of GNU programs; when free software existed, it was used. The result with a complete Unix replacement.
Am I the only one thinking of crusading Mormons here? ;)
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. :-)
"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.
If the open source community talked about freedom, then they would be talking about free software.
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.’
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.
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.
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.
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.
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.
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.
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.
The license only guarantees that no additional restrictions are placed on users. The GPL and copyleft are legal hacks.
> But I don't want to live in your idealized non-commercial world, and your proselytizing became quite boring for the last 25 years.
It is a misunderstanding to think that a goal for GNU or the GPL are a "non-commercial world".
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.
> 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.
It has on the project I'm working on, but there's really no way you can tell after it's compiled.
Angular2 is written in it too.
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.
Learn something from that FSF!
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.
Yes, they can theoretically run non-GNU userland (such as Android userland programs), but that's not what they're trying to do.
Actually, I'm pleasantly surprised to see that this Microsoft post refers to GNU/Linux.
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.
My understanding is that this statement is a little optimistic.
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.