This is a very complex subject, and one I particularly enjoy talking about. You asked for it so here goes. Brace yourselves kids, here comes the history lesson by Uncle Joe.
Short answer
There are many different operating systems that can claim to be called "Unix". Linux is one of them.
This diagram will give you an overview.
Linux itself comes in
many different variants.
Long version
Disclaimer: What I say here comes from countless hours of reading up on the subject. However I am by no means an expert on the matter so some of the things I expose here are approximate at best, if not plain wrong. I hope that the complexity of the matter will excuse the various inaccuracies in my text.
To answer your question I will expose some of the history of how Unix became what it is today, the world most used and most influential operating system (despite what Microsoft loves to claim). I will then present some of the most widespread Unices available today, and finally a small subjective guide on how to pick the Unix that suits you.
The beginning at Bell Labs
The current definition of what is Unix is a bit hazy and it was created in Bell Labs, the research laboratories of AT&T in 1969. It started as an experiment for time-sharing systems (understand computers running multiple instance of a program at the same time. Something we take for granted today). Later on it played a very
important role in the advent of
portable software (the same software running on multiple machines), mainly by introducing the "higher level" C language. Before I move on, I feel I should mention the names of some of its creators. If you had to remember just a few names, it would be Dennis Ritchie, Ken Thompson, Brian Kernighan and Rob Pike.
Unix quickly took over the lab and soon after AT&T, the mother company, took interest. Due to obscure legal mumbo jumbo, it was not allowed to sell Unix (the way Microsoft sells Windows), instead it could sell the
source code for Unix. This ultimately lead to the software being cloned, forked, copied, re-written from scratch over and over again until we reach the situation today where "Unix" means a very wide variety of operating systems, all of which are more or less the grandchildren of the software born at Bell Labs.
As you can imagine this history is also tainted with a plethora of lawsuits and legal battles. I will widely avoid talking about these topics, mainly because I don't understand legal matters, but also because for the most part, every person claiming ownership over Unix lost in court. Today there's a small body that has trademark ownership over the term Unix(tm) but nobody cares about that.
The Berkeley Software Distribution
AT&T made it cheap for universities and academic institutions to get Unix. The university of California Berkeley took a very special interest in it and went on to play a major role in the development. Students and researcher in Berkeley started improving Unix and adding all sorts of features. They created the Berkeley Software Distribution, a bundle of "add-ons" to standard Unix. Those addons were not negligible including things like TCP/IP stack or the vi text editor (probably the first interactive text editor ever). Note that a lot of the work at Berkeley was funded by DARPA, the research branch of the Department of Defense of the US government.
By the early 1990s, BSD had re-written all of Unix from scratch, but the project was not going out of research labs. Some students were interested in the emerging platform that Intel had created for personal computers, the 386 platform. They created a clone of BSD, called 386BSD. This new software was a revolution, allowing
students to run Unix on their home computers, instead of those huge computers in the lab. Linux, we'll discuss it later, was doing the same thing at the same time.
386BSD was slow to evolve and soon various tensions appeared between big actors of the project. By the mid nineties they had split up into three major projects:
- FreeBSD: A server operating system that got very famous in the web server field. Yahoo! in particular, the biggest name of the wen in the late nineties made extensive use of this OS for their platform.
- OpenBSD: Created by the strong-headed Theo de Raadt, this project puts security as their top priority, taking pride by having discovered only 2 security flaws in their history. It naturally led it to be used a lot in the network equipment like routers for example.
- NetBSD: This project has put a very high emphasis on portability. It runs on every platform imaginable, it even runs on a toaster!
Recently forks of these projects like DragonflyBSD or PC-BSD are trying to make a desktop OS out of the BSD.
Solaris
One of the Berkeley students working on BSD, probably the most famous one, was called Bill Joy. After graduating, he went on to found Sun Microsystems in the early 80s, an exciting company selling hardware and software equipment for enterprises. The most famous projects created by Sun are the Java platform, the SPARC architecture, the MySQL database and Open Office. This whole stack needed an operating system, something Joy knew just too well. Based on his past experience with BSD, he created Solaris.
Solaris is clearly meant for enterprise work. A high number of medium-to-large size corporations use it internally for their applications. My own job consists of administrating a financial application running on top of a Solaris stack. If the history of Solaris is not very influential in the Unix world, its commercial success makes it one of the most widely available today. A few things to note:
- Solaris is only sold bundled with the (highly expensive) SPARC hardware. You won't find it outside of corporations.
- Solaris famous for being highly scalable and having innovated in fields like file systems (they created ZFS and the distributed NFS) as well as advanced sysadmin tools (dtrace's precision is unmatched).
- Sun has been bought by Oracle in 2010.
- There are open source clones of Solaris. OpenSolaris was a great example until Oracle shut it down. You can still find equivalents in Open Indiana or Illumos.
- The most direct competition to Solaris comes from HP-UX, a Unix clone made by HP, and AIX, and IBM product.
Mac OS X
In 1985, Steve Jobs resigned from Apple the company he had founded, and went on to create NEXT. This new company also created and sold computers (workstations. Think of them as high powered desktops with special purposes like scientific calculations). Next workstations were running their own operating system, called Nextstep.
Nexstep was a Unix-clone deeply rooted in BSD. A few years later, Apple goes crying back to Jobs, he takes back control and turns it into the biggest success story, yada yada yada. The first thing Jobs did (okay maybe not the first thing), was to buy Next, the company he had founded. Nextstep was turned into Mac OS X and the rest as they say is history.
Mac OS X is definitely the most popular Unix on the desktop market. There are many analysis of what made it popular where countless others have failed. The most interesting one states this: Each Unix clone has their own quirks and idiosyncracies, but they all sticked to a few "core" principles. MacOSX threw most of it out and
completely redesigned their software. They even changed the sacred saint names of root directories.
As a result Mac OS X is a very poor clone of Unix. Don't get me wrong, making a poor clone was probably the exact idea they needed to conquer the desktop market. But if you are interested in learning Unix and/or interacting with other Unix systems, then Mac OS X is not the best choice. Again, this is my own opinion, but in all honesty I would love to be proved wrong.
Linux
In order to understand what Linux is we have to look closer at the definition of operating systems. The term "operating systems" is one of those terms that lost its meaning over the ages. You can blame marketing departments of major vendors and poor journalists in mass media for that.
Originally, an operating system is a software layer that does primarily 2 things: manage the access of the ressources across the different programs and manage the hardware. On top of that, you would find applications like text editors, music players and, well, file managers. In today's "modern" definition, an operating system is a useless bulky bundle of software that comes preinstalled at once on your machine. The old definition of OS is now referred to simply as the "kernel".
This is exactly what Linux is, a Unix kernel. It was written in 1991 by a finnish student at the University of Helsinki named Linus Torvalds. Unlike most other projects, Linux is just the kernel, not the applications running on top. Various different people started adding different applications on top of it for their own purposes. And they bundled the whole stack into one installable CD (historically it was more floppy disks). These became known as distributions.
Certain distributions like Ubuntu, Red Hat or SuSE are backed by companies making a business out of it. Others like Debian, Slackware or Gentoo are created by volunteers.Linux is very versatile, do to the existence of so many different distros filling so many niches. You'll find the appropriate distribution for virtually any task you can imagine.
Historically, Linux played a very important role in the dot-com bubble that happened late 1990s, when ISPs realized they could now afford having a running Unix system.
It is also worth noting that Linux is tightly linked to the Open Source movement, and has de facto become the flagship product of the movement.
Initially, I intended to present Android in a separate paragraph, but there isn't much to say. Android is a Linux distribution. In all fairness it ships a slightly modified version of the kernel, but a lot of vendors do. Also, ever since Ice Cream Sandwich, Android developers are working closely with Linux developers to merge their modification back in the main Linux source tree.
Android is quickly becoming the most successful Linux distribution of all time.
What Unix should I chose?
I will leave you with this small subjective paragraph, my own set of advice on which Unix flavor you should chose. The answer is simple: Whatever you chose, give it a try first! Ultimately, the only way of finding out if a Unix is right for you is to try it. Between Linux and BSD, both being freely available, you should be covering 99% of the general use cases you can encounter.
I cannot give you answers, but instead I can give you a list of questions to ask yourself each single time:
- Am I working on a special architecture (like installing Unix on your router) or general purpose desktop computing?
- Am I looking for a GUI (graphical user interface)?
- Do I want binary package management (a la Windows, but far more powerful) or source management (most powerful but a lot of work)?
- Is it a production server or a sandbox that you can corrupt at any time?
- Do I want the most robust system or the bleeding edge newest software?
You should also look into the following tips:
- Take a look at the project official web page and the official help channels (mailing lists, forums, mailing lists, ...)
- Do you know someone personally who is comfortable with a particular distribution?
- How difficult is it to get the install CD?
I already mentioned it, but if you want to learn more about Unix, stay away from Mac OS X. It is a great project on its own, but not the best way to learn Unix. If you come from a Mac environment, why not get a FreeBSD (the closest cousin) running inside a virtual machine?
Finally, a small mention goes to
distrowatch, a venerable website that keeps track of all the news in the Linux/BSD distribution world.
PS: It's getting late. I'll add more relevant links to the text later...