Talk:Unix/Archive 8
This is an archive of past discussions about Unix. Do not edit the contents of this page. If you wish to start a new discussion or revive an old one, please do so on the current talk page. |
Archive 5 | Archive 6 | Archive 7 | Archive 8 |
Is Android a "Unix"?
In this edit, "As of 2014, the Unix version with the largest installed base is Apple's macOS." was changed to "As of 2014, the Unix version with the largest installed base are Google's Android and Apple's macOS."
That was subsequently reverted in this edit, with the comment "android isn't really unix, unlike macos".
Then the reversion was reverted. This appears to be a case of BOLD, revert, discuss, with the first change being bold, followed by a reversion, so the next step should be a discussion, not the beginnings of an edit war.
So:
macOS is a "trademark Unix", but Android isn't. If Unix means "trademark Unix", the Unix version with the largest installed base is macOS, unless one of the other trademark Unixes has managed to gain more market share. Note that the only Linux distribution that's a "trademark Unix" appears to be Inspur K-UX; Android (operating system) isn't one of them.
There's already a page for Unix-like systems; I think Android could be considered a "Unix-like system", as could iOS, so the top two Unix-like systems, in terms of market share, are probably Android and iOS. I don't know what the sum of the market shares of all "GNU/Linux" distributions (a category in which I don't include Android, given that it uses the Bionic C library rather than the GNU C library), so, if we count "GNU/Linux", as the collection of all Linux distributions using GNU software for a large chunk of their userlands, as a single OS, I don't know whether it's ahead of macOS in market share or not. Guy Harris (talk) 18:41, 28 April 2018 (UTC)
UNICS data inaccurate
The data on the origin of UNICS is inaccurate, unless you regard Brian Kernighan a liar, as he told a conference that it was a quip he made on the first maiden voyage of the system when Ritchie's login from a user console failed. (The system at that time was written in B.) All attempts to assign other credit to this acronym fail and are not better than sophomoric. Brian's still around - ask him. For the jibe was taken by ken and dmr as a friendly challenge: ken asked dmr to make B a compilable language (which he did). How Peter's supposed to factor into this pseudo-history is a mystery, but he's never mentioned in those early years at Bell and bwk never mentions him at all. So it's apocryphal. — Preceding unsigned comment added by 82.255.20.188 (talk • contribs) 0:45, 24 August 2015
- "Peter" as in "Peter H. Salus" or "Peter" as in "Peter G. Neumann"? In either case, Peter Neumann credited Kernighan for "Unics" in an interview, so I've updated the article. Guy Harris (talk) 21:21, 1 December 2017 (UTC)
- That's still not the whole story, at least as BWK told us years back, although the story may change over the years. But he explained how and why the name was suggested. And yes, it was a friendly joke. By BWK himself, as he tells it. — Preceding unsigned comment added by 2a01:cb18:2ba:e300:c033:dcbd:6d7e:fda9 (talk • contribs) 10:54, 17 October 2018 (UTC)
- I heard neither of these is accurate. There was political sensitivity with Unix coming from Multics and the name came from it being the "un" "Multics" or un-ics, except the ics sounded mushy so it became ... unix. However, this was wildly insulting to the people who made Multics (who were brilliant computer scientists and, more to the point, way more senior) so people came up with different origin story for the name. I heard this ages ago from somebody around back in the day but don't remember who. I don't know if it's true but it's certainly a more interesting story than any other and also a better explanation. — Preceding unsigned comment added by Ruby Alisa Day (talk • contribs) 16:00, 19 August 2019 (UTC)
- We'd need a reliable source for any claim as to the origin; "true" is relevant, "interesting" isn't. For now, the best reference we have is the interview with Kernighan. Guy Harris (talk) 17:06, 19 August 2019 (UTC)
Original formatting of the name - "Unix" or "UNIX"?
The article says:
- Unix was the original formatting, but the usage of UNIX remains widespread because it was once typeset in small caps (Unix). According to Dennis Ritchie, when presenting the original Unix paper to the third Operating Systems Symposium of the American Association for Computing Machinery (ACM), "we had a new typesetter and troff had just been invented and we were intoxicated by being able to produce small caps."[1]
However, the introduction to the 1971 edition of the UNIX Programmer's Manual says "UNIX", not "Unix", as does "The UNIX Time-Sharing System" from 1978. On the other hand, a memo "Unix Portability" spells it "Unix", even though the paper for the proposed portability project spells it "UNIX".
The bit about small caps also suggests that, when the C/A/T arrived and troff was written for it, "UNIX" was common.
Most of the older pages Dennis Ritchie's preserved Web site seem to use "UNIX" rather than "Unix", so I'm skeptical that "Unix" was the original formatting. Guy Harris (talk) 07:44, 5 September 2019 (UTC)
- And "unix" doesn't turn into "UNIX" if you use small caps, because "unix" doesn't use caps at all - if you use small caps, "unix" is unchanged, but "UNIX" turns into "UNIX". Guy Harris (talk) 07:54, 5 September 2019 (UTC)
- Small-caps are lower-case letters rendered as uppercase. You don't capitalize the first letter of a small-caps string; you render it in all lower-case. That's why the pdf I sourced to did exactly that, it's a re-render of an original paper article. That's why the original edit I made, and the followup, display unix in small-caps by entering it specifically as "unix", no caps. That's how small-caps works. See the article on small-caps right here on wikipedia. "In typography, small capitals (usually abbreviated small caps) are lowercase characters typeset with glyphs that resemble uppercase letters ("capitals") but reduced in height and weight, close to the surrounding lowercase (small) letters or text figures". Emphasis mine. Anastrophe (talk) 08:02, 5 September 2019 (UTC)
- Sigh. The original doc is paid content. I'm looking into getting it. Anastrophe (talk) 08:12, 5 September 2019 (UTC)
- Then "UNIX" would be the small-caps version of "unix", but "UNIX" would be the small-caps version of "Unix".
- However, the first edition of the manual, as I noted above, uses "UNIX". Guy Harris (talk) 08:27, 5 September 2019 (UTC)
- The examples you provide above using the '\<small\>' tag aren't smallcaps, they are "fake smallcaps". Small-caps are always lowercase letters rendered as small capitals. I know, this is getting pretty difficult to parse. Whether the name is "Unix", "UNIX", "uNiX", if it is to be rendered as smallcaps, and all three of the variants I just provided would be uniform glyphs the size of lowercase letters forming 'unix'. This page goes into it in pretty thorough details - http://jkorpela.fi/small-caps.html - and admittedly I haven't read the whole thing, but it seems to me that the 'unix' we are talking about would have been rendered by Thompson/Ritchie in appropriate glyphs. Maybe. This was so long ago, we need to see images of the actual paper submitted, because who knows exactly how troff rendered it? I purchased the ACM paper - only to learn it is a revised version of the paper that was originally presented at the earlier symposium. So, the search continues...Anastrophe (talk) 15:51, 5 September 2019 (UTC)
1) So by "lowercase letters" do you mean "characters encoded in ASCII with values between 0x61 and 0x7a", and "lowercase letters rendered as small capitals" that means "0x61 through 0x7a rendered with glyphs that look like small versions of the glyphs used to render 0x41 through 0x5a"?
- Beats me. I'm not that deep into it. Anastrophe (talk) 02:17, 6 September 2019 (UTC)
2) As I noted, the introduction to the first edition of the programmer's manual repeatedly refers to the operating system as "UNIX", all caps, so I'm not sure that the original form could be considered either "Unix" or "unix".
- This is where the disconnect becomes palpable. If, as you say, the word is rendered most of the time as "UNIX", then, if thompson/ritchie wanted to emulate it as small caps, they would have used glyphs that mimic the capital letter variant, but reduced to lowercase size. It's not that they entered "unix" into their paper and converted it to smallcaps - they entered smallcaps unix. They are font variants. Just as there are uppercase characters, and lowercase characters, there are smallcaps characters - they are neither upper or lowercase. So there's no equivalent in rendering them to the fake smallcaps used here and in the article. Again - smallcaps are Small Capital letters - how we render it here via <smallcaps>unix<\smallcaps> or <smallcaps>UNIX</smallcaps> is irrelevant to the actual typeset letters. But ultimately I don't think we're going to find a resolution to this. We're dealing with trying to mimic a font generated by troff that was then printed on paper, not on a display. And we can't generate that exact font here on wikipedia (as far as I know). Unless we can find a photographic copy of the original paper presented at the symposium, and publish an example image directly from that photocopy, everything else winds up spiraling into these arcana. Anastrophe (talk) 02:17, 6 September 2019 (UTC)
3) Have you ever found a paper where the name is rendered as "unix" rather than as "Unix? Guy Harris (talk) 18:31, 5 September 2019 (UTC)
- Most of the digital reproductions render it in actual smallcaps, for example this version - https://archive.org/details/UNIX-Time-Sharing-System Anastrophe (talk) 02:17, 6 September 2019 (UTC)
- BTW, "we were intoxicated by being able to produce small caps" may have meant "we were so intoxicated we abused them", given that it appears that they rendered "TENEX" either as TENEX or tenex, but the OS's name wasn't "tenex", it was "TENEX", as per, for example, the CACM TENEX paper. Guy Harris (talk) 23:51, 5 September 2019 (UTC)
- The TENEX paper, like the UNIX paper, uses all caps, non-small, in the title and abstract, and uses glyphs that look like smaller-than-normal capital letters in the body for a number of terms, including "PDP", "TENEX", "DEC", "SDS", "CTSS", "MIT", "BBN", "EXEC", and even "MULTICS" (which is spelled "Multics"), including command names. I don't know whether that's a stylistic choice by the authors, by
bbnBBN, or by CACM, but none of those, are generally all-lower-case.
- The TENEX paper, like the UNIX paper, uses all caps, non-small, in the title and abstract, and uses glyphs that look like smaller-than-normal capital letters in the body for a number of terms, including "PDP", "TENEX", "DEC", "SDS", "CTSS", "MIT", "BBN", "EXEC", and even "MULTICS" (which is spelled "Multics"), including command names. I don't know whether that's a stylistic choice by the authors, by
- And the small caps article, although it largely speaks of small caps as being a way of representing lower-case letters for emphasis, also indicates that small caps are sometimes used for items that really truly are all caps, in the first sentence of "Uses", when it says
- For example, the style of many American publications, including the Atlantic Monthly and USA Today, is to use small caps for acronyms and initialisms longer than three letters—thus "U.S." in normal caps, but "ɴᴀᴛᴏ" in small caps.
- Clearly, the initialism for the North Atlantic Treaty Organization is not "nato", so this is a case where glyphs that look like reduced-size capital letters aren't being used to represent lower case letters, unlike the "For example, the "Text in small caps" appears as Tᴇxᴛ ɪɴ sᴍᴀʟʟ ᴄᴀᴘs in small caps." example in the lede of the small caps article.
- So, given various magazine style guides, one cannot necessarily assume that everything in small caps is intended to be lower case - in CACM, at least in that era, it appears that glyphs that look like reduced-size capital letters are used for various purposes other than emphasis by using those glyphs to represent lower case letters.
- As for Bell Labs' own internal use, we have:
- the first edition programmer's manual introduction, which uses "UNIX" - it was formatted for a fixed-width printing device (Teletype Model 37? The Model 38 didn't come out until 1972, although Teletype Corporation was an AT&T subsidiary, so maybe they got early versions), so small caps weren't available. That also means that Dennis appears to have misremembered history in the Jargon File quote - "UNIX" dates back to 1971.
- The Bell System Technical Journal paper, an updated version of the CACM paper, uses "Unix", except in the title, where it uses "UNIX". BSTJ style convention in the title?
- The Evolution of the Unix Time-sharing System uses "Unix" throughout, even in the title. Guy Harris (talk) 02:10, 6 September 2019 (UTC)
- And here again, the disconnect. Smallcaps are neither all capital renderings of a word nor all lowercase renderings of a word. They are....smallcaps. Our use here in the text editor is meaningless to what came before. As well, the actual paper, "The UNIX Time-sharing system" was presented at the symposium in 1973 - that's when they used smallcaps, as they weren't available in 1971 or 1972 - as neither was troff, which is what they specifically used to generate the smallcaps. The only question here is whether Thompson/Ritchie would have employed a smallcaps font contrary to how a smallcaps font is normally used. They may have been intoxicated with it, but I find it unimaginable that they'd have rendered it <smallcaps>Unix<smallcaps>. But it's all irrelevant. Until a paper copy of the original is found, we're just shooting the breeze. 02:25, 6 September 2019 (UTC)
- I should acknowledge that I misspoke early on in the discussion when I wrote "Small-caps are always lowercase letters rendered as small capitals.". That was an artifact of this very discussion, due to our use of fake smallcaps. Anastrophe (talk) 02:28, 6 September 2019 (UTC)
One major issue here is that, regardless of what Dennis said, there was a 1971 programmer's manual, credited to Ken and Dennis, that referred to the operating system, in several places (not just in the all-caps title), as "UNIX", which argues against claims that the original name was anything other than all-caps "UNIX". Perhaps different people at Bell Labs had different preferences as to how the name should be capitalized, with Ken favoring "UNIX" and Dennis favoring "Unix" (as per his comments), or perhaps they started with "UNIX" and Dennis, and perhaps others, later decided that "Unix" was more appropriate; we can't ask Dennis, but Ken's still around, so perhaps we should ask him to see if he still remembers what happened with the capitalization.
The C/A/T phototypesetter in question was expected to have, as the four film strips, regular, bold, italic, and special symbols, as per the NROFF/TROFF Manual (see page 9). The fonts didn't include any special small caps characters (see page 31), so any small caps would have been rendered with \s size adjustments (yes, the dreaded fake small caps). So, had they been using that typesetting in the configuration that troff expected, there would be no small caps font, there would only be capital letters reduced in size, so presumably it was set as UNIX, not unix.
What was done to set the CACM paper, I don't know. I don't know whether, at the time, authors would submit a copy formatted according to the CACM style, or would submit text in some marked-up form that would be run through some formatter by the ACM or their printer to generate a paper in the CACM style. If the former, presumably "UNIX" was written as something such as \s-2UNIX\s0, or perhaps as .UX with a UX macro expanding to something such as \s-2UNIX\s0, in the document source; if the latter, I have no idea. Guy Harris (talk) 03:23, 6 September 2019 (UTC)
- As for the SOSP paper:
- The third SOSP did not have a paper on UNIX.
- The fourth SOSP did. The "Full text" from the dl.acm.org website appears to contain only the abstract, which 1) isn't typeset, it's printed in a fixed width font and 2) calls it "UNIX". Perhaps that's just the ACM SIGOPS Operating Systems Review version, and they handed out a nicely typeset copy of the proceedings, or perhaps the Bell Labs people handed out a nicely typeset version of the paper and that got typed up for OSR. Guy Harris (talk) 21:51, 6 September 2019 (UTC)
References
Largest implementation
As of 2014, the Unix version with the largest installed base is Apple's macOS.[citation needed]
macOS might not be a Unix, but if it is shouldn't that now read iOS rather than macOS? S C Cheese (talk) 22:55, 25 January 2020 (UTC)
- According to The Open Group, macOS is most definitely a UNIX(R), just as Solaris, AIX, HP-UX, and EulerOS are - they all passed the Single UNIX Specification's validation suite.
- iOS, however, isn't - Apple's never certified it. It's a Unix-like system (there are even terminal emulators for jailbroken systems, so you can go construct pipelines to your heart's content), but it's not a UNIX(R). Guy Harris (talk) 00:11, 26 January 2020 (UTC)
- And the claim has been removed anyway, given the lack of a reference to support it. (Probably true, given that the only other licensed UNIXes are server UNIXes, but "probably true" doesn't suffice.) Guy Harris (talk) 01:25, 26 January 2020 (UTC)
BSDs (FreeBSD, NetBSD, OpenBSD, etc.), z/OS UNIX, Huawei
I think the "family tree" diagram is amazing, but I also think it has some issues even as a simplified summary:
1. The contemporary open source members of the BSD family tree (FreeBSD, NetBSD, OpenBSD, etc.) aren't actually Unix. They haven't been submitted to The Open Group for Single UNIX Specification certification, and they don't wear the UNIX registered trademark. Consequently they really ought to be kicked over to the "Unix-like" side of the diagram, which would likely require shifting the macOS branch over to the right. That's certainly not a criticism, but that's just how our strange Unix world works. And I think it's quite important to document that reality, that "Unix" isn't a permanent state of being in an evolutionary path. The definition of "Unix" evolved, and operating systems evolved.
2. There's also a simple, non-AT&T (Bell Labs) code heritage part of the family tree that's missing -- a "virgin birth" UNIX: z/OS. And that family line has two straightforward, sequential box entries: MVS OpenEdition (1993 to 2001) over on the Unix-like side of the diagram, and z/OS UNIX (2001 to the Present) over on the Unix side of the diagram. z/OS achieved UNIX certification in 2001 and maintains it.
3. Huawei EulerOS is also a UNIX operating system and missing from the family tree. I'm not sure what its heritage is. DNCP is another missing UNIX, although I know even less about that one.
Regarding #2 and #3, while it would be difficult or impossible to update the diagram to include all historical UNIX operating systems (Silicon Graphics, DEC, Sequent, Apollo, etc., etc.) it seems quite reasonable and appropriate to make sure that all the contemporary UNIX operating systems are represented. z/OS UNIX, EulerOS, and DNCP seem to be the missing ones. The z/OS "virgin birth" example is quite important at least for that reason (Bell Labs invented Unix, but another company managed to reimplement Unix independently and with Unix certification -- and a "Unix-like" operating system can/has cross(ed) over to "Unix"), and Huawei's entry strikes me as quite significant to document for techno-geopolitical and other reasons. — Preceding unsigned comment added by BBCWatcher (talk • contribs) 06:11, 16 April 2020 (UTC)
- I'm all for it; indeed, the tree is inaccurate and needs fixing (macOS is UNIX certified whereas the modern-day BSDs are the antithesis: the certifications became officiated when separating UNIX from the NetBSD/FreeBSD branches!). Altanner1991 (talk) 06:26, 16 April 2020 (UTC)
- EulerOS's lineage is "Linux". I don't know what changes they had to make to get it to pass the Single UNIX Specification validation suite; presumably most if not all are in open-source code, most of which is probably GPLed code and thus available to be incorporated into the standard Linux kernel/GNU libc/etc. code base. Guy Harris (talk) 07:01, 16 April 2020 (UTC)
- Cemprus is part of Stratus Technologies. The OS is called FTX, not DNCP; FTX stands for "Fault-Tolerant UNIX". According to Mike Turner's Linkedin page, "The Lucent Technologies SINAP group was acquired by DNCP Solutions/Cemprus which was then acquired by Stratus. See above for rolled up experience." Guy Harris (talk) 07:08, 16 April 2020 (UTC)
- Considering only a handful systems are UNIX they deserve to be on the list (Linux family or not shouldn't change that). Altanner1991 (talk) 07:33, 16 April 2020 (UTC)
- At this point, given the way the UNIX(R) trademark is licensed, the code base is irrelevant, so there's no reason to think that something being Linux should, would, or could change whether something is "UNIX(R)" or not. Guy Harris (talk) 07:42, 16 April 2020 (UTC)
- Considering only a handful systems are UNIX they deserve to be on the list (Linux family or not shouldn't change that). Altanner1991 (talk) 07:33, 16 April 2020 (UTC)
- Actually Single UNIX Specification was established in 1994 so no BSD systems nor even the original Unix systems were ever UNIX-certified and regarding EulerOS the chart doesn't aim to show/mix established brands with those "just" currently certified. However FTX and z/OS have been UNIX certified since their releases in 1995 and 2001 respectively. Altanner1991 (talk) 07:10, 18 April 2020 (UTC)
- So to summarize my response while FTX is hardly in any article and EulerOS is still relatively new (it was registered to The Open Brand on September 8th, 2016[1]), z/OS has been UNIX® Certified for enough years that would be worth adding to the chart. Then the open-source operating systems are not certified and yet are not changed in their order, which can make things more messy for the chart and ignore its central purpose of "code heritage". Altanner1991 (talk) 12:58, 23 April 2020 (UTC)
User:Oknazevad at User talk: Oknazevad and User:Eugrus at [[1]] have both voiced their objection on including z/OS with the Unix article picture and template, on the grounds that z/OS is only Unix thanks to its compatibility layer; so without further debate z/OS will not be included.
On my side of the debate, I had claimed that (1) Linux and Minix also share no code with the original Unix from AT&T but they are included anyway, and (2) z/OS is "certified official UNIX" so it should be included with all of the others; finally (3) this talk page had correctly identified any possible missing inclusions and z/OS was indeed the one most due in my opinion. Altanner1991 (talk) 19:25, 23 May 2020 (UTC)
- Linux started out pretty early as UNIX-compatible; it's not as if there's a "compatibility layer" offered in addition to a non-UNIX native API. z/OS started out as MVS; I'm not sure how much OS/360-descended code was still in MVS, but its primary API was a descendant of the OS/360 API, which wasn't UNIX-compatible (not least because UNIX didn't exist at the time OS/360 was created...). HP Multi-Programming Executive eventually got a POSIX compatibility layer, and OpenVMS also added a POSIX compatibility layer; the only thing different about z/OS is that IBM got its UNIX environment through the validation suite for UNIX 95, but neither HP nor DEC got their POSIX environments certified. Guy Harris (talk) 21:09, 23 May 2020 (UTC)
- Ok so it really is just a "compatibility layer" AND certification doesn't change much. Thank you. Altanner1991 (talk) 01:55, 24 May 2020 (UTC)
- From a trademark point of view, "can you compile and run programs written to the UNIX specification" suffices; that's the difference that certification makes. However, an OS that originally had only a non-UNIX API, for which a lot of software was written, and that adds a compatibility environment to allow UNIX programs (or the subset of them that use only APIs from the UNIX specification in ways described by that specification) to be compiled and run, is conceptually different from an OS that only had a UNIX API and for which the software is all written to that API. Linux distributions fall into the latter category, as do the *BSDs, macOS, Solaris, AIX, HP-UX, and so on.
- So z/OS is a "UNIX" in the sense that a carefully-written UNIX program (meaning "avoid any assumptions not supported by the UNIX 95 standard" - which includes the assumption that the character set being used is ASCII or a superset thereof!) can be compiled and run in its compatibility environment, but not a "UNIX" in the sense that it has any code or philosophical derivation from AT&T UNIX (Linux distributions have very little code derivation - AT&T did open-source a few programs such as cpio, but even there that might be GNU-derived on Linux distributions - but they have a huge philosophical derivation, as the Linux API is a superset of the UNIX API, just as the APIs of certified UNIXes such as macOS and Solaris are supersets of the UNIX API; z/OS, at the bottom, is still a descendant of MVS, with an MVS-style API as its original, and probably still primary, API). Guy Harris (talk) 02:16, 24 May 2020 (UTC)
- The as you termed it "philosophical derivation" is very important, certainly. This is the crux of it which shows that the certification layer is truly a more "minor" portion. You have elaborated the argument most stupendously 👍 :-D Your examples/details are spot-on. Altanner1991 (talk) 03:04, 24 May 2020 (UTC)
- Ok so it really is just a "compatibility layer" AND certification doesn't change much. Thank you. Altanner1991 (talk) 01:55, 24 May 2020 (UTC)
References
- ^ "The Register of UNIX® Certified products". www.opengroup.org. Retrieved 2020-04-23.
z/OS
I would like to maintain my opinion that z/OS as meeting the Single UNIX Specification is equally worthy as any other UNIX OS.
The competing argument is that the Unix philosophy determines the Unix family tree. — Preceding unsigned comment added by Altanner1991 (talk • contribs) 20:58, 25 June 2020 (UTC)