Learning the differences of how to use the terminology Unix vs Linux is a great way to start a flame war. Some people consider these issues to be extremely important from a political standpoint. New users will certainly want some primer to go by, so it’s safe to say that Unix is a family of operating systems that were originally intended for use by the Bell System. Linux is an operating system kernel that, when combined with other software as a Linux distribution, acts as a Unix clone. It’s fair to say that Unix is an operating system and GNU/Linux is a Unix-like operating system. If you’d like the specifics on the difference between Unix and Linux, then read on.
The Original Unix
Age is certainly one of the biggest differences between Unix and Linux. The original Unix operating system was supposed to be a platform that different programmers working on software could develop on and bring their code to whatever systems users were more used to working on. Development began in 1969, and since that time many other forms of Unix have been developed.
The Open Group currently holds the trademark to UNIX, which is written in all upper case letters when used as a trademark. They’ve proposed a standard called the Single UNIX Specification (SUS), which sets certain standards that operating systems must follow if they’re to be classified as a true UNIX implementation.
Unix philosophy dictates most of these standards. Data is often stored in plain text that’s distributed throughout a hierarchical file system. Everything is classed as a file, so even devices attached to the computer are treated as files. Numerous software tools are offered to an operator, who can string commands together through the command line using pipes. All of these design choices help an operating system adhere to the Single UNIX Specification.
GNU/Linux Enters the Scene
Dennis Ritchie rewrote almost the entire Unix operating system in the C programming language in 1973. This made it comparatively easy to port the operating system to different computer platforms. Push the clock forward to 1991, where a University of Helsinki student named Linus Torvalds got frustrated with the educational license of another operating system built on Unix technology called MINIX and started to write what became the Linux kernel. While he wanted to call his creation Freax, people began to call it Linux after Linus and Unix.
Technically, though, Linux is merely a Unix-like kernel and not a complete operating system. The Free Software Foundation prefers the term GNU/Linux since much of the operating system comes from the GNU Project. Richard Stallman began cloning Unix while he worked at the AI lab at MIT. He publicly announced Project GNU, which is a recursive acronym that stands for GNU’s Not Unix, on September 27, 1983. Naturally, this was well before Linus Torvalds began working on what became Linux.
Stallman believed so strongly in his project that he quit his job so that the AI lab wouldn’t interfere with the release of GNU. He later founded the Free Software Foundation. Since so many of the tools in Linux, including the GCC compiler and the bash shell, come from the GNU Project, it’s probably more accurate to say GNU/Linux than merely Linux.
The gnu animal is an actual animal too, which Stallman used as a mascot because the name is pronounced the same. Many people refer to the actual animal not as a gnu but instead as a wildebeest.
Linux has it’s own animal mascot as well like the gnu animal, which is a penguin by the name of Tux.
How BSD Fits In
When debating the issue of Unix vs Linux, you mustn’t forget about the huge role that BSD plays either. Berkeley Software Distribution (BSD) is a derivative of Unix that the University of California, Berkeley’s Computer Systems Research Group published from 1977-1995. The term BSD is now used to refer to many various descendants of this operating system, many of which are amongst the freest when it comes to Unix-like operating systems.
You may recall that the original Unix was developed at Bell Labs. In 1975, an engineer and original hacker named Ken Thompson took some time off at Bell Labs to lecture at Berkeley. He was working on an implementation of the Pascal programming language for Version 6 Unix and left a good deal of the code for other hackers to examine.
Bill Joy and Chuck Haley took Thompson’s Pascal code and wrote an improved text editor that they called ex. Joy also coded the vi text editor early on. BSD grew from these humble roots to become a very popular and stable operating system. That being said, modern BSD distributions actually incorporate many of the GNU tools as well. These tools aren’t specifically designed to work with any particular implementation of Unix or any Unix-like operating system, so hackers and coders have ported them to different platforms.
Portable Operating System Interface (POSIX) rules allow interoperability between different operating systems, and Richard Stallman suggested the name for these rules back in the 1980s. Almost all Unix implementations and Unix-like operating systems adhere to these standards to at least some degree. You can expect an operating system listed as an official SUS version implementation of Unix to follow POSIX rules.
The irony is that very few versions of Linux and BSD ever even apply for the SUS qualifications, so The Open Group doesn’t generally make a habit of listing these as official versions of Unix. This is why many people prefer Unix-like, as an operating system like GNU/Linux isn’t Unix under the strictest sense. What might be surprising is the fact that macOS Sierra and the previous versions of Apple’s OS X platform actually are qualified as such. At this point, macOS has the highest installed base of any official Unix implementation. Popular server and industrial packages like Solaris are also official implementations of Unix.
Different Licenses for Unix vs Linux
The original Unix and some modern implementations like macOS and iOS have proprietary components that aren’t totally free. GNU/Linux is a free operating system, but it’s licensed under the GNU Public License. This means that derivative works have to be distributed under the same terms, thus making distributive versions of GNU/Linux also free software minus any proprietary non-free components added into the distribution. There also exists a family of extremely permissive free software licenses called the BSD licenses that impose only minimal restrictions. Unix-like operating systems that use these licenses don’t often have the same distribution terms that the GNU licenses do.