Linux vs. Unix

Linux vs. Unix

Summary: the notion thatLinux isn't Unix and will replace it is the pervasive basisof Red Hat's destructive anti-Sun marketing strategy, the foundation of all kinds of uninformed Wall street behavior, and part of an Orwellian doublespeakresponse to the SCO lawsuit.

SHARE:
17
Back on September 12, fellow blogger Marc Wagner wrote a long rebuttal to my comment that the Linux community should stop trying to make Linux look like Windows and just let Linux be Linux. As part of that he first described Linux as "based upon UNIX" but then went on to distinguish Linux from Unix in the rest of his discussion.

Last week he sent me a personal comment about my "The better part of better, faster, cheaper," which I thought was so well written that I offered to send it to the editor for separate publication -because I'd failed to recognize that he already does blog with us. [Editor's note: Wagner's commentary is now published.] On the other hand, it again contained this canard about Linux not being Unix.

(Note that I'm not concerned with the legal issues surrounding the word "Unix" here, just with what the OS itself is and does.)

Now if you've ever used any other Unix, whether a current one like a BSD or Solaris or one of the dead and dying like HP-UX, you'll have noticed a great deal of surface similarity with Linux. In fact, it's pretty obvious that these all waddle and quack pretty much alike and that normal people would be well within their rights to conclude that things that look like ducks, waddle like ducks, and sound like ducks are pretty much likely to be ducks.

On the other hand the notion that Linux isn't Unix and will replace it is the pervasive basis of Red Hat's destructive anti-Sun marketing strategy, the foundation of all kinds of uninformed Wall street behavior, and part of an Orwellian doublespeak response to the SCO lawsuit.

The problem is that it's also wrong, and a community that lives a lie, becomes a lie.

Part of my first response to Marc therefore included this bit:

 

1 -Linux is Unix, True it's an entry level Unix, but Unix is Unix is Unix - Linux today being just about "just like" Sys VR4 a decade or so back.

2 -the Unix = RISC idea doesn't fly well either. Remember: the same x86 box that runs Linux will also run the BSDs and Solaris.

Part of his reply said:

 

It is a matter of point of view. SCO would claim that Linux is 'so UNIX' that it infringes on SVR4. Linus Torvalds would claim it is not UNIX at all.

But this isn't a matter of point of view, it's a matter of fact. To see that lets start at the beginning - with Torvalds hacking on the Minix kernel:

Here's how Eric Raymond, in The Cathedral & the Bazaar, describes the birth of Linux:

 

Linus Torvalds, for example, didn't actually try to write Linux from scratch. Instead, he started by reusing code and ideas from Minix, a tiny Unix-like operating system for PC clones. Eventually all the Minix code went away or was completely rewritten -- but while it was there, it provided scaffolding for the infant that would eventually become Linux....

Of course Marc says Torvalds would now say it isn't Unix, so what did Torvalds say before the SCO lawsuit? Here's what he told Glyn Moody in a 1997 interview for wired magazine:

 

In the summer of 1991 - just six months after he got his first PC - Linus found he needed to download some files. But before he could read and write to a disk, he recalls, "I had to write a disk driver. Then I had to write a file system so I could read the Minix file system in order to be able to write files and read files to upload them," he explains, as if it was the only reasonable thing to do. "When you have task-switching, a file-system, and device drivers, that's Unix" - or at least its kernel. Linux was born. "

Since that was consistent with other things he said at the time, we can conclude that Linux was intended to be both "a better minix than minix" and "a free Unix for the 386."

(The "better minix" comment, by the way, reflects the fact that the Linux kernel really started as a demonstration that using interupts in the kernel would provide sufficient efficiency gains on the x86 architecture to outweigh Tannenbaum's theoretical objections to their use in Minix as limiting both clarity and portability.)

So if Linux clearly started out to be Unix, what changed? bear in mind that Linux uses the same GNU utilities and open source applications Solaris and the BSDs do, so the only possibilities lie in the kernel's internals.

Max Brunning has just published A Comparison of Solaris, Linux, and FreeBSD Kernels on the Opensolaris.org website based on three key subsystems: scheduling, memory management, and files. So are the internals radically different? Here's part of his summary:

 

One of the more interesting aspects of the three OSes is the amount of similarities between them. Once you get past the different naming conventions, each OS takes fairly similar paths toward implementing the different concepts. Each OS supports time-shared scheduling of threads, demand paging with a not-recently-used page replacement algorithm, and a virtual file system layer to allow the implementation of different file system architectures. Ideas that originate in one OS often find their way into others. For instance, Linux also uses the concepts behind Solaris's slab memory allocator. Much of the terminology seen in the FreeBSD source is also present in Solaris.

The bottom line? Linux not only looks like a duck, waddles like a duck, quacks like a duck, wears duck feathers, and hatched from a duck egg, but it also has duck guts. In other words, it's a duck: every bit as much a part of the Unix development tradition as Solaris or the BSDs.

Topic: Operating Systems

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

17 comments
Log in or register to join the discussion
  • Linux is the spoon

    to UNIX's forks. Or maybe its a "spork" . . . ;)
    Roger Ramjet
  • A car is a car......

    they all have four wheels, and a means of transferring power to some or all of the wheels.
    Yet they all look different, so style has an important influence on the design. They are all operated with pedals and a steering wheel, but some go faster (and stop) faster than others.

    In the end, in spite of what henry ford managed to do in the early days of the car industry (create a car for the masses), most people like a choice of styling options. Operating systems have become the new vehicle, and it's nice to be able to drive different models with the same set of skills.

    With open source, at least you get to tinker under the hood, and stylize it even further.
    pesky_z
    • Any color

      I believe Henry Ford said:

      "I'll give you any color so long as it's black."

      With Linux you get colors.
      D T Schmitz
  • Mindset.

    Try a thought experiment.

    Let's say you are trying to teach someone who has never seen a computer, let alone code, how to program.

    You teach him concepts following your understanding of programming.

    Being an especially gifted student, he becomes capable of writing an operating system from scratch, inventing his own language along the way.

    When that operating system is complete, is it more likely to resemble Unix or Windows?

    I'd say Unix.

    Anthropologists can sometimes trace which of multiple centers was the source of an idea in a particular location. That's because small variations in thinking are taught and last almost no matter how the idea changes in time.
    (Particularly interesting in emphases in cosmology, but I don't want to get too far off topic.)

    In sum, anything created by someone with a Unix way of thinking is going to look enough like Unix that it can be classified as Unix.

    What you're asking is a teacher who thinks in terms of Windows, say, teaching someone who writes an operating system that looks like Unix.

    Very unlikely.

    Linux is in the Unix realm, but not a simplified form. A simple branch.
    Anton Philidor
    • No prizes for guessing your bias then.. eh?

      Tell me why anything should tend to resemble any one particular thing instead, of something popular and everyday (which Unix isn't by the way).
      Why shouldn't a program resemble something like we've never seen before in our lifetime? How come Xerox came up with their GUI stuff and it didn't resemble Unix? How come MS wrote Win3.1 and nobody gave them credit for this natural occurence (by your rationale), and instead accused them of copying Apples idea?
      Either way I'm sure someone will analyse the source code at some point and draw parallels. Unix ran on Motorola 68000 (if I remember correctly), MS-DOS on Intel 86x, & Windows on Intel 286/386 (predominantly in the early years); Maybe the truth will lie in the threading flows in the machine code. Should be interesting. There's no doubt Linux has added a new dimension, but that doesn't negate someone elses claim to part of the recognition etc.
      johnmckay
  • I agree

    If Unix programmers / admins can move to Linux without much difficulty and still recognize it as Unix, then it is Unix.

    Clearly, Linux is in the Unix programming domain, which is why it has posed the most threat to other Unix-domain OSes. For legal reasons, there is an interest in saying it's not Unix, but as you say, if it walks and quacks like a duck....
    John Carroll
    • If it walks and quacks like a duck...

      ... it can still be a previously undiscovered species of duck, or even a non-duck which has found safety in camouflaging itself as a duck.

      Linux is in the Unix domain, of course, but it's as much a separate line of development as birds are from dinosaurs. ( ;-) )
      Anton Philidor
      • Do platapuses quack?

        It sure LOOKS and WALKS like a Duck . . .
        Roger Ramjet
    • Not Quite Sure What You Expected

      GNU stands for GNU's Not Unix, the goal of which when founded, and still is, to create a Free Unix Like Operating System. Right from it's web page "The GNU Project was launched in 1984 to develop a complete UNIX like operating system which is free software" http://www.gnu.org/ . There is no secret there as they stated from the begining that was indeed the goal.

      Not to Mention this http://standards.ieee.org/regauth/posix/

      and this

      http://www.opengroup.org/onlinepubs/007908799/index.html

      That's right the Open Group, you know the owners of the Unix Trademark, has a specification posted on the internet to make... Gasp ... Unix!! They also sell, OMG, Unix test suites, to make sure your software complies with the specification.

      Anyhow have you considered that the reason why you can move from Solaris to Linux and see a lot of simularity is becuase they are both POSIX compliant systems? You know POSIX is an IEE Standard.

      BTW Linux is not Unix and wasn't even before SCO came along becuase the OpenGroup didn't certify it as a Unix, it would fail anyhow. OSX isn't Unix for the same reason.

      Finally Peter Salus Ph.D. the author of "A Quarter Century of UNIX" and many other books on Unix has a much more in depth and acurate history of Linux and Unix in his free book "The Daemon, the GNU & the Penguin"

      The book is serialized here: http://www.groklaw.net/staticpages/index.php?page=20051013231901859

      Although the first half of Chapter 20 is not yet posted on that page.

      I find it odd that many people claim there were Trade Secrets in Unix for IBM to disclose after;

      1. The Lions Book and other books on Unix
      2. The USL v. BSDi case and settlement http://www.groklaw.net/article.php?story=20041126130302760 (Got to love the CA Sunshine Laws as Berkley is Publicly funded we get to see this)
      3. The POSIX and Single Unix Specification was published (Version 2 was finalized in 1997)
      4. oldSCO Santa Cruz Operations Published the Source Code for Unix System V which is still available free of charge here http://public.planetmirror.com/pub/ancient-unix/

      After USL v BSDi and the settlement not much of any value is still under copyright.
      Edward Meyers
  • Quack

    Absolutely. Been saying it for years. The Linux kernel does encomapss some interesting breakthroughs, but ultimately it just another flavor of Unix. I've used both; other than subtle changes in how some commands work, the deprecation of some things, and addition of others, the core systems are pretty much the same. I can get around a Linux file system just as easily any Unix one.

    In the end though, Linux's resemblance to Unix is not as important as Linux's attempts to be better than Windows. There is the true apples vs. oranges comparison. Linux is not Windows, should not strive to try and match Windows in any way, and should allow itself to move freely in the computing world. Rather than imposing a destination, Linux should be allowed to sail where the winds take it. Innovation is the key now, not replication.
    Billosaur
    • Thanks - I'll send Marc a copy

      Couldn't (and didn't) have said it better myself.
      murph_z
  • Great Research!

    Great Research! I've learned a lot. Thanks.
    georgelien
    • There is Much Better Research

      In the Salus Book on the History of Both Unix and Linux http://www.groklaw.net/article.php?story=20041126130302760
      Edward Meyers
    • The correct link

      http://www.groklaw.net/staticpages/index.php?page=20051013231901859
      Edward Meyers
  • Sun today = Digital of the 90s

    [i]Now if you've ever used any other Unix, whether a current one like a BSD or Solaris or one of the dead and dying ...[/i]

    You probably would have to have a pretty strong bias to consider Solaris not part of the dead and dying.

    If you look at the history, growth, and ultimate demise of Digital Equipment Corporation ... and then look at the history, growth, and ultimate decline of Sun, you'll find striking parallels.
    __howard__
  • Unix isn't really unix, it's BSD. Linux is BSD too.

    The problem was that AT&T allowed coders to extend Unix for free. When AT&T started making more money out of Unix, and the coders started organising to gather their code together (BSD), AT&T tried to claim all their code as belonging to AT&T.

    It turned out only 4 files actually belonged to AT&T, the rest AT&T had "amended" (taken the copyright notice off the top) aka stolen like they hit your grannie with a lead pipe stolen.

    This became obvious in court, and BSD sailed away from Unix, only for SCO(the new owner) to take their code and edit the copyrights out *again* (SCO's "evidence").

    BSD took a while to come up with a kernel. Meanwhile, Linus Torvalds got one together quickly. People call a Linux distribution "Linux" but in reality that is one tiny peice of the software. All the rest of the stuff, all the BSD stuff, all the GNU stuff, is in many ways more important. A lot of people whine about X11, but never bother themselves to re-write it. Me, I love it.
    If you go look at Unix, a lot of Unix, is BSD/GNU stuff. how does OSX talk to windows networks? how does a sun box do the same?
    They use the *same* software that a linux distro uses.
    Having said that, there's a lot of room for Unixen in the world. I'd still have my Sun if it wasn't for those incredibly noisy fast scsi drives and the annoying cooling fan (and then I got the kids a Pentium 4 *sigh what WAS I thinking - it's like being in a wind tunnel*).
    Not long after I also got them a Apple Mini (blissfully quiet) and and old iMac 500MHz (bissfully quiet).
    Anyone know of a Sun in the format of an Apple Mini? (add to my collection).
    hipparchus2001
    • Wrong

      Linus is AT&T Unix derived...
      ;)

      SunOS was BSD based, Solaris is
      a merged BSD/AT&T product and kind of defines "Unix."
      murph_z