How Unix made it to the top
minnie.tuhs.org
minnie.tuhs.org
Ok, that was important at AT&T, but not really why Unix currently rules the universe. Due to anti-trust settlements and cheap licensing, and copyright foibles, Unix was the cheap midrange choice for students and non-enterprise users. After a lot of pain, Unix eventually evolved into an "open standard". And that eventually evolved into an "open source" standard with Linux (and BSD, MacOS, etc.) To quote DEC's Ken Olsen[1]:
> [UNIX is] great for students, great for somewhat casual users, and it’s great for interchanging programs between different machines. ... It is our belief, however, that serious professional users will run out of things they can do with UNIX. They’ll want a real system and will end up doing VMS when they get to be serious about programming.
And that is why your cell phone runs Unix and not VMS.
While this is unquestioningly accepted by the software and at large communities, for some reason "low-end manufacturing" in the US and the rest of the developed world is exempt from this logic. Somehow, we'll dispense with this pesky manufacturing economic sector, and when someone wants a "real" high-end manufactured system/product, they will end up purchasing it from these same developed world economies. We're VMS'ing ourselves to our detriment, and the developing nations are laughing all the way to the bank.
There is so much embedded knowledge that I've seen played out over and over again in different economic sectors in my paths consulting across different industries that I no longer buy this line of argument. Anyone who believes this must first prove to the disinterested observer/reader that the "low-end" they say is no longer needed is hermetically packaged to automation levels with no loss of institutional knowledge on all fronts of quality, step-wise improvements leading to innovations, environmental impact, etc.,..., in which case, we should simply automate it ourselves and retain the embedded wealth represented in that knowledge.
And what if the gnosis is essentially wrong? It usually is; it's just not wrong enough to kill the firm outright. Humans consider themselves to be parasites when they can.
This is like saying "DNA is great for interchanging phenotypes between different locations".
I think that the missing piece as to why it's universal is that Linux was better than DOS, not VMS. You kind-of, sort-of had to have a VAX to run VMS. Your desktop 386 could run SCO.
It's ... useable ( but of low useability ) so the Windows API doomed Linux to success.
VMS had amazing support for terminal servers, so that each terminal user could choose among several connected computers. Terminal I/O was almost completely offloaded: it was common for other users to get delays and random short freezes, but VMS terminal users had smooth responsive I/O all the time.
DEC mandated the Common Language Environment, something like the C library calling convention but much better thought out and specified. It was totally normal to write an application in two or three languages because you felt that each language had advantages for that part. Every compiler and interpreter knew how to call functions from the CLE and export their own.
I recall that you could press Ctrl-T and it would instantly echo back some useful information about the running process, like CPU time and page faults. That was a nifty feature.
I loved VMS. Everything was so coherent, whereas Unix looked like it was hacked together overnight by a bunch of people who never talked to each other. These days, I like Unix, but back in the 80s, I only tolerated it.
VMS had early clustering technology, but that got added to TruCluster.
"The /VERSION_LIMIT qualifier for the CREATE/DIRECTORY, SET DIRECTORY, and SET FILE commands lets you control the number of versions of a file. If you exceed the version limit, the system automatically purges the lowest version file in excess of the limit. For example, if the version limit is 5 and you create the sixth version of a file (ACCOUNTS.DAT;6), the system deletes the first version of the file (ACCOUNTS.DAT;1). To view the version limit on a file, enter the DIRECTORY/FULL command. The version limit is listed in the File attributes: field."
OpenVMS Manual http://h41379.www4.hpe.com/doc/731final/6489/6489pro_006.htm...
I thoroughly enjoyed using DCL (Digital Command Line -- the VMS shell) and VMS (with the wall of documentation, like http://www.pkl.net/~matt/photos/machines/tn/pict0157.jpg.htm...). It always felt structured and orderly, unlike UNIX systems, which are more "organic". :) (I love UNIX too!)
git checkout filename.c;2
Also, fast loosely coupled clusters, with distributed file systems and locking...back in the early 80's.
I tried googling--led to several different results for VMS.
- https://en.wikipedia.org/wiki/VAX
> It didn't seem like a very good idea for us to be keeping records from
> the inner sanctum of the corporation on a computer where most everybody
> had super-user privileges. A call to the PR guy convinced him of the
> wisdom of keeping such things on their own premises. And so the CEO's
> office bought a Unix system.
... and this is exactly how it works today with SaaS subscriptions, except root-privileged people don't even work at the same company and (frequently) aren't as capable as the folks at Bell Labs.Although it is a shame that for end users Unix is still nowhere near the top of any popularity metric.
The best software is the software users don't even realize is there, because it just works.
If somebody uses some hardware product (e.g. set top box) and doesn't know its Linux, then it's no big win for the Linux community.
And it's not just necessarily that users don't realize it's there because "it just works", either.
The set top box, for example, can be buggy or crappy but just not provide neither a way to dive in and fix it, nor branding related to Linux.
I have to disagree there. It may not be a marketing win, but that doesn't mean that there are no other benefits. The fact that the PlayStation 4 runs FreeBSD has resulted in a large number of improvements becoming available to us; whether Johnny knows that his games are running on a daemonic operating system is of very little relevance.
Is there a writeup of this anywhere? If stuff has been backported/upstreamed/whatever from the PS4 to the freeBSD kernel that would truly be living the dream!
Probably the most easily identifiable contributions are in LLVM; Sony is one of the largest contributors to that project, and it's entirely due to the PS4.
I've never seen someone refer to it like that before. Awesome.
wait, what?
Awesome.
However the most relevant computing devices for consumers are phones and tablets nowadays, not desktops. UNIX derivatives run almost all of them. Big success, I'd say.
UNIX derivatives are running most servers too and are making inroads into the Windows desktop. The outlook is good unless a new popular market suddenly open with no meaningful *nix presence in it.
I don't think anyone thought Linux to take over the office desktop by mass porting office applications but by moving them to the web. That shift is still happening.
For the non geek audience, it is a browser based OS. Google could base it in something else, and none of them would notice it.
That's still products from multiple vendors (Dell, HP, and Lenovo, Asus?, etc) narrowingly beating sales from a single vendor.
And that (a) in a year when the single vendor had stalled updating their product line, and (b) with the Chromebooks being much cheaper, and more mass market, offerings.
So this speaks more to the slow sales of Chromebooks during the previous years than some major breakthrough.
As for desktops, the market share still slowly creeps up. Desktop Linux has definitely graduated from "uber-nerd" to "power user" territory. Plenty of people I know who aren't particularly into Free Software, UNIX etc dual-boot Ubuntu.
No, Linux is.
http://kernelbook.sourceforge.net/pdf/ch-intro.pdf
Some devices run BSD derivatives, but I'd still hesitate to call those Unix vs derived from Unix.
That pdf btw has quite a few misconceptions about the history of UNIX.
The trademark UNIX® and its specification is (still) tightly controlled[1] and licensing and compliance was far too expensive for Linus to think about it for his tiny Linux-like OS. (A Linux distribution did recently get certified as UNIX® but that's a recent exception.)
There have been multiple lawsuits between different companies about what could be considered UNIX. The original Linux distribution was basically GNU (GNU is NOT UNIX) utilities wrapped around a deliberately non-UNIX kernel called Linux.
Back when people were trying to explain Linux to UNIX users, it was called "UNIX-like" or a UNIX® clone. Now that Linux has clearly eclipsed UNIX, even now no one really calls Linux, "UNIX" or vice-versa. They are very similar but they are different.
There is also another specification called POSIX. Even Windows NT had a POSIX-compliant layer for a while, and Services for UNIX had some licensed IP, but no one would claim that Windows NT was UNIX.
See also Lisivka's comments [2] further down: Linux is not UNIX.
See also the Single UNIX Specification[3].
1. http://www.opengroup.org/subjectareas/platform/unix
"I think the Linux phenomenon is quite delightful, because it draws so strongly on the basis that Unix provided. Linux seems to be among the healthiest of the direct Unix derivatives, though there are also the various BSD systems as well as the more official offerings from the workstation and mainframe manufacturers."
K. Thompson is also using Linux. I think that's the ultimate testament to it being 'Unix', unless you want the trademark for marketing purposes, like Apple does.
Unix userland, not so much, outside the software engineering community.
*BSD, MacOS X, iOS are UNIX'es, see https://en.wikipedia.org/wiki/Darwin_(operating_system) .
So BSD is UNIX, but it contains no AT&T code today.
[1] http://www.nordier.com/v7x86/index.html [2] https://virtuallyfun.superglobalmegacorp.com/category/4-3-bs...
You probably meant Linux, not Unix. Unix is an entire class of operating systems, not a kernel. Nitpicking aside, the huge problem here is that popularity means nothing if the user is not aware of what he/she is using, so I would rephrase that as "the Linux kernel is hugely widespread ...". There is still a big problem though: Android is mostly closed, at least all vital device drivers are, so that you have no chances to build a working non Android environment on newer devices or patch old ones, move an installation from a device to a different one etc. Having a Linux kernel does not help in this context since all benefits the FOSS community infused into the system were stripped away. I would dare to say that telling people that Android contains a Linux kernel is even dangerous to the Linux image.
I'd say that doesn't matter at all.
The person running Internet Explorer or Microsoft Edge doesn't know they're using a VMS workalike/derivative/successor either.
Android apps can be run on GNU/Linux without emulation when required libraries and daemons are available (on compatible architecture, of course).
Android is all about Java and there is only a very thin subset of native APIs that are available, including POSIX ones.
https://developer.android.com/ndk/guides/stable_apis.html
Starting with Android 7, calling anything outside of that list will terminate the application.
Google could replace the kernel for something else, while keeping those NDK APIs and only OEMs writing drivers would notice.
And they're planning on doing precisely that with Fuchsia
Apple MacOS X is based on FreeBSD code (and lot of other code), and it certified as UNIX compatible, so MacOS X can be named as UNIX. iOS is based on MacOS X, so iOS is UNIX too.
The system as a whole is able to brand itself as UNIX compliant, though, because it complies with the Single UNIX Specification. That spec is concerned about userspace behavior, not kernel or implementation, and you don't have to include any actual UNIX source code to be able to brand your OS as a "UNIX" according to the spec and trademark guidelines.
BSD is a 'personality' layer.
Android phone's doesn't, as Linux is not technically a UNIX (doesn't derive from the original UNIX codebase in any way.
I don't think iOS is anything else than OS X with a different facade (Cocoa Touch, which for UNIX doesn't matter) and a few additional services. It has all the usual POSIX interfaces (and some of the userland) underneath. So even if it violates some models (e.g. with regards to user accounts), it's still the same codebase, heralding from the BSD years.
Is mac considered as a Unix? I think it'd be considered as its own thing by now.
https://unix.stackexchange.com/questions/1489/is-mac-os-x-un...
Man, is there any part of modern computing that doesn't have GLS's fingerprints on it?
Nothing quite like a double standard around here. The poster makes a valueless comment, I make a mild joke and the original poster is ignored.
P.S. I laughed at your response :-)
This is why Jobs was the visionary. "[L]ine numbers and vanity" are real-world problems with technical solutions. When you bridge technology into the real world, to create solutions in real lives, then you create value.
It's painful to consider that something like UNIX could be worthless, but it was worthless ... until it improved somebody's life. This is something I have not fully learned yet.
I wonder how many meeting minutes, price lists, product specs, supplier agreements, etc. etc. are currently sitting on Google's, Amazon's, Dropbox's servers now...
Just sayin'.