Linux Blog

A Readers Digest History of Linux

Filed under: Linux for Newb's — aaron at 9:19 am on Tuesday, December 16, 2008

Well, I suppose a bit of an introduction is in order before I begin. I’m Aaron, a friend of Owen, and I’ve always been mystified by his ability to use Linux (command line wizard) to do just about anything he wants. Whenever he touches a machine, he’s able to take complete control over it by getting down to the very base of Linux and I’d find myself suddenly in awe at the wonderful things I’m seeing on either his machine or mine, because, somehow, he’s suddenly on my machine (he’s in my b4s3, k1ll1n my d00dz). So we came to the conclusion that, instead of my mystification, I start learning about this mysterious world of Linux and the Linux community.

For the first article, I reckon we should go into a brief, “Readers Digest” version of the history of Linux. Linux as we know it was developed in 1991 by Linux Torvalds based upon the GNU code written by, or at least announced by, Richard Stallman in 1983. Just knowing that dispels the myth that Linux is based upon Unix as GNU stands for “Gnu is Not Unix.” This often leads to the use of the term GNU/LINUX. Ok, moving on.

Linux is known to be used in all sorts of devices. Particularly popular on servers, we can also find it in cell phone operating systems, laptops, PC’s, supercomputers, etc. so you see, people are using Linux every day without knowing it, showing the wide range of Linux applications in modern use today, albeit in the background.

Unix was conceived in the 60’s and released in the 70’s by the AT&T folk and it was snapped up immediately by businesses and educational institutions for the ability to modify the code and use it for just about anything. This sort of thing is under lockdown these days by THE OPEN GROUP who have sort of made “UNIX” a trademark and have created a sort of industry of standards. This has led to the term Unix-like operating systems under which Linux falls.

GNU was created for Unix compatible software and Stallman went on to create the GPL(google it), and the Free Software Foundation, making all GNU code free and available for modification and became useful for institutions needing programs to operate within the Unix environment. But because of bugs in the GNU kernel, it stalled out somewhat.

Then along came MINIX, created by Andrew S. Tanenbaum in 1987. This was a UNIX-like system, and the source code was available. Modification and redistribution was a no-no, however, and its 16bit code was already beginning to fossilize as the 32bit Intel 386 was becoming ever more popular.

So Linus decided to pop a little of MINIX and a little of GNU into the system and create his own, non-commercial OS he entitled “LINUX.” A little self-referential there, Linus. There were problems, however, in that Linux didn’t quite work correctly. There were bugs in the system, Tanenbaum was getting on Linus’ case about how non-portable Linux was due to its attachment to the x86 architecture, etc. etc. Also, Linux was dependent upon MINIX’s “USER SPACE” at first, creating a very self-contained, widely unavailable Operating System at first. But what if it could get in under the GPL? This was the thought that occurred to Linus, but in order to do so, Linux had to be GNU compatible. Linux and GNU developers worked to make this happen and we had the free, open-source code we’ve all come to know and love. Well, some of us, anyway.

In future columns, I’ll go into a design overview of Linux (at least from the beginning), and also attempt to make mention of the gazillions of distributions of the software. I’ll be starting out personally with the UBUNTU flavor that’s become so popular these days. I’m beginning with a GUI based version of Linux because I just have no clue what to do in the command line (unlike Owen, who seems to have every command memorized in alphanumeric order). You’ll follow along as I explore all that Linux has to offer (or not offer, given the case) and delve, head first into this mysterious world. So until next time my fellow would-be codemonkeys, I’m outta here. Keep it open and free!



Comment by Patkos Csaba

December 17, 2008 @ 3:37 am

I recommend you this book: Just for Fun by Linus Torvalds. If you are about to write about the history of Linux, you first must read that book. As the title suggests, it’s funny and interesting in the same time, and it is the best possible presentation of the history of Linux.
If you read the book, you will understand why the operating system’s name is Linux and you will avoid comments like this: “A little self-referential there, Linus.” Because, even if it’s self-referential, not Linus gave the name to Linux … for example.
Also, other very interesting things about Linus’ work and life are in the book, and usually you can’t find that information in other places (like online blogs, articles, etc).

Comment by brainspoil

December 21, 2008 @ 3:53 pm

Another good read is Glynn Moody’s Rebel Code.

Comment by aaron

December 23, 2008 @ 4:17 am

I appreciate the book recommendations. Any of you guys want to mail them to me? Heh. The library around here blows. Maybe there’s an “e-book” version.

Comment by aaron

December 24, 2008 @ 3:45 am

Patkos Csaba, in watching the Open Source documentary, REVOLUTION OS, Linus states that Linux was the working title based upon his name and it just stuck. So…self referential, yes. :-P It’s a good doc, I’d suggest anyone check it out. DL’d JUST FOR FUN and plan on givin’ that a listen per the suggestion. Thanks for commenting guys!

Comment by Mark

February 3, 2009 @ 8:19 pm

Although it’s been probably 15 years since I read it (I know it’s around here somewhere…) another good book for understanding the reason UNIX (and therefore LINUX) works the way it does, is _Life_With_UNIX_ if you can find a copy.

Surprisingly, it’s not very technical, and is a very interesting read. (Just checked, Amazon has 21 used copies available for under $3 – and one new one (for $275 – eck

Cheers. –Mark

RSS feed for comments on this post. TrackBack URI

Leave a comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>