Linux a type of Unix?

Hello Level1techies. I’ve been taking a course in system administration and shell scripting. When reading through the course texts I keep seeing Linux referred to as a type of Unix, or as a family of Unix operating systems. From what I understand Linux has no lineage from Unix as it was built from the ground up with similarities making it more of a clone. And from a legal standpoint there is an official Unix certification. Some operating systems with Unix lineage such as FreeBSD don’t have this certification. Are the texts wrong to make this claim?

We were just talking about that in the lounge not long ago.


You’re right. Linux is not technically a UNIX kernel, but merely UNIX like. But because nobody cares about details people just call it UNIX.

Linux is not a UNIX. BSDs are, and since macOS shares code with that, it also is and even has certification AFAIK.

Linux implements POSIX which is a standard for OSes to follow so they can easily interoperate. Because of that, it behaves a lot like UNIX but still differs in a lot of ways.


Its not but it is. The same way reactos isn’t windows 2000 but it is.

GNU’s Not Unix. It’s called that for a reason.

They have lots of similarities but lots of differences. GNU (Linux) was made to be UNIX compatible and to be free/libre (UNIX was not), but not necessarily compatible bidirectionally.


Both the kernel and OS also diverge from POSIX though which is worth noting.

1 Like

Linux is Unix-like


As others have said, Linux is not strictly a Unix OS, but it is a Unix-like OS. From a historical/genealogical perspective, Linux does not descend from Unix. From a development perspective, Linux (and to a lesser degree, GNU) is mostly POSIX compliant. From a users perspective, using Linux is a nearly identical experience to using other Unix and Unix-like OS’s, the primary difference being what tools are available on each system

And historically, licensing. It’s the defining reason free software exists today.

Linux cannot be a Unix, only Unix like. For it to be classed as a Unix it would have had to contain deriviate works from Unix and meet copyright requirements to be a Unix.

Of course, there have been cases where companies have claimed that Linux does contain Unix copyrighted code and infridges their IP. The most famous one being SCO:–Linux_disputes

Also, and this is somewhat a point leaning on a legal technicality; only the Unix trademark holders get to decide what can actually be called Unix. Hence FreeBSD etc. do not call themselves Unix and only OS’ that meet set requirements can do so:

1 Like

Well yes, licensing would be a big difference from a development perspective. Not so much a users perspective.

(edit) I think I see what you mean. Historically, licensing prevented users from using the software in the first place leading to the necessity of a free alternative

Yes this is what I meant. But licensing was/is important from a user perspective. UNIX was closed, they couldn’t use is as users they way they wanted. Linux / GNU etc. came into existence because of that restriction. UNIX is ultimately a closed proprietary operating system. Linux is the opposite.

GNU (and later Linux) predated any open BSD OS by almost 15-20 years.

The simplest answer to the main question is GNUs Not UNIX. It isn’t a UNIX system, it isn’t UNIX compatible, it isn’t UNIX certified. You can only barely call it UNIX like because it was meant to be compatible with the hardware UNIX ran on.

It’s not even really a legal standpoint. There are only a handful of certified UNIX systems, any variant of BSD is not a UNIX certified system.

While some say Linux is UNIX like. BSD is actually UNIX like. Linux, not so much. BSD and Linux aren’t even POSIX compliant as much as many like to rave about POSIX.

I shall share this here :slight_smile:

Let the creators themselves explain it.


wow y’all really drew out a thread that has a yes/no answer

That’s what I said in my edit

And now finally, explained in excessive detail as part of the intro:

yall wanna get into how screwed up vmalloc and kill are on linux?


1 Like

see? that’s how you conclude a thread with a yes/no answer