One of my recent videos was on the topic of a cheap webcam with a tiny Unix server inside. If hardware hacking interests you, check it out when you get a chance. Anyway, a couple of folks commented on the video to inform me that Linux isn’t Unix. Let’s talk about that.
Hey guys, it’s Josh from the WL Tech Blog. This is the first of a new category of videos I’m going to call Data Dump. I hope you’ll find the videos here informative or at least entertaining.
So what’s the deal with Linux and Unix? Let’s look at how they both came about.
Unix development officially began in 1969 at Bell Labs, as a combined effort of Ken Thompson, Dennis Richie, and others. Bell Labs was previously working on an operating system called Multics, and Unix was almost a protest project against the poor design of that. The goal was to provide a base operating system for a single developer to build and run their own software. Richie had created the C programming language a few years before, and Unix was written with C programs in mind.
By 1974, Unix itself had been rewritten almost entirely in C. You still needed some machine specific assembly to boot and handle some hardware tasks, but the majority of the kernel, libraries, and userland software was now C. It also turned out that the single user model they built was easily expanded into a multi-user, multi-tasking system. It was quickly ported to other platforms, and popularity exploded.
By 1990 or so, there were dozens of vendors selling Unix servers, and it represented the thick middle section of servers that needed more power than DOS or CP/M but less than a million dollar mainframe.
But that was a problem for a Finnish college student who found Microsoft’s DOS to be too primitive and limiting, but couldn’t afford to buy a license to an expensive commercial operating system for his 386 cpu. Only a few choices existed for the 386 at the time, including Andrew Tannenbaum’s Minix, but it was licensed only for educational use. Using the limited documentation available at the time, Linus Torvalds would start his own project to provide a basic Unix-like system and announced it to the world in September of 1991.
That project would lean heavily on Richard Stallman’s GNU, which itself began back in 1983 when Richard was frustrated by proprietary code that couldn’t be studied, modified, or improved. The GNU project built an entire Unix-like userland, along with compilers for popular languages and libraries you could leverage to easily build software from proprietary Unix systems. GNU became massively popular as an alternative userland on those proprietary Unix platforms, but in 1991 was still an operating system without its own kernel.
Well it turned out that Linus wasn’t the only one who wanted a powerful Unix system they could freely study, modify, and improve. Linus adopted the GNU Public License which gave developers and users the freedom to participate in ways that the proprietary vendors wouldn’t allow, and folks started contributing code to add support for their own peripherals along with bug fixes and other improvements. The idea of being a participant rather than a customer was very attractive, and it wasn’t long before LInux could run fine on basically any 386 computer. That momentum carries on today where there are hundreds of Linux distributions available with a variety of goals in mind.
Now you probably noticed that there was no direct connection between Linux and Unix outside of inspiration and documentation for compatibility. This would become a major point in the early 2000s when SCO would file a lawsuit claiming that they were the only legal owners of the Unix operating system copyrights, and that IBM had inappropriately added Unix code into Linux. They went full Dr Evil and wanted one Billion Dollars for this. At this time, the ownership of Unix was messy. During the development of Research Unix, AT&T, the owners of Bell Labs, was forbidden by a previous antitrust ruling from selling computing products, which had limited its reach to academia. In 1984 they divested Bell Labs and Unix quickly entered the commercial realm by licensing the code and name to other companies. The late 90s and early 2000s had a lot of movement, mergers and acquisitions of Unix vendors were happening frequently, and who owned what became a bit of a blur despite huge piles of money being moved around.
Ultimately the cases determined that Linux did not contain any Unix code, and that Novel was actually the rightful owner of the unix copyrights.
That brings us back to one of the original questions, what’s the difference? The Unix name, being a copyrighted and licensed operating system, surely is reserved for license holders and otherwise legal direct descendants of the Bell Labs operating system, right? Crystal clear.
Enter the Single Unix Specification. This was essentially a set of compliance and compatibility tests that allowed passing operating systems to use the Unix trademark. Linux operating systems could relatively trivially be prepared to conform to his specification, an out of the box distribution with a few obscure required utilities is about all it would take to be compliant. Only a few commercial Unix vendors actually registered their compliance however, none of which were Linux distributions.
Now lets jump back to the popularity of Unix. For all intents and purposes, Unix and unix-like operating systems have powered the Internet since its earliest days, and continue to do so. But lets look more closely at those commercial vendors.
Back in 1978, Berkeley took Research Unix and created Berkeley Unix, later BSD, from it. BSD became the basis of several commercial offerings from vendors like Sun, DEC, and others. In 1989, BSD had removed all original AT&T owned code and became an open source project, and the basis of FreeBSD and its derivatives, apple’s MacOS X, and even large parts of Microsoft’s Windows and the foundation of many home gaming consoles. It is fair to point out that all of the earlier commercial derivatives that included at&t code are discontinued products.
A few others licensed Unix directly from AT&T, including IBM’s AIX and Microsoft’s XENIX. Xenix would later be acquired by SCO and renamed to OpenUnix, which hasn’t seen an update since 2018.
AT&T would later release SVR4, or unix system 5 release 4, which would become the basis for the next generation of commercial Unix. Sun would replace SunOS with Solaris, and the list of vendors would include Atari, Amiga, Hitachi, HP, SGI, Sony, and many others.
Now it’s 2023 and the field is littered with the bodies of Unix operating systems. SCO Open Unix – dead. SGI Irix – dead and gone. DEC and later HP’s Tru64 Unix – dead and gone. HP’s own HP-UX – dead but not buried until the end of 2025. Oracle’s Solaris – almost dead, with the development team shrunk to mostly a support staff. The list goes on but the names become increasingly obscure… Much quicker to list the names of actively developed Unix vendors with direct ancestry or registered single unix specification compliance – Apple’s MacOS, IBM’s AIX which this year was moved to their Indian subsidiary, and IBM’s Z/OS.
So what happened? A few vendors just stopped performing in the market and found something else to do. A few were bought by their competitors and were redundant. The most nefarious on my mind looks a lot like a conspiracy between Intel and HP, where the disaster knows as Itanium convinced HP, SGI, and others to abandon their own processor lines and jump to Intel’s little engine that couldn’t. Itanium sucked, and now we no longer have Mips, Alpha, PA-ISCc, and others. More on that in another video though.
You also had increasing competition from Microsoft, as their NT based systems, which included a lot of BSD code, took them from completely unusable to just terrible, or lately possibly even just pretty bad.
But let’s not kid ourselves here. Windows doesn’t run the internet in 202, Linux does.
Want to buy a Unix system from IBM? Well they own Red Hat Linux, you’ll want to get that. Want to buy a Unix system from Oracle? Oracle Unbreakable Linux. Want to buy a Unix system from HP? SuSE or Red Hat.
What’s the difference between Unix and Linux? Linux isn’t dead.
Sure, MacOS has a nice desktop presence and can claim Unix-ness. The family of open source BSD systems is pretty active but a fraction of the popularity of Linux. Linux took the Unix concept and pushed it to dominate the top supercomputers of the world. It took that same concept and pushed it to embedded microprocessors in televisions, mobile phones, appliances, and other industrial and consumer electronics.
So Linux won the Unix wars, despite maybe not being Unix at all, right? Clear as glass.
A few years ago it came to light that Intel has been quietly including Minix in their “intel management engine” technology that is in practically every processor they’ve made since 2006. Andrew Tannenbaum had relicensed his software in 2000 to a BSD open source license and was surprised to learn that it inadvertently became the most popular operating system in the world.
Well that’s it for this video. I hope you learned something, or at least enjoyed listening. If you’ve got any questions or comments, please put them down below. I’m sure I got a few details not quite right. Make sure to subscribe for more videos like this, and if you’re into stuff like hardware hacking, electronics projects, and operating systems, check us out at the Hackers Homestead discord channel, the link is in the description.
See you next time!