
Unix Wars (2000) - bluu00
https://www.livinginternet.com/i/iw_unix_war.htm
======
DonHopkins
There was a Berkeley Unix software company called "Mt Xinu". (The operating
system's name is a recursive acronym, while the company's name is a backwards
spelling.)

"We know UNIX TM backwards and forwards." -Mt Xinu

[https://en.wikipedia.org/wiki/MtXinu](https://en.wikipedia.org/wiki/MtXinu)

Famous for the great posters they handed out at Usenix:

"4.2 > V" BSD -vs- System V, X-Wing / Death Star Poster

[https://raw.githubusercontent.com/ashaferian/Drive/master/Mt...](https://raw.githubusercontent.com/ashaferian/Drive/master/Mt.Xinu%20BSD%20Poster.png)

[https://www.ericconrad.com/2008/12/](https://www.ericconrad.com/2008/12/)

I love all the old telephone equipment in the explosion!

~~~
cat199
interestingly also blows out the theory that bsd/unix was just a AT&T slave by
licensing as the GNU project foundational docs would have you believe

~~~
microtherion
Back when the GNU project was founded, there were still lots of AT&T copyright
notices in BSD headers, and it took some nasty litigation in the early 1990 to
sort things out.

Incidentally, in my opinion it was this lawsuit which gave Linux a head start
vs the *BSDs at a critical point in its life.

------
jasoneckert
The divisiveness of the Unix Wars was incredibly prevalent during the 1980s
and 1990s.

One of my favourite examples of this is a quote from Cliff Stoll's book "The
Cuckoo’s Egg" from 1989. When Cliff’s colleague Dave notices that the hacker
used the –f option to the ps command on a Berkeley UNIX system (Berkeley UNIX
doesn’t use the –f option, only AT&T UNIX does), he said “We’re watching
someone who’s never used Berkeley Unix.” He sucked in his breath and
whispered, “A heathen.”

~~~
codetrotter
Reminds me of a few years ago when I was admining some Solaris 10 servers at a
company. Prior to that I had only ever used Linux and FreeBSD. It was
interesting to me, even though I was already used to there being differences
between Linux and FreeBSD, to interact with something that felt like an even
more remote evolutionary branch of a species of creatures. (Though at the same
time, things like ZFS and DTrace come from Solaris, so it's not like it is
actually all that remote to FreeBSD. Likewise, Solaris Zones are kinda like
Jails in FreeBSD.)

I came to think of this because of what you wrote. Prior to using Solaris 10 I
had always used to write "ps wwwaux" always, both on Linux and FreeBSD. But on
Solaris 10, in order to get roughly the same info, I had to instead type "ps
-ef".

~~~
pjmlp
Hence why when most talk about how POSIX and C are so portable across UNIX
platforms, they really don't have any idea what they are talking about.

I have coded for Xenix, DG/UX, HP-UX, Aix, Solaris, FreeBSD, Linux (starting
with kernel 1.0.9 in Slackware 2.0), using the platform compilers of each
respective OS.

To put it to modern audience, it is like doing a beautiful web app and then
fixing it for every browser in existence.

~~~
simonh
My first Unix was Solaris 4.1, but we soon upgraded to Solaris 2.0. My first
open source software came on a 1/4" tape I bought by mail order. It included
gcc so i had to compile that first with the Sun C version, then use it to
compile the rest of the software. Of course Solaris 2.0 unbundled the compiler
but I cant remember how I got round that. Must have got a binary of GCC from
somewhere. Fun times.

~~~
jjav
> Solaris 4.1

SunOS 4.1

~~~
simonh
Right, which was rebranded as "Solaris 1".

------
talkingtab
Any mention of "unix" and "war" needs to include a reference to
www.groklaw.net, a website set up as a focal point for a community defense of
unix and linux. A must read. It is in reverse order, with newest articles at
the front so I recommend starting with this link:
[http://www.groklaw.net/index.php?page=482](http://www.groklaw.net/index.php?page=482)

It is also a remarkable example of a website that provides value to the
community, a service and a piece of history.

If you are interested in the idea of what different social platforms
provide/afford (Zeynep Tufecki's Twitter and Tear Gas) this is great example
of what could be done.

[edit for typo]

~~~
DannyB2
The Unix Wars article mentions Santa Cruz Operation (SCO).

It is very important to realize that this is NOT the same SCO that sued IBM in
2003, which is what starts the very first Groklaw article.

A company named Caldera renamed itself to SCO in order to create confusion. A
few years later, during the (in)famous SCO vs IBM lawsuit, and covered by
Groklaw, SCO considered naming itself USL. I would suggest that idea was
simply to create more confusion and give an appearance of legitimacy to the
company.

Technically the SCO vs IBM suit is still alive. SCOXQ.PK has been in
bankruptcy since 2007! (13 years!) Nothing has moved for several years except
a few notices of appearance by different lawyers.

~~~
justin66
> A company named Caldera renamed itself to SCO in order to create confusion.
> A few years later, during the (in)famous SCO vs IBM lawsuit, and covered by
> Groklaw, SCO considered naming itself USL. I would suggest that idea was
> simply to create more confusion and give an appearance of legitimacy to the
> company.

Caldera paid SCO for the "rights" to the Unix IP, it's not like they just
bought the name. Arguing about what the "rights" for Unix actually meant (and
how much could be charged to license that IP to people who thought they had
already paid for it) was the point of the braindead lawsuits that followed.

~~~
DannyB2
Novell owned the Unix IP. (See TFA, Unix Wars)

In the following, SCO means Caldera, who renamed itself to SCO.

Novell licensed Unix rights to SCO where SCO would send 95% of sales to Novell
and SCO would keep 5%. (Who sounds like the owner here?) This is all
thoroughly documented on Groklaw. The entire court dockets, all filings,
motions, etc. It's all there to read, part of history.

SCO later tried to claim that the agreement somehow transferred ownership of
Unix to SCO. This resulted in a separate trial from SCO vs IBM. The judge
found in Novell's favor in a bench trial. SCO appealed they should have had a
jury trial. The Jury also found Novell owned Unix and SCO did not somehow get
it via the license agreement. SCO appealed, and again the appeal court found
for Novell.

SCO got exactly what it paid for. Rights to resell its Unix derived OS. SCO
could have negotiated to license more rights than it did.

------
DonHopkins
Michael Tiemann on "The Worst Job in the World":

[https://en.wikipedia.org/wiki/Michael_Tiemann](https://en.wikipedia.org/wiki/Michael_Tiemann)

>Michael Tiemann is vice president of open source affairs at Red Hat, Inc.,
and former President of the Open Source Initiative. [...] He co-founded Cygnus
Solutions in 1989. [...] Opensource.com profiled him in 2014, calling him one
of "open source's great explainers."

[https://user.eng.umd.edu/~blj/funny/worst-
job.html](https://user.eng.umd.edu/~blj/funny/worst-job.html)

>I have a friend who has to have the worst job in the world: he is a Unix
system administrator. But it's worse than that, as I will soon tell. [...]

------
x87678r
One of my favorate quotes ever comes from an old article about BSD
development, and contributor's code in general:

> Still, 90 percent of the contributions were thrown away; the rest, as
> McKusick likes to say, "were peed upon to make them smell like Berkeley.

[https://www.salon.com/2000/05/16/chapter_2_part_one/](https://www.salon.com/2000/05/16/chapter_2_part_one/)

~~~
DonHopkins
Berkeley pees right back!

[https://www.berkeleyside.com/2015/12/07/berkeley-business-
tr...](https://www.berkeleyside.com/2015/12/07/berkeley-business-tries-novel-
way-to-stop-public-urination)

------
andikleen2
Small mistake in the article. System V code was never released publicly by
SCO, just some earlier variants not too far removed from V7.

They make great code reading if anyone is interested. The early Unix variants
were quite simple and concise, nothing like the complexity of a modern
variant.

[https://github.com/dspinellis/unix-history-
repo/tree/Researc...](https://github.com/dspinellis/unix-history-
repo/tree/Research-V7)

For example early process swapping was really simple:

[https://github.com/dspinellis/unix-history-
repo/blob/Researc...](https://github.com/dspinellis/unix-history-
repo/blob/Research-V7/usr/sys/sys/text.c)

or scheduling was quite simple too:

[https://github.com/dspinellis/unix-history-
repo/blob/Researc...](https://github.com/dspinellis/unix-history-
repo/blob/Research-V7/usr/sys/sys/slp.c)

or that's most of a file system:

[https://github.com/dspinellis/unix-history-
repo/blob/Researc...](https://github.com/dspinellis/unix-history-
repo/blob/Research-V7/usr/sys/sys/iget.c)

scanner and lexer of the earlier (pre pcc) c compiler:

[https://github.com/dspinellis/unix-history-
repo/blob/Researc...](https://github.com/dspinellis/unix-history-
repo/blob/Research-V7/usr/src/cmd/c/c00.c)

and that is ls:

[https://github.com/dspinellis/unix-history-
repo/blob/Researc...](https://github.com/dspinellis/unix-history-
repo/blob/Research-V7/usr/src/cmd/ls.c)

ed, the standard editor:

[https://github.com/dspinellis/unix-history-
repo/blob/Researc...](https://github.com/dspinellis/unix-history-
repo/blob/Research-V7/usr/src/cmd/ed.c)

------
neilv
Apollo Domain/OS could emulate both BSD and System V, as well as support its
own very different shell command set.

One of the ways it did this was that filesystem symlinks could reference the
environment variable that specified what OS emulation you wanted.

[https://en.wikipedia.org/wiki/Domain/OS](https://en.wikipedia.org/wiki/Domain/OS)

[https://jim.rees.org/apollo-archive/](https://jim.rees.org/apollo-archive/)

~~~
DonHopkins
Pyramid Technology Corporation 90x RISC-based minicomputer ran OSx, which
supported BSD and System V at the same time in parallel universes, and had
patented "conditional symbolic links" to support dynamically switching between
the two by changing an environment variable.

[https://en.wikipedia.org/wiki/Symbolic_link#Variable_symboli...](https://en.wikipedia.org/wiki/Symbolic_link#Variable_symbolic_links)

>Pyramid Technology's OSx Operating System implemented conditional symbolic
links which pointed to different locations depending on which universe a
program was running in. The universes supported were AT&T's SysV.3 and the
Berkeley Software Distribution (BSD 4.3). For example: if the ps command was
run in the att universe, then the symbolic link for the directory /bin would
point to /.attbin and the program /.attbin/ps would be executed. Whereas if
the ps command was run in the ucb universe, then /bin would point to /.ucbbin
and /.ucbbin/ps would be executed. Similar Conditional Symbolic Links were
also created for other directories such as /lib, /usr/lib, /usr/include.

[https://en.wikipedia.org/wiki/Pyramid_Technology](https://en.wikipedia.org/wiki/Pyramid_Technology)

...And the hardware wasn't all that reliable either!

[http://art.net/~hopkins/Don/text/gymble-
roulette.html](http://art.net/~hopkins/Don/text/gymble-roulette.html)

At least you could run Space Invaders on the system console while it was down
waiting for repairs.

------
jfb
On the one hand, having basically one default Unix these days makes a lot of
things easier for a lot of people; but at the same time, I don't like software
monocultures. So, it's a mixed bag. But I'll tell you what: I _do not miss_
HP/UX or AIX or Solaris or ...

~~~
yjftsjthsd-h
> But I'll tell you what: I do not miss HP/UX or AIX or Solaris or ...

I'm curious whether this includes Solaris 10 / OpenSolaris. It _appears_ to me
(as a latecomer) that Sun finally got their act together and shipped something
technically superior to GNU+Linux, and that if they'd managed to stay in
business that (Open)Solaris would be an extremely competitive offering. Or put
differently, how much of this is that yes, the old unixen sucked, but just
because they were old? I mean, if I compare Fedora 32 to Red Hat Linux 7 (RH,
not RHEL), there's a world of difference there.

~~~
derekp7
The big thing for me is that (Open) Solaris felt like a single solid product,
the same feeling I always got from FreeBSD. Whereas the various Linux
distributions always felt like a grab bag of various pieces, some of which
worked well and others were still rough around the edges.

Little things, like the days of LILO for a boot loader. It had to maintain a
map of disk blocks that contained the kernel and initial ram disk, so if the
kernel or initrd was re-written to /boot you had to re-run the lilo command to
refresh its map (otherwise your system wouldn't boot). Took forever to get
something that understood the filesystem. But what replaced it (Grub) I always
felt was over-engineered. To me, the perfect successor to lilo would have been
the tooling from isolinux (there were boot loaders that natively understood
fat32, ext4, and other filesystems without having to have a mini OS built into
the boot loader) -- just seemed to be more elegant to me.

Then there were promising technologies that just up and disappeared (at least
for a while) such as userfs. We now have fuse, but there were multiple years
of distribution versions that didn't have either. Also, there were patches for
older kernel versions that supported containers, but they were never
mainstream until we got the current mix of process isolation features which
enables things like Docker.

Speaking of which, why is it that Solaris has an easy way to back out of an OS
update (using Zones), but that same process (using Linux containers and
snapshots) doesn't exist in any of the modern Linux distributions?

~~~
yjftsjthsd-h
Yeah, I was trying to not be too aggressive about it, but OpenSolaris is
literally my favorite OS of all time, and I'm a little annoyed that a decade
later everything else has only managed to match it, and then poorly. ZFS is
still better than any other filesystem, zones are still equal to LXC and only
just eclipsed by Docker (and then, only in UX), eBPF may finally be better
than DTrace, and pkg is just as good as dnf/zypper (and IMO better than
apk/apt/pacman).

> To me, the perfect successor to lilo would have been the tooling from
> isolinux

Wouldn't that just be syslinux (/isolinux/extlinux)? On systems where I pick
the bootloader, I usually use that since old grub is dead and grub2 is way
more complex than I like.

> Speaking of which, why is it that Solaris has an easy way to back out of an
> OS update (using Zones), but that same process (using Linux containers and
> snapshots) doesn't exist in any of the modern Linux distributions?

Isn't that more of a ZFS+beadm thing than a zones thing? FWIW, openSUSE _can_
do that using BTRFS. It... okay, again I honestly think ZFS+pkg did it better
than BTRFS+zypper, but it does work quite well. You can also add it using
things like snapper on Arch Linux if you're using a snapshotting filesystem.

------
remram
This has to be a new all-time low in website layout. `max-width:460px` means
that it uses less that 24% of my screen space, on my _laptop_. I have to
scroll through 3 pages of 12-point, 10-word wide text. I heard the arguments
for 80-column code but 80-column websites?

If this is their idea of a "web book" feel, it would be a book held 4 feet
from your face.

~~~
McGlockenshire
Hi and welcome back to the year 2000, where a non-trivial number of users
operate at sub-800x600 resolutions and the only reliable cross-platform tool
for page layout is HTML tables. You can't even reliably switch stylesheets
based on viewport size, and even if you could, CSS support is laughable.
Netscape can't reflow, it has to redraw the entire page.

While it's clear that the max-width was added later, it seems to be done so in
order to maintain the layout that was clearly created back in those days.

Thankfully simple layouts like this are trivial to zoom, as other commenters
have pointed out.

------
rbanffy
It's interesting that GNU only gets a mention in the very last paragraph when
a lot of the software described in the article was built with GNU tools (if
not for other reason, because developer tools were _horrendously expensive_
back then).

Also, it's interesting people don't think of user groups DECUS and SHARE as
relevant precursors (that predate both Unix and the internet)

~~~
floren
Even late versions of Solaris (such as I was using at school circa 2005)
didn't ship a GNU userspace, you'd have to install it separately. By the time
GCC 1.0 came out in 1987, 4.3BSD was already out, SunOS was several versions
deep, AT&T had released System V four years earlier... how precisely were
these built on GNU tools, when they all got their start before GNU existed?

~~~
rbanffy
Early versions of Solaris, as most Unix systems, didn't come with any
compilers - a C compiler was an expensive add-on option. Other development
tools - other languages, debuggers, linters, code-generators, etc, were not
provided in the standard distribution.

The college I graduated from, when I visited a couple years after graduating,
had compilers installed in their Unix machines (mostly AIX, some HP/UX and,
IIRC, one DG/UX). Usage was limited (they were licensed _by seat_ ).

The availability of GNU tools was a big thing - for the first time we could
have a C compiler and other developer tools on our Unix machines without
worrying about per seat licensing.

~~~
pjmlp
They actually did, Sun changed them into a separate product after a couple of
Solaris versions, which triggered the adoption of the until then largely
ignored GCC.

There is a Usenet post about it.

~~~
jjav
That C compiler unbundling was probably the largest mistake Sun ever made and
very likely the reason Linux rose to relevance and later world domination.

In the early to mid 90s SunOS (prior to Solaris it was SunOS) was in the place
where Linux has come to be - it was the default assumed by most software. When
one ftp'd any src tarball and typed make, it was almost certain to work on
SunOS and very often require extensive tweaking on other platforms. On the
nascent early Linux it was a huge pain to get any open source to compile.

Unbundling the C compiler in Solaris changed this dynamic. Suddenly it was no
longer a given that everything could be trivially compiled on those SPARC box
everyone had.

~~~
pjmlp
There was no Linux when Sun took that decision.

Linux rose to relevance because BSD was stuck in a legal fight, and while
Windows was starting to eat the UNIX workstation market, Microsoft did not
considered worthwhile to actively pursue their POSIX support.

Had Windows NT offered POSIX standard support to the level I could do my DG/UX
work assignments at home (minus traditional UNIX wars issues), and I would
never cared for Linux.

I bet many would have done the same.

~~~
jjav
> There was no Linux when Sun took that decision.

True, but initially Solaris (and the compiler unbundling) had no impact on the
Sun user base.

The initial release of Solaris was... not that great. I remember universities
and research labs (entities which provided a lot of the open source effort)
held out upgrading for a long time and stayed on SunOS for years.

So by the time most organizations finally upgraded to Solaris, Linux was
established but not very strong. The timing was just right (or wrong,
depending on POV) for the compiler unbundling to start pushing people (me
included) to Linux.

(Although then I joined Sun and lived happily in the world of Solaris for many
years.)

------
spazx
"In the late 1990's, interest began to coalesce around Linux, the first really
open Unix system released under the free software GNU license, and which might
finally unify the Unix family after three decades of development."

I wonder if they ever imagined the editor wars and distro wars of today.

~~~
pjmlp
Vi vs Emacs vs XEmacs was already a thing back then.

~~~
ido
I like to tell how Emacs standing for "eight megabyte and constantly swapping"
was a joke about Emacs requiring a lot of memory, as 8mb of RAM was considered
a lot (i.e. the joke wasn't even claiming that Emacs took 8mb in memory, but
that the entire system had a generous 8mb of RAM).

------
microtherion
I remember ca. 1990 when the big debate in Unix shops was whether SVR4 or
OSF/1 would ultimately prevail. Few people probably would have predicted that
both of these would be seen as essentially dead ends 20 years later.

------
kpommerenke
This page shows a nice chart of the GNU/Linux evolution:
[http://futurist.se/gldt/wp-
content/uploads/11.10/gldt1110.sv...](http://futurist.se/gldt/wp-
content/uploads/11.10/gldt1110.svg)

------
Koshkin
I warmly remember Coherent [1], it was a nice UNIX clone.

[1]
[https://en.wikipedia.org/wiki/Coherent_(operating_system)](https://en.wikipedia.org/wiki/Coherent_\(operating_system\))

------
gonzo
> The original version was developed at AT&T Bell Labs, a non-profit research
> institution, so the source code was permitted to be published and shared
> with others.

This is not true. Consider what occurred with “Lions' Commentary on UNIX 6th
Edition, with Source Code“.

------
ochrist
It's probably just me, but from the headline I expected this:
[http://www.catb.org/~esr/writings/unixwars.html](http://www.catb.org/~esr/writings/unixwars.html)

------
pjmlp
Nowadays replaced by Linux distribution wars.

~~~
bluu00
no those are cold ones. mostly newbees. few flavors of distros.

Gimme a recent released distro which got decent userbase.

~~~
yjftsjthsd-h
> Gimme a recent released distro which got decent userbase.

Solus is 5 years old and ranks 8th on distrowatch.

~~~
bluu00
hmm i'll take that one

------
mcv
> _" a full screen wysiwyg text editor called vi"_

I guess the meaning of wysiwyg has changed a bit over the years.

~~~
dhosek
You've never had the "pleasure" of using ed
[https://en.wikipedia.org/wiki/Ed_(text_editor)](https://en.wikipedia.org/wiki/Ed_\(text_editor\))
apparently. In an era of daisy wheel printers, vi (and emacs) were very much
WYSIWYG and far more usable than their predecessors.

~~~
pjmlp
I had the pleasure of using its MS-DOS counterpart, edlin.

Yep vi was definitely an improvement.

