All About Linux 2008: Aren't UNIX and Linux the same thing? Yes and no.

unixlinux

The “What’s the difference between UNIX and Linux?” question can be answered similar to the analogy section that many of us had to complete on the SAT test;

UNIX is to DOS as Linux is to Windows.

That’s a grossly oversimplified answer to a complex question and I’ll no doubt get flamed by some of the more advanced UNIX and/or Linux users out there but in the interest of keeping things simple, let’s go with the above italicized sentence.

If you’re no more interested in the differences between UNIX and Linux, then the simple UNIX is to DOS as Linux is to Windows phrase should be enough to keep you from getting knifed at a LAN party. It saved my ass back in ’99 but that’s another story for another time. Let’s just say that BSD, Bawls, and 21-inch CRT monitors don’t mix.

A Little History

Which came first? UNIX came first. UNIX came way first. It was developed back in 1969 by AT&T employees working at Bell Labs. Linux came about in either 1983 or 1984 or 1991, depending upon who’s holding the knife. The GNU operating system was announced in 1983 by Richard Stallman and started in 1984, while the Linux kernel came about in 1991 courtesy of Linus Torvalds. Torvalds lent his first name to Linux by swiftly and deftly replacing the S with an X, so it could be argued that Linux, proper, was officially born in the early nineties.

Can UNIX stand on its own without Linux? Yes. Can Linux stand on its own without UNIX? Not really — although I’m sure it could be argued differently much in the same way that Windows doesn’t actually rely on DOS anymore even though DOS provided the initial foundation for Windows.

Ownership

Who “owns” each name?

The UNIX trademark is currently owned by The Open Group, which is made up of members from a bunch of different companies like HP, IBM, NEC, Hitachi, Fujitsu, and even the US Department of Defense and NASA. The group exists mostly to enforce standards. Systems that pass can be called UNIX, systems that don’t can be called UNIX-like or UNIX system-like. Linux is a UNIX-like operating system.

The Linux trademark is owned by Linus Torvalds. Companies that use the term “Linux” for commercial distributions are apparently supposed to pay him a yearly licensing fee between $200 and $5000 for use of the name but there’s some dissension as to whether or not they actually pony up. Apparently Red Hat doesn’t pay the license (as of 2005) but companies like Novell do pay. The Linux kernel itself is licensed under the GNU General Public License.

Flavors

Linux has hundreds of different distributions. UNIX has variants (Linux is actually a UNIX variant based somewhat on Minix, which is a UNIX variant) but the proper versions of the UNIX system are much smaller in number. Mac OS X Leopard is built upon UNIX code and certified under the Single UNIX Specification, which is “the collective name of a family of standards for computer operating systems to qualify for the name ‘Unix'”, according to Wikipedia.

Hardware and Cost

Linux can run on “regular” off-the-shelf computers. UNIX-based systems generally require proprietary hardware configurations and can cost thousands of dollars. As such, most people have tinkered with Linux while few have tried UNIX (although when you get into using the Linux command line, it’s very similar to UNIX).

Most Linux applications are available for free, while UNIX applications generally cost money. Linux is much more mainstream now than it used to be, so the line between what UNIX can do versus what Linux can do gets blurrier all the time. Most IT managers would have a hard time selling UNIX over Linux.

Other Differences?

I’m sure there are many of you out there who know a lot about the differences between Linux and UNIX, so please feel free to leave a comment below if I’m missing something important or I haven’t covered something accurately (see below).

[UPDATE] Here are some corrections I’ve gotten from our readers. Thanks to those of you who have left constructive and insightful comments. I’ve filtered out the parts about my inability to cohesively grasp all of the available information, but your comments — even the aggressive ones, provided they also contain some sort of helpful information — are warranted and appreciated because I’ll be the first to admit that I’m definitely not an expert when it comes to this stuff. This is a big, unwieldy concept for a lot of people and I want to make sure to get things straight, so thanks again for the help.

Comments from this post

