<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    Clem, you have a good memory of the early days of the<br>
    UNIX standards. Here is the set that I was involved with:<br>
        1. The /usr/group Proposed Standard published in January 1984<br>
        2. The /usr/group Standard published in November 1984<br>
        3. IEEE Trial Use Standard for POSIX published in April 1986<br>
        4. IEEE POSIX Standard P1003.1 published in August 1988<br>
    <br>
    Heinz<br>
    <br>
    <div class="moz-cite-prefix">On 6/26/2024 1:32 PM, Clem Cole wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAC20D2OghS=CsM+auPiVbeq9Nu3OFwZ8=8bwp1ancPQddg8uMQ@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr">
        <div dir="ltr">
          <div class="gmail_default"
            style="font-family:arial,helvetica,sans-serif"><font
              color="#0000ff">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 (<i style="">a.k.a.</i>
              C89). Heinz Lycklama who is also on this list, was chair
              of the former and also a founder of P1003.   </font></div>
          <div class="gmail_default"
            style="font-family:arial,helvetica,sans-serif"><font
              color="#0000ff"><br>
            </font></div>
          <div class="gmail_default"
            style="font-family:arial,helvetica,sans-serif"><font
              color="#0000ff">Below are, of course, my opinions and my
              memory of times.  Heinz please add color/corrections as
              appropriate.</font></div>
        </div>
        <br>
        <div class="gmail_quote">
          <div dir="ltr" class="gmail_attr">On Wed, Jun 26, 2024 at
            1:56 PM segaloco via TUHS <<a href="mailto:tuhs@tuhs.org"
              moz-do-not-send="true" class="moz-txt-link-freetext">tuhs@tuhs.org</a>>
            wrote:<br>
          </div>
          <blockquote class="gmail_quote"
style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">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.</blockquote>
          <div>
            <div class="gmail_default"
              style="font-family:arial,helvetica,sans-serif"><font
                color="#0000ff">Different groups and functions. More in
                a minute.</font></div>
            <br>
          </div>
          <div> </div>
          <blockquote class="gmail_quote"
style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> 
            Was there every any consideration of C through IEEE or POSIX
            through ANSI instead? </blockquote>
          <div>
            <div class="gmail_default"
              style="font-family:arial,helvetica,sans-serif"><font
                color="#0000ff">Not really;
                each>>generally<< had a role that the other
                did not, although those lines can and have blurred.</font></div>
            <br>
          </div>
          <div> </div>
          <blockquote class="gmail_quote"
style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
            Is there an appreciable difference suggested by the
            difference in publishers? </blockquote>
          <div>
            <div class="gmail_default"
              style="font-family:arial,helvetica,sans-serif"><font
                color="#0000ff">Yes -- again, more shortly.</font></div>
            <br>
          </div>
          <div> </div>
          <blockquote class="gmail_quote"
