Clem, you have a good memory of the early days of the UNIX standards. Here is the set that I was involved with:     1. The /usr/group Proposed Standard published in January 1984     2. The /usr/group Standard published in November 1984     3. IEEE Trial Use Standard for POSIX published in April 1986     4. IEEE POSIX Standard P1003.1 published in August 1988 Heinz On 6/26/2024 1:32 PM, Clem Cole wrote: > Note: I am a founding and voting member of both the original > /usr/group, IEEE P1003 (a.k.a. POSIX), and a commenter for ANSI > X3.159-1989 (/a.k.a./ C89). Heinz Lycklama who is also on this list, > was chair of the former and also a founder of P1003. > > Below are, of course, my opinions and my memory of times.  Heinz > please add color/corrections as appropriate. > > On Wed, Jun 26, 2024 at 1:56 PM segaloco via TUHS wrote: > > Good morning, I was wondering if anyone has the scoop on the > rationale behind the selection of standards bodies for the > publication of UNIX and UNIX-adjacent standards.  C was published > via the ANSI route as X3.159, whereas POSIX was instead published > by the IEEE route as 1003.1. > > Different groups and functions. More in a minute. > > Was there every any consideration of C through IEEE or POSIX > through ANSI instead? > > Not really; each>>generally<< had a role that the other did not, > although those lines can and have blurred. > > Is there an appreciable difference suggested by the difference in > publishers? > > Yes -- again, more shortly. > > In any case, both saw subsequent adoption by ISO/IEC, so the track > to an international standard seems to lead to the same organizations. > > Right, but you are ahead of yourself. > > Per Wikipedia: > > ANSI was most likely formed in 1918, when five engineering > societies and three government agencies founded the American > Engineering Standards Committee (AESC).[8] In 1928, the AESC > became the American Standards Association (ASA). In 1966, the ASA > was reorganized and became United States of America Standards > Institute (USASI). The present name was adopted in 1969. > > > Prior to 1918, these five founding engineering societies: > > * American Institute of Electrical Engineers (AIEE, now IEEE) > * American Society of Mechanical Engineers (ASME) > * American Society of Civil Engineers (ASCE) > * American Institute of Mining Engineers (AIME, now American > Institute of Mining, Metallurgical, and Petroleum Engineers) > * American Society for Testing and Materials (now ASTM > International) had been members of the United Engineering > Society (UES). > > Leaving out a >>lot<< of detail, but under ASA was their directive: > the /*Accredited Standards Committee X3 */ > This means that the US government, particularly the US War Department > (late DoD), would accept their recommendations. However, a published > set of rules for how standards would be created, agreed upon, /etc/., > for the USA became established. > > One of their early roles was creating standards for the computer > industry, such as what would become ASCII,/a.k.a./, ASA X3.4-1963, and > ASA X3/INCITS 40-1966 - 9-track mag tape. > > One of the things the folks at X3 had started working on we standards > that allowed program/interchange/ between different manufacturers, > although allowing manufacturers to be independent and add their own > features but keep a core that a programmer could rely upon.   So, > their purvey included creating standards for FORTRAN, Algol, Cobol, > and later C.  They also developed test suites for many of their > standards and offered services to firms like computer manufacturers to > certify that their products meet the standard. Thus, a program that > worked when compiled under different manufacturer compilers could be > written. > > Note that AIEE/IEEE was a founding member of ASA, but it eventually > became an accredited standards body independent of ASA/ANSI.  The > subtle difference was the idea of "sameness," which said this is > functionally the same as something else made by two different > electrical manufacturers and, as a result, could interoperate between > them.   This was important to the US DoD because they wanted more than > one place to get similar products, at least ones that could play well > together.  So, they became where things like networking, power, > /etc./, were defined and agreed upon. Of note, independent of IEEE, we > were testing groups, but if you made an error, it was basically > self-correcting -- people stopped using your product when it was > discovered you could not handle back-back ethernet packets at full speed. > > So what happened... > > We graduated a bunch of young engineers of my generation who know C > and UNIX.  AT&T has made the sources to both technologies "open" and > freely available (libre as opposed to beer).  We take the knowledge > with us, and they both start to be cloned.  Since the microprocessor > came in vogue around the same time, retargeting the C compiler at many > places like Universities made sense - I did it (poorly) for the > Dennis' compiler for what would become the 68000 @Tektronix in the > summer of 1979. But if you look at the USENIX tapes from those times, > you will see many different developer tools for those processors.    > However, since the AT&T tools were licensed, several implementations > grew that were mostly, if not 100%, clean of any AT&T's IP. > > Since there was no standard for the language itself, and the > processors were not PDP-11, many differences crept into the different > compiler implementations. The biggest was support for the x86 and > target platforms such as CP/M and DOS, which did not store files in > the same format as UNIX and differentiated between text files and > binaries like earlier 12/18/36-bit systems from DEC had. > > In the early 1980s, a group of compiler firms, originally from the PC > business, applied to set up and create the ANSI X3.159 committee.  > [Thank the Lord, Dennis agreed to join it too, as he could rein in > several of the worst proposals like near/far pointers, although the > terrible text file support leaked].  It was a very slow process since > a standard did not come about a vote until 1989 and was agreed upon > until 1990. > > Meanwhile, in UNIX land there, USENIX had started [see my paper: C.T. > Cole, UNIX: /A View from the Field as We Played the Game/, October 19, > 2017, Le CNam – Laboratoire, Paris France], but that was primarily an > academic organization.  Firms like manufacturers DEC, HP, Tektronix, > and IBM, as well as ISVs such as Heinz's Interactive System > Corporation and Microsoft, needed an organization that focused more on > their needs as commercial ventures.  /usr/group (which was later > re-branded as Uniforum) was created. For many reasons (many of which > have been discussed here), the manufacturer's versions of UNIX had > begun to differ.  But they had a common language C, since many, if not > most, used AT&T licensed C compilers, the compilers' input syntax was > already mostly common, but one of the things that this group realized > was it was still "work" for an ISV to move their UNIX based > application between systems and they needed something more than just a > language standard. > > To address this need /usr/group, formed a standard committee under > Heinz's leadership.  In 1985, we published the first UNIX standard.  >  One of the members of the group, Jim Issak, who then was from another > small manufacturer building a system with a UNIX-like OS, Charles > River Data Systems (CRDS - BTW: pronounce that and smile -- marketing > people are wonderful),  realized that a /usr/group created standard > was helpful to us in the USA marketplace since /usr/group was not > accredited and thus our work would not be useful to be sent to the US > Gov much less and alter International standards body such as ECMA or ISO. > > BTW: since our OS's were already getting different beyond the system > call layer, we decided to start with just the system call API which > was mostly common, plus agree to an interface standard to exchange > magnetic media. But this is where things like the file come > from to help make the differences contained in a manner that a > recompile allowed code to move from one vendor's system to another. > > By the early 1980 my former colleague, Maurice Graubie from Tektronix, > had been the chair of the IEEE 802 committee, which had published its > set of standards.  BTW the number.Xstuff raised huge hackles at IEEE > at the time.  It had never been done. Maurice had come up with > solutionas a way to keep the 801 standard together when it was > beginning to diverge and fall apart with the Ethernet folks on one > side and the IBM token ring folks on the other. > > Since the OS was similar to other electrical standards, allowing one > manufacturer to build something the US government buys and knowing > they could get something similar from someone else, Maurice introduced > Jim to the folks at IEEE. Jim succeeded in putting together all of the > paperwork, getting the proper sponsorship from IEEE institutional > members, and forming a committee to create IEEE Proposal 1003. > > As the next /usr/group meeting approached, we were already starting to > work on a revision. Jim explained the formal IEEE process. We > officially voted to disband that meeting and reconvene as IEEE P1003, > where Heinz graciously handed the gavel to Jim.  It also set us back a > bit because the /usr/group document was not in a form that IEEE could > accept.  So the first task was the rewrite (and use their voting > process) to have it accepted. But because of Maurice's great > compromise for the 802 committee, we started by saying this would be > the first of N standards,/i.e/., 1003.1 for the system calls, and we > would (like 802) create later standards for things like the commands.  > I know that both Maurice and Jim had a little pushback by IEEE NYC, > but I am thankful that a good idea prevailed. > > It's possible ANSI might able to do the same thing that IEEE did.  But > the difference is that members of the/usr/group were all institutional > members of IEEE, and the style of things we needed to do at the time > was really the sort of thing IEEE was already accustomed to doing.  As > for the language, since ASA/ANSI was already doing things there - that > made sense. > > BTW: it has been observed that IEEE is behind VHDL - which is a > hardware description language.  But against this more in their world > -- it pushed to silicon manufacturers, so you know IP can be moved > between different fabs.   We can argue that it's a language, and ANSI > would have been a good place for it. > > >