<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Aug 5, 2024 at 11:27 PM segaloco via TUHS <<a href="mailto:tuhs@tuhs.org" target="_blank">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">I'm paraphrasing here but I've read in a few places something to the effect that UNIX was "selected" as the basis on which to build a portable operating system standard, which of course we all know as POSIX. </blockquote><div><font color="#0000ff"><span class="gmail_default" style="font-family:arial,helvetica,sans-serif">I hate history rewrites and marketing spin.</span> <span class="gmail_default" style="font-family:arial,helvetica,sans-serif"> </span></font><font color="#ff0000"><b>No other OS API or ABI was ever considered<span class="gmail_default" style="font-family:arial,helvetica,sans-serif">!!!</span></b></font></div><div><font color="#ff0000"><b><span class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></span></b></font></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> However, I got thinking on the implications of that phrasing, and have to ask, was there actually a "selection" made picking UNIX over some other candidate, or was it pretty much established from the outset of pursuing a standard that UNIX was going to get standardized?<br></blockquote><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><font color="#0000ff">Yes -- see below.</font></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Another way to put it would be as a chicken and egg, which came first, desire for a portable base system definition that UNIX happened to fit nicely, or the ongoing need for UNIX standardization finding sponsorship by the working groups, IEEE, etc.? </blockquote><div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><font color="#0000ff">UNIX needed IEEE -- see below.</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"> Did any other OS contend for this coveted honor?<br></blockquote><div><font color="#0000ff"><span class="gmail_default" style="font-family:arial,helvetica,sans-serif">No.</span> </font></div><div><font color="#0000ff"><br></font></div><div><font color="#0000ff">O<span class="gmail_default" style="font-family:arial,helvetica,sans-serif">k, the history. The commercial ISVs, particularly in the Minicomputer and Mainframe works, were tired of customizing applications for VMS, AOS, NOS, VM, or the like, and UNIX, as a "portable" operating system, offered them a potential solution, but the problem was that the HW vendors had an instilled concept of "value add" (embrace and extend) that would take UNIX and customize it. Note there were two primary schools of thought in those days, the idea of an ABI (application binary interface) definition, which was popular for systems that were being cloned (<i>i.e</i>., the IBM Mainframes and the new PCs with CP/M and DOS), and the API (application programming interface) folks that wanted to use something more like what was proving to be successful in the programming language world - which was that the minicomputer vendors favored.</span></font></div><div><font color="#0000ff"><span class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></span></font></div><div><font color="#0000ff"><span class="gmail_default" style="font-family:arial,helvetica,sans-serif">So, the "Open Systems" community of the early 1980s had a problem. People already knew that the availability of application SW that solves people's problems drove HW sales, so the question was: How to make more applications available for UNIX and do it in a manner that the ISVs would support</span><span class="gmail_default" style="font-family:arial,helvetica,sans-serif">.</span></font></div><div><font color="#0000ff"><span class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></span></font></div><div><font color="#0000ff"><span class="gmail_default" style="font-family:arial,helvetica,sans-serif">There were two organizations at the time, USENIX and /usr/group (later renamed "uniform"), that were the primary place where that could be solved. USENIX was the Academic Research Community, and everyone had sources, so helping commercial ISVs was not really on their plate. But /usr/group were the folks that were trying to build a new commercial market for UNIX. They sponsored a group led by TUHS's Heinz Lycklama to try to create an<u><i> API standard</i></u> that the ISVs could accept. </span></font></div><div><font color="#0000ff"><span class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></span></font></div><div><font color="#0000ff"><span class="gmail_default" style="font-family:arial,helvetica,sans-serif">The members of that committee were: </span></font><i><span style="color:rgb(0,0,255)">J. Bass, R. Bott, J. Boykin, B. Boyle, J. Brodie, E. Brunner, D. Buck, H. Burgess, P. Caruthers, F. Christiansen, D. Clark, C. Cole, A. Cornish, W. Corwin, B. Cox, D. Cragun, I. Darwin, L. Ford, C. Forney, M. Gien, S. Glaser, A. Godino, J. Goldberg, T. Green, J. Guist, M. Hakam, R. Hammons, G. Harris, S. Head, T. Hoffman, T. Houghton, J. Isaak, B. Joy, M. Katz, D. Kretsch, D. Ladermann, G. Laney, </span><font color="#0000ff">M. Laschkewitsch,</font><span style="color:rgb(0,0,255)"> B. Laws, Jr., H. Lycklama, J. McGinness, R. Michael, J. Moskow, M. O’Dell, D. Peachey, E. Petersen, P. Plauger, T. Plum, C. Prosser, R. Ptak, J. Schriebman, S. Sherman, H. Stenn, R. Swartz, T. Tabloski, M. Teller, J. Thomas, M. Tilson, D. Weisman, M. Wilens, R. Wirt, D. Wollner.</span></i><span class="gmail_default" style="color:rgb(0,0,255);font-family:arial,helvetica,sans-serif"></span></div><div><font color="#0000ff"><span class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></span></font></div><div><span class="gmail_default"><font color="#0000ff" style="font-family:arial,helvetica,sans-serif">In November 1984, the original /usr/group standard was published. BTW: a residual effect of this work can be seen today, as this is the document where the </font><font face="monospace" color="#38761d"><unistd.h></font><font color="#0000ff" style="font-family:arial,helvetica,sans-serif"> was defined.</font></span></div><div><span class="gmail_default"><font color="#0000ff" style="font-family:arial,helvetica,sans-serif"><br></font></span></div><div><span class="gmail_default"><font color="#0000ff" style="font-family:arial,helvetica,sans-serif">As a side note, this document is "perfect bound" and I have been reluctant to break the back on my copy of it. At some point, I may have to do that so it can be properly scanned.</font></span></div><div><span class="gmail_default"><font color="#0000ff" style="font-family:arial,helvetica,sans-serif"><br></font></span></div><div><span class="gmail_default"><font color="#0000ff" style="font-family:arial,helvetica,sans-serif">As soon as it was published, it was known to be incomplete and, of course, lacked the user (command) level standard and an ABI standard. It also has had one huge issue, in that /usr/group was not recognized by any of the American Standards or ISO to create a document that could be brought forward for International standardization. Furthermore, without a formal proposal from an American Standard a Federal Information Processing Standard (FIPS) couldn't be proposed, so a document needed to created from one of the blessed organizations that could be.</font></span></div><div><span class="gmail_default"><font color="#0000ff" style="font-family:arial,helvetica,sans-serif"><br></font></span></div><div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><font color="#0000ff">Maurice Graubie had recently been the chair of IEEE 802. Jim Issak, then of Charles RIver Data System with Maurice's sponsorship was able to get IEEE to open a committee under their guidance to create a portable OS. The scope and purpose are cut/pasted from the charge:</font></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div></div></div><span style="color:rgb(153,0,0);font-family:garamond,"times new roman",serif">A.003.2</span><br><span style="color:rgb(153,0,0);font-family:garamond,"times new roman",serif">15JAN85</span><br><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div class="gmail_quote"><div class="gmail_default"><font color="#990000" face="garamond, times new roman, serif"><br></font></div></div></blockquote><div class="gmail_quote"><div><div class="gmail_default"><font color="#990000" face="garamond, times new roman, serif"> Scope and Purpose of the IEEE P1003 Working Group</font></div></div></div><font color="#990000" face="garamond, times new roman, serif"><br></font><span style="color:rgb(153,0,0);font-family:garamond,"times new roman",serif">"To define a standard operating system interface and environment based</span><br><span style="color:rgb(153,0,0);font-family:garamond,"times new roman",serif">on the UNIX Operating System documentation to support application</span><br><div class="gmail_quote"><div><div class="gmail_default"><font color="#990000" face="garamond, times new roman, serif">portability at the source level. (UNIX is a trademark of Bell Labs)"</font></div></div></div><div class="gmail_quote"><div><div class="gmail_default"><font color="#990000" face="garamond, times new roman, serif"><br>This effort entails three major components:<br><br>1. Definitions - Terminology and objects referred to in the document.<br> In the case of objects, the structure, operations that modify these,<br> and the effects of these operations need to be documented as well.<br> (Sample Term: Pipe, Sample Object: File Descriptor)<br><br>2. Systems Interface and Subroutines (C-Language Binding)<br> This area includes:<br><br> A. The range of interface & subroutines in the /usr/group document<br> B. IOCTL/TermIO<br> C. IFDEF Specifications<br> D. Real Time (Contiguous files, synchronization, shared data, priority<br> scheduling, etc.)<br> E. Device interface, including Termcaps/TermIO<br> F. Job Control, Windowing<br> G. Network Interface (but not Protocol)<br> H. Distributed Systems<br> I. Device Drivers<br> J. Error Handling & Recovery<br><br>3. User interface issues, including:<br><br> A. Shell, Command Set, Syntax<br> B. Portability - Media/Formats<br> C. Error Handling & Recovery<br><br>In all of these areas, consideration will be given to defining the impact on<br>security, international usage (language and character sets, etc.), and <br>application needs such as transaction processing.<br><br>The following areas may require review and commentary, perhaps even revisions<br>and updates, but are outside of the scope of the current effort: Network<br>Protocols, Graphics, DBMS, Record I/O.<br><br>Two areas are explicitly outside of the scope of the group: Binary compati-<br>bility/exchange of software in executable form, and the end-user interface<br>(where ease-of-use is a critical issue).<br><br>Target "consumers" of the documents are: Systems implementations (including<br>AT&T Licensees, those developing compatible systems, and those implementing <br>"hosted" systems), and application implementors - for areas 1 and 2. With<br>Area 3, multivendor systems integrators and shell users are also identified <br>as document consumers.<br><br>All of these efforts will not occur at once. The initial document for <br>balloting will be based on Section 1 and 2-A and B above. As this goes <br>through the balloting process, additional areas in 2 and 3 will be readied <br>for balloting. At this point, it is not clear if this will represent separate<br>revisions of a common document, separate "chapters" or "modules" of a common <br>document, or separate standards documents.<br></font></div><font color="#990000" face="garamond, times new roman, serif"><br></font></div><div><span class="gmail_default"><font color="#0000ff" face="arial, sans-serif">At the first meeting of the /usr/group committee in 1985, Jim presented this document from IEEE. We voted to disband and reconvene the meeting under IEEE's rules, with Heinz graciously stepping back and Jim becoming the new chair of the new committee.</font></span></div><div><span class="gmail_default"><font color="#0000ff" face="arial, sans-serif"><br></font></span></div><div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><font color="#0000ff">The first IEEE version was published in 1988, and the first ISO version in 1990. Somewhere in between FIPS-151 was published.</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><br></div><div><span class="gmail_default"><font color="#0000ff" style="font-family:arial,helvetica,sans-serif"><br></font></span></div></div></div><div hspace="streak-pt-mark" style="max-height:1px"><img alt="" style="width:0px;max-height:0px;overflow:hidden" src="https://mailfoogae.appspot.com/t?sender=aY2xlbWNAY2NjLmNvbQ%3D%3D&type=zerocontent&guid=8e6dd2f0-da9c-4133-8eac-b34ab79db33b"><font color="#ffffff" size="1">ᐧ</font></div>