What is the Difference Between UNIX and Linux?

UNIX and Linux are two types of operating systems which can be quite similar from a user’s point of view, but are very different internally. The operating system (OS) kernels are structured differently and require different device drivers. Linux operating systems are often entirely open-source software while many UNIX implementations are not. UNIX and Linux are frequently used by businesses, governments and students for a large variety of computing tasks. They are also used in many hand-held devices such as cell phones, Personal Digital Assistants (PDAs) and netbook computers.

The original UNIX OS was developed at American Telephone and Telegraph Company (AT&T) in 1969. During the 1970s, AT&T licensed the OS and its source code to many commercial firms as well as the US government and educational institutions. Many variations have been developed outside of AT&T, in part due to reactions to the company’s increasing control and licensing fees. Some of these variants adhere more closely to the informal UNIX standards of the 1980s and 1990s than others. UNIX is a fairly broad term and is often attached to similar, but not standardized, versions of the OS.

The Berkeley Software Distribution (BSD) is a competing version of UNIX developed at the University of California, Berkeley. A free open-source variation called 386BSD was first released in 1992, one year after Linus Torvalds began writing the first Linux kernel. Most UNIX implementations are not open-source, which is a major difference between UNIX and Linux. UNIX is often sold with a quite restrictive license which includes a large fee assessed per user or per site. In contrast, Linux systems are usually distributed freely with source code under the liberal terms of the GNU General Public License (GPL).

The Linux OS was developed long after UNIX had matured. UNIX and Linux share many of the same concepts and the software tools included with each provide similar functionality. The design and implementation of the Linux kernel and other OS software is different from UNIX, however. Many of the utilities, compilers and editors developed by the GNU Project are distributed with the Linux OS. The goal of GNU is to produce and maintain a free software system compatible with UNIX, including a kernel.

The Linux kernel created by Torvalds, distributed under the terms of the GNU GPL, is the foundation of all Linux systems. It is generally smaller and more efficient than most UNIX kernels, designed from scratch to be very similar to UNIX. Device drivers, file systems and other OS internals are quite different, however. UNIX and Linux systems, therefore, require separate drivers for each device, as they are not compatible in that respect.
User interfaces are frequently different between UNIX and Linux systems as well. UNIX has traditionally used a text-based command-line interface which is also available with Linux. Many developers have created full-featured graphical user interface (GUI) systems for Linux, some of which have also been ported to UNIX.
Linux kernels, GNU utilities and related free software are continually supported and enhanced by a large open-source development community. In contrast, each version of UNIX tends to have its own small, specialized group of developers, most of whom work for a particular UNIX vendor. UNIX support is often available only through a paid support arrangement with the vendor or a third party.