On Tue, Sep 10, 2019 at 9:17 AM Clem Cole wrote: > Below ... from memory - Someone like APS was a little closer to some of > this than I was, so I might have a few things wrong. I don't think so, but > it's been quite a few beers > > On Mon, Sep 9, 2019 at 2:26 AM Warner Losh wrote: > >> OK. I'm totally confused, and I see contradictory information around. So >> I thought I'd ask here. >> >> PWB was started to support unix time sharing at bell labs in 1973 (around >> V4 time). >> > No... that is not quite right. PWB was Mashey's project to build an RJE > system to front end SW development for the IBM systems, which AT&T had a > number [IIRC Call Accounting and lot of the 'business' part of the Bell > System was mainframe based]. I think Dick Haight was also involved. I've > forgotten the site there were at. It might have been Holmdel or Whippany. > But it was not MH or Summit. > "The Programmer's Workbench was started in 1973,[2] by Evan Ivie and Rudd Canaday to support a computer center for a 1000-employee Bell Labs division" is what wikipedia says, though that reference is in a acm queue article by Mashey... PWB 1.0 was released just after V6 "based on" it. >> > Well not so much "right after", but it was based on V6. There are > differences. IIRC this was the first attempt at redoing how groups > worked. The biggest additions were an IBM RJE support, SCCS and a > different set of backup utilities; including some disk to disk (volcpy) and > the original binary formatted program for 9-tracks (cpio) to replace > Ken's assembler based tp. > Yes. PWB had their own collection of add-ons. I believe, but can't find the reference, that there were frequent imports of Research Unix into PWB as I saw references to UNIX/TS and CB-UNIX never getting too far away from Research Unix, so that's kinda speculative... I imagine that SCCS was a boon for keeping it all straight, but I've never actually used SCCS. > SCCS was important and the RJE support was important because that was the > system being used and it made a huge impression on AT&T staff. A terminal > to a UNIX box was way cheaper and to the IBM and people were so much more > productive. > > Also remember, that tp(1) was written in assembler had been originally > targeted to DECtape in a very early version of Research UNIX. The DECtape > nature is why the directory was on the front of the tape. Ken moved it > 9-track but used the same tape format. I don't remember who wrote stp > (super-tp - in C), [?? Harvard ?? it's on the Harvard tape and is how I got > it]. But better peripheral support was really important in Mashey's > setting. In that world, the production computer system was being put in > the raised floor computer rooms next to a mainframe and they had > 'operators' so John and team started to think more about what was needed to > admin the system. IMHO: this was the first heavy use of shell scripts, > while I saw them in MH, it was Mashey's guys that cause me personally to > have an ah-ha moment about them. > > Interestingly enough, and I have talked to Bourne and Mashey about it, > John's use of the V6 was definitely one of the groups that were asking for > a new shell, which Bourne set out to solve; but that is not yet available. > > At some point (and here is where we need Steve Johnson, aps, and I wish > the late Ted Kowalski) to fill in details I can not. USG/Summit was > chartered to "support UNIX for the Bell System." As I understand it, the > genesis for their system was a kernel from MH that was moving towards V7s > but not there yet, the 'Typesetter C' and a bunch of other utilities that > Summit had collected/developed, but which I do not know. I think fsdb was > around by that time. The new Bourne Shell and adb were being developed > although how complete I'm not sure. > > But accept for the new shell and updated compiler, I remember the system > 'felt' like V6 (Thompson shell) and thinking how much 'better' different v7 > (Bourne Shell was) when we finally got it. This earlier system is the one > Ted brought to CMU in the fall 1977 (I think that is the right date) to > update the V6 system were then running. Anyway, Ted always referred to > this as a UNIX/TS kernel. > > Another thing we did not have SCCS or the RJE stuff. What I'm not sure > of is if there was a formally release of what ted had. So it may have > been that TS had them and sent the release to Mashey, although I don't > think there were such releases originally in TS. FWIW: I believe that in > our (CMU) case,Ted would just grab things as they appeared that he > thought we needed at CMU and he pushed things back (like CMU's fsck as he > found things we had that he thought we would like). Interestingly > enough, RJE and SCCS was needed for the IBM support and while Ted (and his > undergrad roommate, Bill Joy) had worked on the MTS system on the IBM's at > UMich, I always felt like Ted looked down on the mainframes (which was were > I had also emerged but from CMU's TSS team). > > Also, Ted was a die-hard original cpio user and I liked the user > interface to stp, which I remember was a difference/source of argument. > Tar did not yet exist. TS had some of the PWB tools like volcpy; but we > were using DOS-11's similar but different backup scheme (I've forgotten > the name of the format; but the tapes were boot-able, which volcpy tapes > were not). > > FWIW: cu(1) did not yet exist. I wrote a program (that I tended to > prefer in some ways for many years) called connect(1cmu) that did the same > thing. We used it to download images to the Microprocessors like the > KIM-1. It was originally written with the v6 portable C library, which is > also what the original fsck used (it's what we had on v6). Ted introduced > me to what would become stdio and one of my first tasks was using it with > connect(1cmu). The other thing I remember about that program is it was the > first time I wrote something that used two separate processes on a UNIX > system that cooperated with each other and found it so much easier than on > the PDP-10. > > Also, Dennis' stand-alone system for V7 was not yet available BTW. If I > think of anything else about that system I can remember, I'll send an update > > PWB 2.0 was released just after V7, also "based on it". >> > I think the confusion is that TS and V7 were done sort of at the same time > and while the folks working on them talked to each other, it has never been > clear to me who was behind TS. For instance, I would learn that Bourne was > the 'project leader' for Seventh, in that he was the person that collected > everything for it. I never heard of someone having the same role for TS, > which is why I sometimes think it was a name inside of Summit, but never > actually saw the light of day as a formal release. I really am not sure > and would love to learn more details (I wish Ted were still alive to fill > us in). > Several timelines have, without references, Unix/TS or some variant of that going back to the V4 time frame. It's at best murky. There's some references in https://wiki.tuhs.org/doku.php?id=misc:snippets:mert1 including the post by Dan DeJegar which I had trouble parsing the ins and outs of. > As for V7 itself, Ken wrote tar(1) in response to cpio (preferring an > ASCII based header, but 'threading' it like cpio did, but keeping the user > interface that tp/stp had). As I understand it, Dennis built up did the > standalone toolkit stuff. Ken changed groups and messed with the file system > in the kernel. Lots of new peripheral support, which is why he also > added lseek() as disks overflowed a 16-bit integer for the seek position. > Plus there were a number of other small changes between v6 and v7. Some of > this stuff from PWB and Summit went back to MH (fsck as an example), but > not everything (like cpio/volcpy/SCCS). I kind of think of the kernel and > Typesetter C going from MH to Summit and the PWB teams. > > @Steve Johnson, I need your help here.... at some point PCC was created in > MH (along with lint). Didn't that start on V6 but was not complete until > V7? And when did you move to Summit to lead the compiler effort there? My > impressions that was yet to happen, but I'm fuzzy on dates. > > Remember, there are a number of teams at BTL hacking on UNIX by then. > Dale's team in Columbus, the crew in Indiana Hill, folks at Western > Electric (the Teletype folks ported the Ritchie C to the Z80 at some point > for instance), *etc.* > Yea, the Columbus crew added a lot to the different versions, and merged from them, according to the above link and a few other sources. > Again, I don't remember the politics but like any big company, you can > imagine it was not all that clean and crisp. PWB 2.0 & 3.0 definitely > picked up features from other UNIX systems. As I remember, Dale's shared > memory hacks would beget System V Shared Mem, Semaphores and IPC (they are > different, but they started in Columbus). > This jives with other information that says the basis of system V share memory, semaphores and ipc were derived from CB-Unix... > The other thing I'm not clear on is when the PWB team was folded into USG (Unix > Support Group) in Summit. *I believe* that was after PWB 2.0 was > released. But at some point, Mashey's team and the USG got interwoven. > I really don't know/remember many of those details as I watched them from > the outside and only knew the results. The key point is the PWB 2.0 would > eventually be released as the internal, but official UNIX for the Bell > System. It was supposed to bring together the needed from the different > labs; but it was not >>officially<< released *outside of the Bell System* > (it was an internal product, remember at this point, AT&T is not allowed to > have computer products, etc...) > Yes. There's some confusion as PWB and UNIX/TS become a USG thing that turns into System III and then the influx of CB-UNIX that's added before System V. How all that relates to USG, I'm quite unclear on still... > So PWB 2.0 is basically internal, and a melding of V7, TS, PWB 1.0 and > starting to take things from different labs with in BTL -- different from > all of them but mostly a superset. > > > > >> Later Unix TS 3.0 would become System III. >> > No --I do not think this is a true statement... not sure where you got > that, more in a minute > From the above recollection of Dan DeJAger... > We know there was no System I or System II. >> > Correct. > > But was there a Unix TS 1.0 and 2.0? >> > This is where it gets sticky. I don't think so. TS was the original > work by USG. What I do not know is if it ever was 'packaged' as PWB had > been. *I do not believe it was*. I think a little like the way Research > 'bled' out a little a time, pieces of TS made their way to MIT, CMU, *etc*. > but never as a formal release. > I've seen lots of references to UNIX/TS, but no versions, so this makes some sense... And it appears they go back further than V6... > And were they the same thing as PWB 1.0 and 2.0, or somehow just closely >> related? >> > See above... I'll explain how PWB 3.0 became System III in a minute. > > >> And I've seen both Unix/TS and Unix TS. Is there a preferred spelling? >> > Don't know. I remember Ted always called it UNIX/TS all caps. > > The thing you left out is how PWB 3.0 became System III. > > Two important issues. First with V7, AT&T (Al Arms) wrote the first > binary system redistribution license. The commercial folks were happy to > have a redistribution license, but the terms were not what they really > needed. Much of the issue was that AT&T was not the computer hardware or > software business and really did not understand the issues that the vendors > had. Professor Dennis Allison of Stanford, was consulting for almost all > of us in the computer industry at the time (for those that don't know > Dennis, around the same time he founded what is now called the Asilomar > Microprocessor Workshop (check out: > https://www.computerhistory.org/atchm/the-asilomar-microcomputer-workshop-and-the-billion-dollar-toilet-seat/ > ). > > Dennis arranged for a big meeting at Ricki's Hyatt in Palo Alto and > invited Al Arms and team, plus a representatives from his clients. I was > the techie with a lawyer from Tektronix in the room (as I have said in > other emails this it is only time I have been in a meeting with Bill > Gates). The folks I remember who were there: was Bill Munson and team from > DEC; Fred Clegg and Team from HP; Bob MetCalfe from 3Com; Gates and the > MSFT crew; folks from SCO and DG. There were some others, about 10 firms > in total; although I think if remember correctly, IBM was not among them > [This is the meeting where Gates famously exclaimed: "*You guys don't get > it. The only thing that matters in the software industry is volume*."]. > > BTW: The bits we were discussing was the upcoming release from USG, to be > called PWB 3.0 and they were for the PDP-11 only (which was fine, that was > what we all had been licensing already. We could still use things from > other places, because that is what those other places were all licensed to > have -- all was good in UNIX-land). > > Thus began a series of negotiations for a new license agreement that would > allow the HW vendors to better ship UNIX as a binary product: FWIW: Gates > wanted to pay $25/copy. The DEC, HP and DG folks laughed. $1K/copy was > fine by them, since their HW was typically $50-150K/system. > > Either shortly after or maybe during the negotiations time, Judge Green > ruled and AT&T got broken up. One of the things that occured is that AT&T > was now allowed to sell SW and more importantly their new 3B20 as a product > (against IBM and DEC). From a SW standpoint, AT&T Marketing did not like > the 'Programmers' moniker, feeling that it would limit who they could sell > too. So they rebranded the new software product 'System III.' > > Note the printing of the manuals had already begun, which is why the cover > of the manuals say System III, but the title pages say PWB 3.0. > > As other have said a few years later, another PWB release came out for the > Bell System, *a.k.a.* PWB 4.0; but this was not licensed outside. > > At some point later, negotiations had restarted on yet another license > with the System III licensees and AT&T. By the time that completed, yet > another release had been finished by USG. The biggest change was the > addition support for HW besides the PDP-11. In particular, the official USG > support for the VAX and the 3B20. What I forget, but I think in that > license you had to declare a system type and most licensees picked the VAX. > > By the time of release and finalization of the license, AT&T Marketing > which had already started the '*Consider it Standard*' campaign, called > the new release "System V." > > AT&T Marketing would stay with System V moniker from then on and we know > have SVR2, SVR3, SVR4, SVR5 in later years. > Yea, the detailed part of my history ends with the progeny of V7 (and I only have room for some, I've found maybe 3 dozen different systems that started out with V7 and then merge in System III or System V code for later versions or some variation on this theme). > >> Thanks for all your help with this topic and sorting things out. It's >> been quite helpful for my talk in a few weeks. >> >> Warner >> >> P.S. Would it be inappropriate to solicit feedback on an early version of >> my talk from this group? >> > I would suggest sending a pointer to this group to the slides and ask for > people to send you comments privately. > Works for me. Let me update based on this and Steve's email. > > >> I'm sure they would be rather keener on catching errors in my >> understanding of Unix history than just about any other forum... >> > Indeed - happy to help. > I am so very grateful for the help. > Clem >