Chronological order of BSD, SV, and POSIX.1
Hi Alex,
In my next patch set (for system calls), I've generally been ordering POSIX.1-1988/1990 relative to BSD and SV according to their release years as specified in standards(7). Which gives the following relative ordering between SV and POSIX.1:
SVr1
SVr2
SVr3
POSIX.1-1988 SVr4 POSIX.1-1990
SVID 4
And the following relative ordering between BSD and POSIX.1:
3BSD
4BSD
4.1BSD
4.2BSD
4.3BSD
POSIX.1-1988 POSIX.1-1990
4.4BSD
Because many of the system calls I updated listed SVr4, and some listed 4.4BSD, I want to check that it makes sense to list them after POSIX.1-1988. In case, for example, SVr4 is known to have influenced POSIX.1-1988 prior to being officially released.
(I've also taken your recommendation and am trying out mutt(1), starting with this email. It's certainly a learning curve, but I'm slowly getting there!)
Signature · 8 lines
Take care, Seth McDonald. <sethmcmail at pm dot me> (on-list) 2336 E8D2 FEB1 5300 692C 62A9 5839 6AD8 9243 D369 <mcdonald_seth at pm dot me> (off-list) 82B9 620E 53D0 A1AE 2D69 6111 C267 B002 0A90 0289
Alejandro Colomar
maintainer[CC += наб, Branden]
Quoted 1 line · Seth McDonald
Hi Alex,
Hi Seth, наб,
Quoted 15 lines
In my next patch set (for system calls), I've generally been ordering POSIX.1-1988/1990 relative to BSD and SV according to their release years as specified in standards(7). Which gives the following relative ordering between SV and POSIX.1:
SVr1
SVr2
SVr3POSIX.1-1988 SVr4 POSIX.1-1990SVID 4
And the following relative ordering between BSD and POSIX.1:
Quoted 8 lines
3BSD
4BSD
4.1BSD
4.2BSD
4.3BSDPOSIX.1-1988 POSIX.1-19904.4BSD
That seems to match standards(7).
There are more SV standards than those documented in standards. I think we should document these in standards(7):
SVID Issue 2 (1986):
<https://bitsavers.org/pdf/att/unix/SVID/System_V_Interface_Definition_Issue_2_Volume_1_1986.pdf>
SVID Issue 3 (1991):
<https://archive.org/details/systemvinterface0001unse>
I wonder how these influenced early POSIX and ANSI C. I know that some SVID heavily influenced ANSI C, at least regarding allocation functions.
<https://nabijaczleweli.xyz/content/blogn_t/017-malloc0.html>
Also, I suspect SVID eventually was absorbed by POSIX. POSIX.1-2001 is known as "Issue 6", and it sometimes refers to earlier issues, and I don't know if some of those issues refer to SVID or early POSIX versions. It would be good to document that under standards(7) if we learn it.
Quoted 4 lines
Because many of the system calls I updated listed SVr4, and some listed 4.4BSD, I want to check that it makes sense to list them after POSIX.1-1988. In case, for example, SVr4 is known to have influenced POSIX.1-1988 prior to being officially released.
I don't know much of this. I've CCed наб, who I suspect will be able to confirm much of this, and fill the gaps. Also Branden might know since he's subscribed to the TUHS mailing list. (You may find TUHS interesting, if you're into old standards. See <https://www.tuhs.org/>.)
наб, would you mind having a look at standards(7) and fill the gaps? Links to standards would also be very useful! :-)
Quoted 3 lines
(I've also taken your recommendation and am trying out mutt(1), starting with this email. It's certainly a learning curve, but I'm slowly getting there!)
:)
Have a lovely day!
Alex
Signature · 1 line
<https://www.alejandro-colomar.es>
A message that is not in the archive (sent off-list or not yet received): 4dhcmq7vwbkiw5ik4nivsdli2pfb7d3xchchshgyz7cejw7sqk@tarta.nabijaczleweli.xyz
A message that is not in the archive (sent off-list or not yet received): aWvBujsIFzewikif@devuan
A message that is not in the archive (sent off-list or not yet received): fiwqsh3cg5js2iuouv62zep53ikwkokrb4exiwr4yufze3d7uj@tarta.nabijaczleweli.xyz
Alejandro Colomar
maintainer[CC += linux-man]
Hi,
Quoted 8 lines · наб
Not off-rip, and, as noted, I don't consider viewing the domain from this angle useful.
But, illustratively,
SUSv1 self-IDs as System Interface Definitions Issue 4, Version 2
SUSv2 self-IDs as System Interface Definitions Issue 5
SUSv3 self-IDs as The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
QED
Hmmm, and XPGv3 and XPGv4 are Issue 3 and 4.
So, SVID 3 forked away (now it makes sense why SVID 2 says "Issue 2" but SVID 3 says "Third Edition"), and then possibly merged back later. :)
I've applied some small patches:
commit f17241696722c472c5fcd06ee3b7af7afc3f1082 Author: Alejandro Colomar <[email protected]> Date: Sun Jan 18 02:12:29 2026 +0100 man/man7/standards.7: XPGv3 and XPGv4 were Issue 3 and Issue 4 Cc: наб <[email protected]> Cc: Seth McDonald <[email protected]> Signed-off-by: Alejandro Colomar <[email protected]> diff --git a/man/man7/standards.7 b/man/man7/standards.7 index ad244067f..7f1ad3ca4 100644 --- a/man/man7/standards.7 +++ b/man/man7/standards.7 @@ -295,11 +295,15 @@ .SS POSIX and SUS .B XPG3 Released in 1989, this was the first release of the X/Open Portability Guide to be based on a POSIX standard (POSIX.1-1988). +It is also known as +.IR Issue\~3 . This multivolume guide was developed by the X/Open Group, a multivendor consortium. .TP .B XPG4 A revision of the X/Open Portability Guide, released in 1992. +It is also known as +.IR Issue\~4 . This revision incorporated POSIX.2. .TP .B XPG4v2 commit f15e61d56be7b7799f31e667aad61b10a3d64f75 Author: Alejandro Colomar <[email protected]> Date: Sun Jan 18 02:08:06 2026 +0100 man/man7/standards.7: Fix names of SVID revisions, and add links Cc: наб <[email protected]> Cc: Seth McDonald <[email protected]> Signed-off-by: Alejandro Colomar <[email protected]> diff --git a/man/man7/standards.7 b/man/man7/standards.7 index 19a7f12b2..ad244067f 100644 --- a/man/man7/standards.7 +++ b/man/man7/standards.7 @@ -75,15 +75,17 @@ .SS Unix/TS .B System V release 2 (SVr2) This was the next System V release, made in 1985. The SVr2 was formally described in the -.I "System V Interface Definition version 1" +.I "System V Interface Definition Issue 1" .RI ( "SVID 1" ) published in 1985. .TP .B System V release 3 (SVr3) This was the successor to SVr2, released in 1986. This release was formally described in the -.I "System V Interface Definition version 2" -.RI ( "SVID 2" ). +.UR https://bitsavers.org/pdf/att/unix/SVID/System_V_Interface_Definition_Issue_2_Volume_1_1986.pdf +.I "System V Interface Definition Issue 2" +.RI ( "SVID 2" ) +.UE . .TP .B System V release 4 (SVr4) This was the successor to SVr3, released in 1989. @@ -91,8 +93,10 @@ .SS Unix/TS Manual: Operating System API (Intel processors)" (Prentice-Hall 1992, ISBN 0-13-951294-2) This release was formally described in the -.I "System V Interface Definition version 3" -.RI ( "SVID 3" ), +.UR https://archive.org/details/systemvinterface0001unse/ +.I "System V Interface Definition Third Edition" +.RI ( "SVID 3" ) +.UE , and is considered the definitive System V release. .TP .B SVID 4 commit c7c2b4668a6b84994a2c14535ab22f9e841c3991 Author: Alejandro Colomar <[email protected]> Date: Sun Jan 18 01:54:33 2026 +0100 man/man7/standards.7: SUSv2 is Issue 5 Cc: наб <[email protected]> Cc: Seth McDonald <[email protected]> Signed-off-by: Alejandro Colomar <[email protected]> diff --git a/man/man7/standards.7 b/man/man7/standards.7 index 4b21df5a8..19a7f12b2 100644 --- a/man/man7/standards.7 +++ b/man/man7/standards.7 @@ -315,8 +315,8 @@ .SS POSIX and SUS .TP .B SUSv2 Single UNIX Specification version 2. -Sometimes also referred to (incorrectly) as -.IR XPG5 . +Sometimes also referred to as +.IR Issue\~5 . This standard appeared in 1997. Systems conforming to this standard can be branded .IR UNIX\~98 .
Quoted 9 lines
Quoted 6 lines
Quoted 3 lines
Early POSIX.1 and .2 derived much of their wording from their respective antecedent documents and some sentences still blame back to the SysIII manual.
It would be good to document for example things like "this standard was incorporated in that later standard", to have a rough idea of the standard lineages.
At a 10km POV "newer standards copy stuff from older standards", which is neither novel nor interesting to the reader, and at a precise POV this is book-sized.
The details of how these frobnicate themselves can be documented per page if necessary, or omitted if unimportant.
But a 10 km (or 40 yr) overview is important to keep, because otherwise when someone talks about the SVID or XPG, I have no clue of what they are talking about. I've recently learnt some of that lost history, most of it thanks to you, but otherwise I'd be blind; and I'd like to make it possible for others to also know what people are talking about when they mention ancient standards or systems.
In my head, there's now a tree which looks more or less like this (oversimplified, and maybe technically incorrect in some places):
V1 V2 V3 V4 V5-- 1BSD /--- OpenBSD V6-----\ 2BSD /------ NetBSD V7---------\ 3BSD - 4BSD - 4.3BSD Lite -- | \------ FreeBSD SysIII Unix/TS 4
X3J11 SysVr1
| SysVr2 => SVID Issue 1
| SysVr3 => SVID Issue 2 ---------\
C89 SysVr4 => SVID 3rd Ed. POSIX.1-1988 =========> XPG Issue 3
| SVID 4th Ed. POSIX.1-1990,POSIX.2 => XPG Issue 4
C95 | XPG Issue 4, v2 ======> SUSv1
| POSIX.1-1996 | | | /-------------------------------SUSv2 (Issue 5) C99 - - - - - - - - - - - -> |/-------------/ | POSIX.1-2001, SUSv3 (Issue 6) | POSIX.1-2008, SUSv4 (Issue 7) C11 |
C17 - - - - - - - - - - - -> POSIX.1-2024, SUSv5 (Issue 8)
C23
This tree is quite useful to me, even though they frobnicated a lot more between them. At least I now have a rough idea of the context each standard had, and thus the possible frobnications.
I've CCed the list so that this tree is documented there. It might be useful.
Have a lovely night!
Alex
Signature · 1 line
<https://www.alejandro-colomar.es>
Hi Alex,
Quoted 7 lines · Alejandro Colomar
V1 V2 V3 V4 V5-- 1BSD /--- OpenBSD V6-----\ 2BSD /------ NetBSD V7---------\ 3BSD - 4BSD - 4.3BSD Lite --
Let me offer some corrections here, drawn partially from McKusick's article "20 Years of Berkeley Unix".[1] Sorry it's gonna make the lines longer.
V5-- 1BSD V6-----\ 2BSD ---- 2.8BSD ------ 2.11BSD /--- OpenBSD V7 \ / / /------ NetBSD 32/V---------\ 3BSD - 4BSD - 4.3BSD - 4.4BSD-Lite -- | \------ FreeBSD SysIII Unix/TS 4
The salient points being:
* Unix 32/V, being the port to the DEC VAX, was a huge deal and ultimately the common ancestor of _all_ AT&T and BSD Unices. I won't say nobody ever developed Unix on any 16-bit platform besides the PDP-11 ever again, but I venture that any such efforts are now mostly obscure, and not impactful on the C or POSIX standards. ("near" and "far" did not make it into ANSI C, for example, and if the x86 couldn't manage that, no other chip was going to.)
* 2BSD, being a PDP-11-only product, kept the PDP-11 Unix kernel but refreshed its userspace from the {3,4}BSD mothership on an ongoing basis, where memory constraints permitted, and indeed 2.11BSD continues to be developed as of 2025^Wwhoops, scratch that, patch #499 came out 3 days ago.[1]
* There was no 4.3BSD-Lite. 4.4BSD-Lite is what you mean. Strictly, "4.4BSD-Lite Release 2" was the end of the road, after which the CSRG disbanded and several of its principals departed to BSDI where unimaginable riches awaited them. Surely.
* Despite the previous, it's good to have 4.3BSD on the chart because it endured a very long time. (To some frustration at the CSRG, but as I understand it, AT&T Corporate spent years making ever louder threats that they were going to sue the bejeezus out of Berkeley so that BSD Unix, which was so aggravatingly popular with all the cheap computer science labor spewing from the universities, quit creating headaches for its marketers and price-fixers.) 4.3BSD was so influential that much of it got folded back into SVr4, around the same time Sun Microsystems sold its soul (and a major stake of equity) to AT&T.
Regards,
Branden
[1] https://www.oreilly.com/openbook/opensources/book/kirkmck.html
[2] https://minnie.tuhs.org/TUHS/Archive/Distributions/UCB/2.11BSD/Patches/
Alejandro Colomar
maintainerHi Branden,
Quoted 15 lines · G. Branden Robinson
Hi Alex,
Quoted 7 lines · Alejandro Colomar
V1 V2 V3 V4 V5-- 1BSD /--- OpenBSD V6-----\ 2BSD /------ NetBSD V7---------\ 3BSD - 4BSD - 4.3BSD Lite --Let me offer some corrections here, drawn partially from McKusick's article "20 Years of Berkeley Unix".[1] Sorry it's gonna make the lines longer.
Quoted 7 lines
V5-- 1BSD V6-----\ 2BSD ---- 2.8BSD ------ 2.11BSD /--- OpenBSD V7 \ / / /------ NetBSD 32/V---------\ 3BSD - 4BSD - 4.3BSD - 4.4BSD-Lite -- | \------ FreeBSD SysIII Unix/TS 4
Thanks!!
Quoted 10 lines
The salient points being:
* Unix 32/V, being the port to the DEC VAX, was a huge deal and ultimately the common ancestor of _all_ AT&T and BSD Unices. I won't say nobody ever developed Unix on any 16-bit platform besides the PDP-11 ever again, but I venture that any such efforts are now mostly obscure, and not impactful on the C or POSIX standards. ("near" and "far" did not make it into ANSI C, for example, and if the x86 couldn't manage that, no other chip was going to.)
Quoted 7 lines
* 2BSD, being a PDP-11-only product, kept the PDP-11 Unix kernel but refreshed its userspace from the {3,4}BSD mothership on an ongoing basis, where memory constraints permitted, and indeed 2.11BSD continues to be developed as of 2025^Wwhoops, scratch that, patch #499 came out 3 days ago.[1]
* There was no 4.3BSD-Lite. 4.4BSD-Lite is what you mean.
Yup; accident.
Quoted 15 lines
Strictly,
"4.4BSD-Lite Release 2" was the end of the road, after which the CSRG disbanded and several of its principals departed to BSDI where unimaginable riches awaited them. Surely.* Despite the previous, it's good to have 4.3BSD on the chart because it endured a very long time. (To some frustration at the CSRG, but as I understand it, AT&T Corporate spent years making ever louder threats that they were going to sue the bejeezus out of Berkeley so that BSD Unix, which was so aggravatingly popular with all the cheap computer science labor spewing from the universities, quit creating headaches for its marketers and price-fixers.) 4.3BSD was so influential that much of it got folded back into SVr4, around the same time Sun Microsystems sold its soul (and a major stake of equity) to AT&T.
Quoted 5 lines
Regards,
Branden[1] https://www.oreilly.com/openbook/opensources/book/kirkmck.html
[2] https://minnie.tuhs.org/TUHS/Archive/Distributions/UCB/2.11BSD/Patches/
Very interesting; thanks!
Have a lovely day!
Alex
Signature · 1 line
<https://www.alejandro-colomar.es>
Alejandro Colomar
maintainerHi Seth,
Quoted 22 lines · Seth McDonald
Hi Alex,
In my next patch set (for system calls), I've generally been ordering POSIX.1-1988/1990 relative to BSD and SV according to their release years as specified in standards(7). Which gives the following relative ordering between SV and POSIX.1:
SVr1
SVr2
SVr3POSIX.1-1988 SVr4 POSIX.1-1990SVID 4
And the following relative ordering between BSD and POSIX.1:
3BSD
4BSD
4.1BSD
4.2BSD
4.3BSD
Quoted 8 lines
POSIX.1-1988 POSIX.1-19904.4BSD
Because many of the system calls I updated listed SVr4, and some listed 4.4BSD, I want to check that it makes sense to list them after POSIX.1-1988. In case, for example, SVr4 is known to have influenced POSIX.1-1988 prior to being officially released.
Going back to this, yes, 4.4BSD seems clearly later than POSIX.1-1990.
SVr4 seems contemporaneous to POSIX.1-1988, so I don't mind whether we put it before or after. I think I'd put it before, because as you say, it heavily influenced, even though formally POSIX.1-1988 seems to derive from SVr3 (SVID Issue 2). That also puts all SysV before all POSIX, which seems cleaner.
Let's try to specify the order in the format you used above:
3BSD
4BSD
4.1BSD
SysIII
Unix/TS 4
4.2BSD
SVr1
SVr2
4.3BSD
SVr3 SVr4 C89 POSIX.1-1988 XPG3 POSIX.1-1990 XPG4 SUSv1 SVID 4 4.4BSD C95 POSIX.1-1996 SUSv2 C99 POSIX.1-2001 SUSv3 POSIX.1-2008 SUSv4 C11 C17 POSIX.1-2024 SUSv5 C23
Have a lovely day!
Alex
Signature · 1 line
<https://www.alejandro-colomar.es>