summaryrefslogtreecommitdiff
path: root/content/unix-history
diff options
context:
space:
mode:
authormms <michal@sapka.me>2024-06-04 22:53:01 +0200
committermms <michal@sapka.me>2024-06-04 22:53:01 +0200
commit66209e7dfff41ca73cdf76bd08b852b088e0b6fc (patch)
tree51caacdb65969f4ead0f635500120e0756abe6ed /content/unix-history
parentdd7b51f0c1c3ad5e907b06621ea76c01f5e5e5ec (diff)
wip: unix hist 3
Diffstat (limited to 'content/unix-history')
-rw-r--r--content/unix-history/02_unix.md4
-rw-r--r--content/unix-history/03_unix_wars.md284
-rw-r--r--content/unix-history/_index.md6
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&amp;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&amp;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&amp;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&amp;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 &quot;Bill Gates on the future of Xenix&quot; feature" source="https://computeradsfromthepast.substack.com/p/microsofts-xenix" file="unix-world-xenix.jpg" >}}
+What an issue that was!
+{{< /image >}}
+
+
+## AT&amp;T Strikes Back {#at-and-t-strikes-back}
+
+None of the systems developed outside of AT&amp;T could use the name _Unix_, as the it was a trademark.
+The management of AT&amp;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&amp;T is settled, causing the breakup of Bell System.
+This removed the decree from 1956 and AT&amp;T was able to commercialize _Unix_.
+AT&amp;T swiftly introduced the (aforementioned) _Unix System V_ (note the lack of _System IV_).
+You could now buy an AT&amp;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&amp;T - _AT&amp;T Information Systems_, later _Unix System Laboratories_ or _USL_[^fn:10].
+
+AT&amp;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&amp;T with _System V_ and Berkeley University with _BSD_, now on version 4.2 plus a lot of smaller players.
+AT&amp;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&amp;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&amp;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&amp;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 &gt; 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&amp;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&amp;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&amp;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&amp;T&amp;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&amp;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&amp;T took a $1.2 billion loss, with half of that in computer industry.
+
+In 1987 AT&amp;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&amp;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&amp;T OS running on Sun hardware.
+DEC engineer Armando Stettner, said: "When Sun and AT&amp;T announced the alliance, we at Digital were concerned that AT&amp;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],&nbsp;[^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&amp;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&amp;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&amp;T and Sun creating _Unix International_, whose goal was to advice AT&amp;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&amp;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],&nbsp;[^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"
+++