Tech History – UNIX

Version 7 Unix, the Research Unix ancestor of all modern Unix systems

If you have never heard of the UNIX operating system, I don’t think I am going too far when I say it’s the greatest operating system you’ve never heard of. And if you have heard of UNIX, you probably know how influential it has been across the tech environment.  Here is a brief history of UNIX and some of its most famous descendants.

The Beginnings

Ken Thompson (left) and Dennis Ritchie (right)
Ken Thompson (left) and Dennis Ritchie (right)

The story of UNIX starts in 1969, with Bell Labs withdrew from a project developing the MULTICS operating system with MIT and GE. Two of the researchers involved, Ken Thompson and Dennis Ritchie, liked the framework and ideology of MULTICS.  They started working on a less ambitious version. Naming their new operating system Unics, it soon evolved into the phonetic UNIX. Ritchie was quite busy during this time, as he also developed the C programming language, of which UNIX was re-written with in 1973.

The initial distribution model for UNIX was to licence UNIX to educational facilities, and through the 1970’s and into the 80’s UNIX could be found at many universities.  As a result, UNIX became the operating system of choice as those university graduates entered into commercial roles. Companies such as HP, Sun Microsystems, IBM and Microsoft developed robust UNIX operating systems, praised for its security and stability. However this diversification became a problem – each company wanted to differentiate itself from the rest of the competition while simultaneously protect it’s patents. This resulted in programs that would run on one flavour of UNIX but not others, even though they were all UNIX operating systems.

Free and Freedom

Richard Stallman
Richard Stallman

By 1983, this segregation of UNIX inspired Richard Stallman to create the GNU Project.  This was an effort to create software that was both free of charge and free of licencing restrictions. Stallman also mandated the release and easy access to the source code of the programs, the underlying human-readable text that gets converted into machine code the computer can run. To facilitate this, Stallman wrote the GNU General Public License in 1989, to enforce the reciprocal re-distribution of source code, even on derivative works. This ensured that any modifications to the original code could be inserted back into the official release, creating a “survival of the fittest” environment for secure, efficient and operational code.

Stallman’s goal was to create a complete UNIX-like operating system using nothing but free software. To do this, Stallman created the Free Software Foundation (FSF), and he (and a growing band of volunteers) started writing various computer tools from scratch. The first piece of software released by the FSF was GNU Emacs, a text editor. GNU Emacs introduced more features than existing text editors on UNIX at the time, and soon became the de facto standard across UNIX systems. This established a high level of quality, which other GNU software has been able to maintain. As such, GNU software is widely used in UNIX environments.  The fact it is free of charge is sometimes seen as a bonus.

Stallman’s Ideology

At the centre of Stallman’s ideology was the need for freedom in software. If you have a piece of software, and you have the appropriate knowledge, you should be able to modify the software to suit your needs. If the source code is not available, or if you are unable to distribute your changes so others can build off your work, freedom is not possible – you have given up some of your freedoms. Stallman’s unwavering dedication to this ideology has put him at odds with some people, including some within the free software environment who are more pragmatic. However, without this dedication, free software would not be where it is today, and Stallman is owed a great debt of gratitude.

Enter The Penguin

Linus Torvalds
Linus Torvalds

As the GNU Project continued, many pieces of software were released under the GNU GPL, all of professional standard. The part that was missing from Stallman’s dream of a completely free UNIX operating system was the kernel, the central part of the system that drew in all of these applications together. Linus Torvalds, a Finnish computer science student and independent of FSF, wrote a UNIX kernel influenced by an educational operating system called MINIX (developed by Andrew Tanenbaum). He released his fledgling kernel via FTP and announced it with a post on the internet:

