diff options
author | mms <michal@sapka.me> | 2024-06-04 22:53:01 +0200 |
---|---|---|
committer | mms <michal@sapka.me> | 2024-06-04 22:53:01 +0200 |
commit | 66209e7dfff41ca73cdf76bd08b852b088e0b6fc (patch) | |
tree | 51caacdb65969f4ead0f635500120e0756abe6ed /content/unix-history | |
parent | dd7b51f0c1c3ad5e907b06621ea76c01f5e5e5ec (diff) |
wip: unix hist 3
Diffstat (limited to 'content/unix-history')
-rw-r--r-- | content/unix-history/02_unix.md | 4 | ||||
-rw-r--r-- | content/unix-history/03_unix_wars.md | 284 | ||||
-rw-r--r-- | content/unix-history/_index.md | 6 |
3 files changed, 289 insertions, 5 deletions
diff --git a/content/unix-history/02_unix.md b/content/unix-history/02_unix.md index 6bac361..8cf268a 100644 --- a/content/unix-history/02_unix.md +++ b/content/unix-history/02_unix.md @@ -4,7 +4,7 @@ author = ["Michał Sapka"] date = 2024-03-16T21:00:00+01:00 categories = ["unix-history"] draft = false -weight = 1003 +weight = 2003 primary_menu = "unix-history" abstract = "How Unix came to be?" shortname = "Part II: Unix" @@ -12,7 +12,7 @@ link = "part-ii-unix" aliases = ["/bsd/history/02_unix/"] [menu] [menu.unix-history] - weight = 1003 + weight = 2003 identifier = "history-of-unix-part-ii-birth-of-unix" name = "2. Birth of Unix" +++ diff --git a/content/unix-history/03_unix_wars.md b/content/unix-history/03_unix_wars.md new file mode 100644 index 0000000..d792364 --- /dev/null +++ b/content/unix-history/03_unix_wars.md @@ -0,0 +1,284 @@ ++++ +title = "History of Unix part III: Forks and Wars" +author = ["Michał Sapka"] +date = 2024-05-29T21:50:00+02:00 +categories = ["unix-history"] +draft = false +weight = 2004 +image_dir = "unix-history" +image_max_width = 700 +abstract = "How Unix came to be?" +shortname = "Part III: Unix Wars" +primary_menu = "unix-history" +[menu] + [menu.unix-history] + weight = 2004 + identifier = "history-of-unix-part-iii-forks-and-wars" + name = "3. Forks and Wars" ++++ + +This resulted in a very peticular situation. +Different organizations got into possesion of a _great_ operating system with which they were able to do whatever they pleased. +The original creators, AT&T were unable to sell the software. +Of course, they wanted to monetize on this opportunitty. + +This chapter of history is convolutted, so hopefully I won't make any significant errors here. +Most of this history would be lost to time, if it it wasn't for dedication of dedicated fans. +Remember, I try to link sources so please go take a visit to _their_ sites and talks. +But please, go and see Warner Hosh's [talk](https://www.youtube.com/watch?v=XuzeagzQwRs) on the early history of UNIX. +It's a gold mine and guiding light allowing me to write the following chapter. + + +## Other Bell Unixes {#other-bell-unixes} + +But the first forks (separately developed versions of _Unix_) came from Bell[^fn:1]. + +<https://youtu.be/XuzeagzQwRs?si=VJjyR1A_ofZAoguI&t=1610> + +AT&T was, as we remember, a telephone company. +Lots of wires coming into centralized buildings, called _switches_. +The first known fork of _Unix_ was intended to automate switching of connections, therefore the very long name - _New Jersey Bell Switch Control Center System (/NJ Bell SCCS). +This version of /Unix_ is the earliest known usage of the OS family outside of Bell Labs. +It was released in 1971 as a fork of 1st or 2nd edition of _Unix_ and was the first known _Unix_ to support inter-process communication and file locking. +Those advancements were not back ported to mainline _Unix_ until _System V_[^fn:2],[^fn:1]. +Soon, after it evolved into Columbus Linux (_CB-Unix_), as the _SCCS Unix_ was developed by Bell Division 59473 in Columbus, Ohio. + +{{< image class="centered" alt="Two red books containing Volume 1 and 2 of Programmers Manuals for CB Unix" source="https://en.wikipedia.org/wiki/CB_UNIX#/media/File:CB_Unix_Manuals.jpg" file="cb-unix-manuals.jpg" >}} +Programmers Manuals for CB Unix +{{< /image >}} + +In a completely different part of Bell Labs, another project was starting to use _Unix_. +_Mert_ (Multi-Environment Real-Time) was a fork for use in embedded minicomputers, like PDP-11s[^fn:3]. +Yes, virtualization is not a new idea - it dates back to the 60s where it was developed by IBM. +And so in 1973 _Unix V4_ was ported to run as a supervisor. +It was the first time _Unix_ was run in a virtualized environment[^fn:1],[^fn:3]. +Thus system evolved into _Unix/RT_ and then _DMERT_ + +Yet another version was _PWB/Unix_ which was designed to be used to create software for batch processing. +This was how processing was done back then - you created your program, submitted it to a mainframe, but with the use of _Unix_ no longer one needed to provide a deck of cards to a operator. +As a result, _PWB_ provided an early version of Source Control System. +To make work easier, this was the first version to include a _shell_ - _pwb shell_. +Other tools we know and love today that originate in _PWB_ are awk, sed, grep, or make[^fn:1]. +Ergo, this was one of the OSes made for work, not for research. +This OS was released in 1977 but Evan Ivie and Rudd Canaday started working on it in 1973[^fn:4]. + +In the same year, 1973, Bell funds a small group to support the use of _Unix_ across the lab - the _UNIX Support Group_ or _USG_ for short[^fn:5]. +Their version of _Unix_ was called _Unix/TS_ and was based on _UNIX v4_. +It was later merged with _PWB_ and _32V_ to become _Unix/TS 3.0_ known also as _System III_. +After another merge, this time with CB-Unix and it became _Unix/TS 4.0_, which however was never released. +The next version after that, _Unix-TS 5.0_, became the _System V_.[^fn:1],[^fn:5]. + +We're not done yet. +_UNIX_ has seen it's share of history and we're still in the 70s. +1975 saw the release of MUNUX, most likely as a fork of _UNIX V5_[^fn:1]. +It was a modification of mono-processing system, UNIX, to multiprocessing utilizing two PDP 11/50[^fn:6]. +Yes, multi processor processing was researched in the 70s. + +_UNIX V6_ saw the addition of BBN TCP/IP Stack in 1977. +This is worth mentioning, as before that Bell labs pretended that packets are to be ignored, as networking is to be done using circuit switching. +AT&T was a _telephone_ company after all[^fn:1]. +_V6_ from 1975 introduced yet another feature - commercial license. +We will get back to that, but it is what sounds like: AT&T is earning money from Unix. + + +## AUSAN and the birth of BSD {#ausan-and-the-birth-of-bsd} + +_AUSAM_, the _Australian Unix Share Accounting Method_ was the first community maintained fork of Unix based on the Sixth Edition[^fn:1]. +The work conducted at Universities of Sydney and New South Wales focused on allowing the system to run with huge number of users[^fn:7]. +The changes returned to _Unix V7_, but _AUSAM_ was never upgraded to a full 7th ed[^fn:1] + +<https://youtu.be/XuzeagzQwRs?si=ZXhDIsNgliZpfml3> + +In 1975, Ken Thompson took a sabbatical and took a teaching job at Berkeley University, where he helped install Version 6 of _Unix_. +The OS received quite the attention of students and faculty, resulting in the first version of _BSD Unix_ - _1BSD_. +The lineage of BSD is extensive (not to mention their descendants are what I use) and will be a subject of the next part of our story. +For now, remember that _BSD_ exists. +The name will be all over the place, but proper history of _BSD_ lineage deserves deeper look. + +_Unixes_ we got to know here were research projects. +People tried to understand what can be done with Computer using _Unix_ as the base. +But no one was stopping other people from earning money. +So they did. + +The first wave of commercial Unixes were mostly ports allowing to run _Unix_ on wide range of hardware. +Remember, this was way before X86 desecrated the scene and computers there were vastly different computer architectures on the market. +It was not small feat, and this is the hobby of a lot of folks in IT. +_Doom_ is supposed to be ported to _everything that can compute_. +The good old IBM PC got _386/IX_ (aka _PC/386_) in 1977. +Amigas got their _Amiga Unix_ in 1990 developed by _Commodore-Amiga, Inc./_. +HP's internal line of mainframes were given _HP-Unix_ in 1984. +Most of those don't have any value now, but it's important thread in out story. + + +## Solaris {#solaris} + +However some of those forks have _huge_ value. +Sun Microsystems (murdered by Oracle buyout) offered their own line of workstations. +Their _Unixes_ were initially based on _BSD_ under the name of _SunOS_ - versions 1 to 4.1.4. +Starting with version 5 however, the base OS was changed to _System V_ and the OS renamed to _Solaris_. +Up to this day, this one of the most well remembered OSes. +Mind you, it's still developed (in 2023), but people simply don't want to do anything in proximity to Oracle. + + +## Xenix {#xenix} + +Some _Unixes_ are remember for very different version. +Xenix, released in 1970 was a fork for IBM/PC (among st others) released and developed by Microsoft. +Yes, a timeline exists where Windows never became the standard, and instead a MS branded Unix rules the land. +The firt version is said to be very close to _System 7_, but with time more and more changes were applied. +It was quite the buzz in the buzz, even Intel sold a complete computers with Xenix preinstalled under the name System 86. +Measured by number of machines on which it was installed, _Xenix_ was the most common _Unix_ variant by the mid-to-late 1980s[^fn:8] +Nothing of this mattered in the death march of Windows, and the last version was released in 1991. + +{{< image class="centered" alt="Cover of Unix World from 1985 showing Bill Gates with "Bill Gates on the future of Xenix" feature" source="https://computeradsfromthepast.substack.com/p/microsofts-xenix" file="unix-world-xenix.jpg" >}} +What an issue that was! +{{< /image >}} + + +## AT&T Strikes Back {#at-and-t-strikes-back} + +None of the systems developed outside of AT&T could use the name _Unix_, as the it was a trademark. +The management of AT&T was paying attention and starting to get hungry. +However, by 1980s, the most popular variant of non-commercial _Unix_ was _BSD[^fn:9]_. + +The _Unix_ landscape was like nothing else. +Despite companies sharing up to 90% of code, all the _Unixes_ were incompatible. +Hardware and software vendors were unable to support all of them. +The was no _Single Unix_, which made it the adoption much slower and painful. +In 1981 Ma Bell (Mother Bell, a common colloquial name for Bell companies) helped a bit by combining all of Bell's _Unixes_ into a single one - _Unix System 3_. +It's binaries were sub-licensed for 100USD. +Nothing big enough to trigger legal actions, but _Bell Unix_ became a commercial product. + +This could not go like this forever. + +The change came from no one other, but the U.S. Department of Justice. +The year is 1983 and the second antitrust case against AT&T is settled, causing the breakup of Bell System. +This removed the decree from 1956 and AT&T was able to commercialize _Unix_. +AT&T swiftly introduced the (aforementioned) _Unix System V_ (note the lack of _System IV_). +You could now buy an AT&T _Unix_ for the low price of $43,000, though it allowed for commercial usage of the source code. +Of course, add-ons (like networking) were sold separately. +This product received it's own division within AT&T - _AT&T Information Systems_, later _Unix System Laboratories_ or _USL_[^fn:10]. + +AT&T intended _System V_ to be the standard way to experience _Unix_, but others disagreed. +The situation on the battlefield was complex, with different players putting their figures all over the place. +We had two behemoths - AT&T with _System V_ and Berkeley University with _BSD_, now on version 4.2 plus a lot of smaller players. +AT&T had all the money and name to crush anyone but did not support networking. +BSD had a TCP/IP based networking and was popular among st universities. + +Vendor were choosing sides - IBM and HP went with _System V_ while others, like Sun choose _BSD_. +On 27th of March, 1984 AT&T officially enters computer market with their own line of computers from desktops PCs to "super-microcomputers" powered by _Unix_[^fn:10]. + +{{< image class="centered" alt="An print ad for AT&T Unix PC showing the computer and listing features" source="https://www.thejumpingfrog.com/product/sku/1526351" file="att-unix-pc.jpg" >}} +Introducing the AT&T Unix PC. +{{< /image >}} + +{{< image class="centered" alt="A drawing of an space ship flying of a planet looking like System V logo. On top text 4.2 > V can be seen." source="https://archive.org/details/mtxinu-mach386/Mt.Xinu%20BSD%20Poster.png" file="mt-xinu.png" >}} +Mt Xinu poster shows the atmosphere of those days . +{{< /image >}} + + +## BSD on the verge {#bsd-on-the-verge} + +The rules of the game also changed. +All _Unixes_ shared code originating from Bell Labs, but AT&T was not happy with this. +Therefore, while BSD still could be used for research purposes, any commercial usage would require first purchasing rights for _System V_ usage. +The system came with license agreement allowing only for usage in academic institutions and purposes. + +By 1980s features of BSD were adopted back in _System V_. +This, and the license made users and vendors flock towards AT&T, since they had to get a license anyway. +Even curriculum was changed, since distributed source code of Unix (be it during lectures or in text books) were under AT&T control[^fn:10]. +This made _Lions Commentary on UNIX_ the most photocopied book in academic history. +Owning Nth generation, barely readable copy gave significant bragging rights[^fn:1]. + + +## Alliances - X/Open, AT&T&Sun, OSF, UI {#alliances-x-open-at-and-t-and-sun-osf-ui} + +All of this made _Unix_ suffer. +People were not writing software for it, since all flavors were incompatible. + +Seeing the situation, a number of companies joined forces to create a single standard . +In 1984 the _Open Group for Unix Systems_ was formed by the likes of Bull, ICL, Siemes, Olivetti, and Nixdorf. +The group was commonly known as _BISON_, from first names of their name. +Later, the name was changed to _X/Open_. + +The group decided to base their standard on _System V_ because they "decided to run the risk of exploitation by AT&T rather than by IBM”[^fn:11]. +The first version of the specification, X/Open Portability Guide Issue 1 was published in 1985 and “covered basic operating system interfaces”[^fn:12]. + +The situation was, however, dire. +In 1985 _MS-DOS_ had 5x the number of applications compared to _Unix_. +This lead to the year 1986, and AT&T took a $1.2 billion loss, with half of that in computer industry. + +In 1987 AT&T and Sun enter an agreement. +Sun, by that time, was the largest _Unix_ vendor with _Solaris_ based on _BSD 4.2_ and their own line of RISC-based microprocessors - SPARC. +The official note stated that they are joining forces to "pursue co-development of a standard Unix operating system based on AT&T’s System V, Berkeley’s BSD 4.2, and the graphical capabilities of Sun’s Sun-OS"[^fn:12]. + +The computer world was not happy with those giants creating their own front. +The fear was that it could lead to a total domination of the market by AT&T OS running on Sun hardware. +DEC engineer Armando Stettner, said: "When Sun and AT&T announced the alliance, we at Digital were concerned that AT&T was no longer the benign, benevolent progenitor of UNIX…Sun was everyone’s most aggressive competitor. +We saw Sun’s systems were direct replacements for the VAX. +Just think: the alliance combined our most aggressive and innovative competitor with the sole source of the system software — the balance shifted."[^fn:12], [^fn:13] + +This lead to the creation of third combined group - in 1988 representatives from Apollo, DEC, Gould Electronics, Hewlett-Packard, Honeywell-Bull, InfoCorp, MIPS, NCR, Silicon Graphics, UniSoft, and Unisys met in DEC's office in Palo Alto. +Initially the group called themselves _Hamilton Group_ (from Hamilton Avenue, where DEC offices were located). +Their goal was to get AT&T on board, but it failed.[^fn:12] +As a reaction, they invited IBM who happily joined and in May of 1988 they official announced their existence under the name of _Open Software Foundation (OSF)_.[^fn:10] +They decided not to base their standard on AT&T: "Unlike X/Open, OSF planned to produce an operating system that it would license to its members, rather than function only as an advisory body."[^fn:12] + +This had the historical effect of putting rivals, DEC and IBM on the same side. +DEC co-founder, Ken Olsen never before shared a stage with any IBM executive before. +Even Ken Thomson while traveling in Australia commented on this to Dennis Ritchie: "Just think, IBM and DEC in one room. We did it!"[^fn:10]. +Sun's CEO, Scott McNealy was not as pleased, as he called the OSF the "Oppose Sun Forever". +The heat lead to AT&T and Sun creating _Unix International_, whose goal was to advice AT&T on _System V_ and promote its development. +The voting rights were based on, of course, financial contributions[^fn:12]. + +OSF faced internal problems due to consisting parties often competing on mainframe market. +This left OSI and UI as the dominant powers in the straggle, and in total they ended with over two hundred members. +Both also developed and released their own Unixes. +In November of 1989 AT&T releases a commercial version of _System V Release 5_, and in 1990 the OSF released _OSF/1_ based on IBM's AIX and Carnegie Mellon’s MACH operating systems[^fn:12] + + +## Enemy mine {#enemy-mine} + +The battle continued into 1990s, and there was no sign of a clear winner. +First, the economy turned to the worst with the early 1990s recession in the US. +Most players of the Unix Wars, as we call them now, started seeing decrease in profit - sometimes loses. +Second, 1993 saw the release of _Windows NT_, which was aimed directly at the market _Unix_ was fighting for. +Having a single, widely supported OS allowed Microsoft to quickly gain huge market share. + +_Unix_ fought with more standardization attempts. + +Firstly, in 1988 the IEEE 1003 was released, _Portable Operating System Interface_, aka _POSIX_. + +The second was known as _Common Open Software Environment_, the _COSE_. +It was one more attempt to create an open, unified, standardized _Unix_. +This time, however, it was not an fight between _Unix_ vendors. +This was the first time they had to unite against a common enemy. +Initially the group consisted of The Santa Cruz Operations, Unix System Laboratories, Univel, Sun, HP, and IBM +They tasked themselves not with creating of a single unified OS, but rather with survey and document what already was there. +The result of their work is _Spec 1170_, now known as _Single Unix Specification_.[^fn:12], [^fn:14] + +This lead to the last attempt. +In 1996 OSF and X/Open merged and became _The Open Group_ which exists till today. +It was however too late for _Unix_ to regain it's dominance. +The value was lost, the _Unix_ wars saw the raise of Microsoft and a new player - GNU/Linux. + +{{< image class="centered" alt="Screenshot of an Unix system running Common Desktop Environment" source="http://sourceforge.net/p/cdesktopenv/wiki/LinuxBuild/" file="cde.png" >}} +One of the great achievements of The Open Group was Common Desktop Environment +{{< /image >}} + +The trademark of _Unix_ resides now with _The Open Group_ which is responsible for certification of products. + +[^fn:1]: [The hidden early history of unix the forgotten history of early unix](https://www.youtube.com/watch?v=xuzeagzqwrs) +[^fn:2]: <https://en.wikipedia.org/wiki/CB_UNIX> +[^fn:3]: <https://en.wikipedia.org/wiki/Multi-Environment_Real-Time> +[^fn:4]: <https://en.wikipedia.org/wiki/PWB/UNIX> +[^fn:5]: <https://gunkies.org/wiki/UNIX_Support_Group> +[^fn:6]: <https://core.ac.uk/download/pdf/36714194.pdf> +[^fn:7]: <https://www.tuhs.org/cgi-bin/utree.pl?file=AUSAM> +[^fn:8]: <https://en.wikipedia.org/wiki/Xenix> +[^fn:9]: <https://en.wikipedia.org/wiki/Unix_wars> +[^fn:10]: [A Chronicle of the Unix Wars](https://www.youtube.com/watch?v=Ffh3DRFzRL0) by Asianometry on Youtube +[^fn:11]: [UNIX STANDARDS IN THE 1990s](https://websites.umich.edu/~afuah/cases/case12.html) on University of Michigan +[^fn:12]: [Unix Wars](https://klarasystems.com/articles/unix-wars-the-battle-for-standards/) on Klara Systems +[^fn:13]: [The Daemon, the GNU and the Penguin](http://www.groklaw.net/article.php?story=20050601125916588) by by Peter H. Salus +[^fn:14]: <https://en.wikipedia.org/wiki/Common_Open_Software_Environment> diff --git a/content/unix-history/_index.md b/content/unix-history/_index.md index ae7e38d..ee15bae 100644 --- a/content/unix-history/_index.md +++ b/content/unix-history/_index.md @@ -2,14 +2,14 @@ title = "Unix history" author = ["Michał Sapka"] date = 2024-03-09T21:03:00+01:00 -categories = ["bsd"] +categories = ["unix-history"] draft = false -weight = 1001 +weight = 2001 primary_menu = "unix-history" aliases = ["/bsd/history//"] [menu] [menu.bsd] - weight = 1001 + weight = 2001 identifier = "unix-history" +++ |