Linux is no more a ‘variant’ of unix then toyota is a ‘variant’ of ford. Strictly speaking, linux is a clone of unix.. Just as the toyota could be called a ‘clone’ of ford (in other words ford came up with the model a, and toyota used that basic idea in the future, as in the design architechure). Linux isn’t even strictly a unix clone.. Its a kernel clone of minix, while gnu tools are clone’s of unix tools that run on top of linux.

Actually, no, that is not correct. If you read Linus’s biography, he is clear that he thought very little of Minix… The Minix kernel is based on a micro kernel design while the Linux kernel is based on a monolithic design. They are two very different animals.

First, Linux is not a variant of UNIX in any sense. Variants of UNIX all grew out of the UNIX code base. The Linux kernel was a ground up, clean implementation of the UNIX api, with plenty of rethinking and redesign along the way. The Linux userland is primarily GNU. GNU = Gnu’s Not UNIX (meaning is doesn’t use any of the UNIX codebase). While Linux is very UNIX-like, it is not UNIX.

Second, to say that Linux could not stand on its own with UNIX is false. There isn’t any UNIX to remove from Linux. If your point is that Linux resembles UNIX, well, yes it does. If your point is that Linux is a derivative of UNIX, no it isn’t.

You state: “Mac OS X Leopard is built upon UNIX code.”

Actually, Mac OS X Leopard is built upon the BSD code base (with a little GNU thrown in here and there). While it is true that BSD was originally based on the UNIX code base, the BSD developers replaced all the original UNIX code long before Apple based its OS on BSD. Therefore, it is incorrect to state that Mac OS X Leopard is based on UNIX code as it does not include any UNIX code.

You’re missing the fact that there’s a difference between Unix, and UNIX®.

UNIX® is a registered trademark owned and enforced. For something to be UNIX® it has to pass a barrage of compatibility tests. For instance, Mac OS X 10.5 is UNIX®.

The Unix community uses Unix (not all-caps) to refer to the family of operating systems descended from v7 Unix at Bell Labs. That includes the commercial Unixes descended through AT&T System V (SYSV), and the mostly non-commercial Unixes descended through BSD.

What complicates the picture is the question of what it really means for something to be based on something else. Saying it needs to have code from it doesn’t really work, as there’s very little v7 code left in OS X.

In the case of Unix, the best guideline for whether something is Unix or not is POSIX compliance. Both SYSV and BSD are moving towards the same POSIX standards for everything. Since Linux and Minix are too, and since they’re both modeled on the core Unix design elements from v7, it makes sense to say that they are Unix, even if they aren’t UNIX®–just like FreeBSD is Unix, even though it isn’t UNIX®.

Comments from Digg

IMO that analogy isn’t accurate enough. There are many flavours of UNIX, some arguable much better. These include Solaris and System V. No one uses DOS anymore i
n a corporate environment but many people still use UNIX. UNIX has a GUI FYI!

Unix is an operating System start was written in 1969. Just like most people say an operating system comprises of a Kernel and some user based tools, Unix consists of a kernel and some simple tools like sh (shell) and cc (c compiler). Then Stallman wanted Free Software so he started to replace all the UNIX tools with free alternatives starting with these userland tools. Those replacements included gcc (GNU C Compiler) and BASH (Bourne Again Shell). These tools were written for the UNIX Kernel. Then Linux, not acting as a part of the GNU team wrote Linux, a replacement for the UNIX kernel. Then people who wanted a free UNIX ran the GNU tools and the Linux Kernel to create a complete OS replacement.

History aside it’s worth noting that UNIX is still here and the GNU toolkit still runs against it. Nexenta (http://www.nexenta.org/os) is a flavour of UNIX that looks and feels just like Ubuntu. It has a copy of X, a copy of gnome, the GNU C Compiler but has a kernel based on Solaris (which is a version of Unix).

I think this pretty picture does the history much more justice: http://www.netneurotic.net/mac/unix/images/UNIX.pn …

If I was writing an article to submit to digg however (rather than just a comment) I would have provided references for my material.

Linux isn’t a unix-variant it’s unix-like. It’s just a kernel that uses GNU which stands for Gnu’s Not Unix.