Hello everybody out there using minix -
 
 I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things).
 
 I've currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I'll get something practical within a few months, and I'd like to know what features most people would want. Any suggestions are welcome, but I won't promise I'll implement them :-)
 
 Linus (torvalds@kruuna.helsinki.fi)
 PS. Yes - it's free of any minix code, and it has a multi-threaded fs. It is NOT portable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that's all I have :-(.

As Torvalds only release the kernel, it needed other tools to be used – for example, a compiler to convert the source code to machine code, and a text editor to view and edit the source code. Torvalds used GNU software for these tasks, and the licensing of these products influenced his own licensing structure. Originally Torvalds created his own licence (mainly around restricting commercial release) but eventually using the GNU GPL. In 1997, Torvalds was quoted as saying:

Making Linux GPL'd was definitely the best thing I ever did.

Distributing Freedoms

With Torvalds working on the Linux kernel, and Stallman working on GNU software, users were left on their own to create a working operating system out of the pieces available. By December 1992, Yggdrasil was one of the first “distributions” of the operating system.  Essential components were bundled together by Yggdrasil and presented to make installation simpler. This contained the Linux kernel, a collection of GNU software and documentation. These initial distributions were important in the development of Linux.  People began to think about how a Linux GNU operating system could be used.

Through the work of countless volunteers and some commercial donations, the Linux GNU system has thrived.  It runs professional quality and industry-leading software, and powers much of the internet. There are now hundreds (if not thousands) of Linux GNU operating systems, focusing on specialised environments.  These cover web servers, firewalls, education, desktop environments, scientific arenas and more. It also introduced the possible commercial opportunities to generate revenue from Linux GNU without breaching the GNU GPL.  Companies began publishing manuals and instructional books, providing support and servicing, consulting fees for system design and so on.

Beastie

While Linux development was going on, another project coming out of Berkeley, California was taking shape. FreeBSD has its heritage in Berkeley UNIX, also known as BSD, an official flavour of UNIX. As various changes were made to the original UNIX code, Berkeley sold these changes to people, but only if they held (or could obtain) a licence from AT&T for UNIX itself.

One of the most popular things people wanted from Berkeley was their networking code.  BSD spun out just the networking code as a separate piece of software and labelled as Net/1.  This was released under the BSD License, close but not quite the same as the GNU GPL. Berkeley started working through all of their UNIX software to remove more AT&T code, releasing Net/2 as an almost-complete operating system without AT&T code in 1991. This second release meant removing some files which contained AT&T code. These files were recreated from scratch when BSD was ported to the Intel 386 processor by two separate projects.  These projects were released as 386BSD and BSD/386 by the different groups. 386BSD was poorly maintained, so several 386BSD users formed their own version, and released FreeBSD in November 1993.

BSD/386 did not fare so well. BSD/386 was sold as a commercial product under the BSD Licence by Berkeley Software Design (BSDi), and thus gained the attention of AT&T. The law suit contended BSD/386 contained proprietary AT&T code, so development for BSD/386 stopped while the law suit continued. This also cast doubt on the legality of 386BSD and FreeBSD, so uptake of those operating systems also struggled. The law suit was resolved out of court in 1994.  However I think the episode left a sour taste in Berkeley’s mouth as BSD stopped soon after.  The last formal release of BSD UNIX was in 1995.

The Current State Of Play

I mentioned a couple of companies earlier who embraced UNIX.  Most of them are going strong, however the UNIX environment has certainly changed since the late 70’s and early 80’s. Richard Stallman and the Free Software Foundation are still very relevant today, as the quality of code and inspired licensing changed how programs could be developed, distributed and licensed. This, in turn, created an ideal environment for the Linux kernel to succeed. UNIX still has a place in the world, mainly running servers in large organisations such as banks, hospitals and telecommunication environments.  It would not be unusual to see some free software on those same servers.

HP

Their UNIX flavour, HP-UX, is still available for purchase on HP enterprise servers. HP also support Linux on both servers and workstations, offering a variety of distributions

Sun Microsystems

Sun started to open source its Solaris operating system in 2005.  They were acquired by Oracle in January 2010, and the OpenSolaris project was stopped in March that year.  Pretty much most of Sun’s software has now been re-branded as Oracle. Oracle do have a strong free software presence, though, maintaining Java, MySQL and VirtualBox. Oracle also have their own GNU Linux distribution, although it is mostly a rebranded Red Hat Enterprise Linux release.

IBM

IBM maintains its proprietary AIX flavour of UNIX, as well as supporting Linux installations on its Power Systems servers.

Microsoft

Suprisingly, Microsoft persisted with a UNIX operating system called Xenix from 1978 to 1987.  Xenix was sold to the Santa Cruz Operation and publicly released as SCO UNIX. Microsoft also entered into an agreement with IBM to develop the OS/2 operating system.  They then left that partnership to develop the NT line of Microsoft operating systems. Microsoft currently support their Microsoft SQL system running on Linux, and there is limited support for interaction between Microsoft products and UNIX. There is no longer a specific UNIX operating system publicly available by Microsoft.

Linux is still very much in use, finding homes in all manner of traditional computers.  It is also popular in phones, televisions and other Internet of Things devices. Android, the popular phone operating system, is based on a heavily modified Linux kernel.

FreeBSD continues to this day, as does several forks – NetBSD and OpenBSD being the more well-known examples.  However BSD variants are not the only  survivors of the original BSD UNIX.  macOS is derived from NeXTSTEP, which itself is derived from BSD and another kernel called Mach (originally created as a replacement kernel for BSD systems).

Background and sources

Information from this articles comes from Glyn Moody’s excellent book Rebel Code: Linux and the Open Source Revolution, or it comes from various articles on independent and/or official sites. Due to conflicting or contrary reports, all information expressed here is the best information I can ascertain.  Because of this, and because of changing environments, there may be errors. This is an extremely brief introduction into the timeline of UNIX, so further investigation is encouraged. All images come from Wikipedia.