style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">In
            any case, both saw subsequent adoption by ISO/IEC, so the
            track to an international standard seems to lead to the same
            organizations.<br>
          </blockquote>
          <div><span class="gmail_default"
              style="font-family:arial,helvetica,sans-serif"><font
                color="#0000ff">Right, but you are ahead of yourself.</font></span></div>
          <div><br>
          </div>
          <div class="gmail_default"
            style="font-family:arial,helvetica,sans-serif"><font
              color="#0000ff">Per Wikipedia:</font></div>
          <div class="gmail_default"
            style="font-family:arial,helvetica,sans-serif"><br>
          </div>
        </div>
        <blockquote style="margin:0 0 0 40px;border:none;padding:0px">
          <div class="gmail_quote">
            <div class="gmail_default"
              style="font-family:arial,helvetica,sans-serif"><font
                color="#ff0000">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.</font></div>
          </div>
        </blockquote>
        <div class="gmail_quote">
          <div class="gmail_default"
            style="font-family:arial,helvetica,sans-serif"><font
              color="#ff0000"><br>
            </font></div>
        </div>
        <blockquote style="margin:0 0 0 40px;border:none;padding:0px">
          <div class="gmail_quote">
            <div class="gmail_default"
              style="font-family:arial,helvetica,sans-serif"><font
                color="#ff0000">Prior to 1918, these five founding
                engineering societies:</font></div>
          </div>
        </blockquote>
        <blockquote style="margin:0 0 0 40px;border:none;padding:0px">
          <div class="gmail_quote">
            <div class="gmail_default"
              style="font-family:arial,helvetica,sans-serif">
              <ul>
                <li><font color="#ff0000">American Institute of
                    Electrical Engineers (AIEE, now IEEE)</font></li>
                <li><font color="#ff0000">American Society of Mechanical
                    Engineers (ASME)</font></li>
                <li><font color="#ff0000">American Society of Civil
                    Engineers (ASCE)</font></li>
                <li><font color="#ff0000">American Institute of Mining
                    Engineers (AIME, now American Institute of Mining,
                    Metallurgical, and Petroleum Engineers)</font></li>
                <li><font color="#ff0000">American Society for Testing
                    and Materials (now ASTM International) had been
                    members of the United Engineering Society (UES).</font></li>
              </ul>
            </div>
          </div>
        </blockquote>
        <div class="gmail_quote">
          <div class="gmail_default"
            style="font-family:arial,helvetica,sans-serif"><font
              color="#0000ff">Leaving out a >>lot<< of
              detail, but under ASA was their directive: the <i><b>Accredited
                  Standards Committee X3 </b></i></font></div>
          <div class="gmail_default"
            style="font-family:arial,helvetica,sans-serif"><font
              color="#0000ff">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, <i>etc</i>.,
              for the USA became established.</font></div>
          <div class="gmail_default"
            style="font-family:arial,helvetica,sans-serif"><font
              color="#0000ff"><br>
            </font></div>
          <div class="gmail_default"
            style="font-family:arial,helvetica,sans-serif"><font
              color="#0000ff">One of their early roles was creating
              standards for the computer industry, such as what would
              become ASCII,<i> a.k.a.</i>, ASA X3.4-1963, and ASA
              X3/INCITS 40-1966 - 9-track mag tape.</font></div>
          <div class="gmail_default"
            style="font-family:arial,helvetica,sans-serif"><font
              color="#0000ff"><br>
            </font></div>
          <div class="gmail_default"
            style="font-family:arial,helvetica,sans-serif"><font
              color="#0000ff">One of the things the folks at X3 had
              started working on we standards that allowed program<i>
                interchange</i> 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.</font></div>
          <div class="gmail_default"
            style="font-family:arial,helvetica,sans-serif"><font
              color="#0000ff"><br>
            </font></div>
          <div class="gmail_default"
            style="font-family:arial,helvetica,sans-serif"><font
              color="#0000ff">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, <i>etc.</i>,
              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.<br>
            </font></div>
          <div class="gmail_default"
            style="font-family:arial,helvetica,sans-serif"><font
              color="#0000ff"><br>
            </font></div>
          <div class="gmail_default"
            style="font-family:arial,helvetica,sans-serif"><font
              color="#0000ff">So what happened...</font></div>
          <div class="gmail_default"
            style="font-family:arial,helvetica,sans-serif"><font
              color="#0000ff"><br>
            </font></div>
          <div class="gmail_default"
            style="font-family:arial,helvetica,sans-serif"><font
              color="#0000ff">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.</font></div>
          <div class="gmail_default"
            style="font-family:arial,helvetica,sans-serif"><font
              color="#0000ff"><br>
            </font></div>
          <div class="gmail_default"
            style="font-family:arial,helvetica,sans-serif"><font
              color="#0000ff">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.</font></div>
          <div class="gmail_default"
            style="font-family:arial,helvetica,sans-serif"><font
              color="#0000ff"><br>
            </font></div>
          <div class="gmail_default"
            style="font-family:arial,helvetica,sans-serif"><font
              color="#0000ff">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. </font></div>
          <div class="gmail_default"
            style="font-family:arial,helvetica,sans-serif"><font
              color="#0000ff"><br>
            </font></div>
          <div class="gmail_default"
            style="font-family:arial,helvetica,sans-serif"><font
              color="#0000ff">Meanwhile, in UNIX land there, USENIX had
              started [see my paper: C.T. Cole, UNIX: <i>A View from
                the Field as We Played the Game</i>, 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. </font></div>
          <div class="gmail_default"
            style="font-family:arial,helvetica,sans-serif"><font
              color="#0000ff"><br>
            </font></div>
          <div class="gmail_default"
            style="font-family:arial,helvetica,sans-serif"><font
              color="#0000ff">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.</font></div>
          <div class="gmail_default"
            style="font-family:arial,helvetica,sans-serif"><font
              color="#0000ff"><br>
            </font></div>
          <div class="gmail_default"
            style="font-family:arial,helvetica,sans-serif"><font
              color="#0000ff">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
              <unistd.h> 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.</font></div>
          <div class="gmail_default"
            style="font-family:arial,helvetica,sans-serif"><font
              color="#0000ff"><br>
            </font></div>
          <div class="gmail_default" style=""><font
              style="color:rgb(0,0,255)"
              face="arial, helvetica, sans-serif">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 </font><font style=""
              face="monospace" color="#38761d">number.X</font><font
              style="color:rgb(0,0,255)"
              face="arial, helvetica, sans-serif"> stuff raised huge
              hackles at IEEE at the time.  It had never been done.
              Maurice had come up </font><font color="#0000ff">with
              solution</font><font style="color:rgb(0,0,255)"
              face="arial, helvetica, sans-serif"> as 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.</font></div>
          <div class="gmail_default"
            style="font-family:arial,helvetica,sans-serif"><font
              color="#0000ff"><br>
            </font></div>
          <div class="gmail_default"
            style="font-family:arial,helvetica,sans-serif"><font
              color="#0000ff">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.</font></div>
          <div class="gmail_default"
            style="font-family:arial,helvetica,sans-serif"><font
              color="#0000ff"><br>
            </font></div>
          <div class="gmail_default"
            style="font-family:arial,helvetica,sans-serif"><font
              color="#0000ff">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> i.e</i>., 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.</font></div>
          <div class="gmail_default"
            style="font-family:arial,helvetica,sans-serif"><font
              color="#0000ff"><br>
            </font></div>
          <div class="gmail_default"
            style="font-family:arial,helvetica,sans-serif"><font
              color="#0000ff">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.</font></div>
          <div class="gmail_default"
            style="font-family:arial,helvetica,sans-serif"><font
              color="#0000ff"><br>
            </font></div>
          <div class="gmail_default"
            style="font-family:arial,helvetica,sans-serif"><font
              color="#0000ff">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.   </font></div>
          <div class="gmail_default"
            style="font-family:arial,helvetica,sans-serif"><font
              color="#0000ff"><br>
            </font></div>
          <div class="gmail_default"
            style="font-family:arial,helvetica,sans-serif"><font
              color="#0000ff"><br>
            </font></div>
          <div class="gmail_default"
            style="font-family:arial,helvetica,sans-serif"><br>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
  </body>
</html>