Hacker News new | ask | show | jobs
by dragonwriter 3356 days ago
It's a subsystem of Windows (hence Windows Subsystem). And, among all Windows Subsystems, it's the one for Linux, hence Windows Subsystem for Linux.
6 comments

Yeah it's the 'for' in there that makes it wrong. It's not 'for' Linux, it's for Windows. I know what it is and I _still_ think of it backwards every time I read it.
'for' is heavily overloaded as an English preposition. You are expecting a connotation of "for [the benefit of] Linux" versus the connotation of "for [the purpose of] Linux". Another example in English might be the relative meanings of 'for' in "this gift is for you" versus "this gift is for good behavior".

Other languages use multiple words or different cases for some of these situations. English leaves it ambiguous.

The fact that there are so many of us discussing it implies that it is a failure of a name. After all, what are words for if not communicating? We can debate semantics all day, but in the end, it's obvious that many people find the phrasing to be confusing.
it's the subsystem for running Linux. It's not actually Linux, and after enabling the subsystem you still have to actually get the Ubutntu image. That image is the Linux part.
We all understand how it works. Repeating that is unconstructive.

It is a bad name that is bad English. It was bad when it was "Windows Services for UNIX" too as an aside.

Note that this subsystem never actually was "Windows Services for UNIX". That was another subsystem, another personality on top of the Windows NT kernel.
Per context, "it" was the name of the thing. "It" (the name) was a bad name then and is a bad name now.
Windows Subsystem's Not Unix.
... which might fit well with IBM's not quite Unix thing AIX, which acquired the nickname "Ain't unIX".
But that (a subsystem "for Linux") would only be referring to the small compatibility layer for syscalls and stuff, rather than the whole Bash environment which "WSL" typically means.
This explains one interpretation but it doesn't excuse the ambiguity.
I have only ever seen "<foo> Subsystem" used to mean a subsystem that does foo, not a subsystem for foo.
Yes that still doesn't work.