Editorial

20 years of Linux, the little kernel that could

A post on the comp.os.minix newsgroup, a community dedicated to the Minix OS, marks the beginning of Linux. On August 25th, 1991, Linus Torvalds wrote:

Hello everybody out there using minix -
I'm doing a (free) operating system (just a hobby, won't be big and
professional like gnu) for 386(486) AT clones.  This has been brewing
since april, and is starting to get ready.  I'd like any feedback on
things people like/dislike in minix, as my OS resembles it somewhat
(same physical layout of the file-system (due to practical reasons)
among other things).
I've currently ported bash(1.08) and gcc(1.40), and things seem to work.
This implies that I'll get something practical within a few months, and
I'd like to know what features most people would want.  Any suggestions
are welcome, but I won't promise I'll implement them :-)
                Linus (torva...@kruuna.helsinki.fi)
PS.  Yes - it's free of any minix code, and it has a multi-threaded fs.
It is NOT protable (uses 386 task switching etc), and it probably never
will support anything other than AT-harddisks, as that's all I have :-(. 

Torvalds was probably unaware at the time of the profound impact his hobby would have on the world of computers. While Linux has yet to take off on the desktop computing scene, Torvalds' project is used in a number of different places, from miniature smartphones to servers that take up several buildings. The fact that Linux is free for anyone to change and use has certainly helped, meaning it can be modified to make it more suitable for, say, running a smart TV, or powering a recording studio.


​The man behind it all

Torvalds' original post said that he was planning to write his own operating system. Strictly speaking, a Linux operating system never materialised. Linux exists today as a kernel, the lowest point of connection between software and hardware. But thanks to an earlier project that started eight years before Linux, this turned out not to be a problem. GNU, another free operating system that was missing a kernel, turned out to be a good substitute for developing an entire operating system.

GNU was started eight years prior to Linux by Richard Stallman, known to most as a passionate activist for the free software cause. Stallman's belief that individuals should be able to modify programs for their own needs led him to begin development on a free operating system. In 1991, the work from the GNU project was brought over to the Linux project to form a complete operating system. This has led to a naming controversy among developers, as while most people will talk about a "Linux operating system", activists believe that the resulting work should be known as "GNU/Linux".

Proof of the impact the new project was having came to light in 1998. The "Halloween Documents", a set of internal Microsoft reports leaked to the public around Halloween, showed the attitude Microsoft took towards the new OS. A strategy dubbed "embrace, extend, extinguish" detailed how Microsoft planned to maintain its stronghold on the server market. The document suggests the reason open source software is able to find so much success in the server market is due to standardised protocols. By extending these protocols out with Microsoft-only benefits, companies could be coerced into staying with Microsoft to take advantage of these bonuses. Another telling quote comes from the same document, in which Microsoft admitted "commercial quality can be achieved / exceeded by OSS projects."

Around the same time, companies were beginning to take Linux seriously. Version 2.0 of the kernel could deal with several processors at once, a crucial feature for large corporations. Big names like IBM and Oracle began to invest a lot more in Linux. In 2006, Microsoft announced a partnership with Novell, another big name in Linux development. The move was meant to cover both companies in case of patent disputes, as well as improving interoperability between the two companies' products. The deal was widely criticised by free software activists, who said that Novell had "sold out". Later, a revision of the GPL licence that Linux is distributed under would stop any future deals like this forming.

Linux moved from strength to strength. Dell started selling laptops powered by Linux, and Google announced a new mobile operating system based on Linux. Android, as it is known today, is making waves in the mobile market, but only a tiny fraction of its users would ever guess that Linux was running the show. Linux itself is still under consistent development, with version 3 released earlier this year.

It's hard to believe that 20 years on a hobbyist's project has gone from fun little toy to serious powerhouse, without which the tech world may have taken a very different shape. Although we're not all using Linux on our home computers, the project has found itself a nice little niche behind the scenes of our everyday life. From that moment you hit Send on a Facebook update, to your friend phoning you on your new HTC phone, a Linux-based OS is hard at work somewhere making sure the show runs smoothly. Here's to 20 years of Linux, and hopefully another 20 years to come.

Image credit: Wikipedia

Report a problem with article
Previous Story

Editorial: Steve Jobs' massive tech legacy

Next Story

RIM shows off new music service, looking to go social

28 Comments

Commenting is disabled on this article.

I'm not a Geek, I'm a retired Middle School Art Teacher. I started using PC's in the Mid-80's, it was DOS 2.1 as I recall, and it was one hassle after another with Microsoft until one of my Students gave me a CD-Copy of UBUNTU 9.10.

My wife and I have Seven PC's. Four Laptops, and Three Desktops, and as it stands now we have only One that is running on a Windows Platform, Micromess-Vista Home, because she can't bring herself to make a change.

My first experience with UBUNTU was side-by-side with Windows XP on my old Toshiba Laptop, a 5105-S710. it was working well enough until the original IDE Hard Drive went to old Drive Heaven along with my Mac-G3 with its original Hard Drive that died as well. I bought a new drive for the Laptop while they were still available, everything else we have uses SATA, and with luck I may be keeping my Clam Shell Blue Toshiba for the rest of my life. I know, it's way slow, but I love the looks of it. :-)

I couldn't locate the original copy of XP that came with my Toshiba Laptop, so I loaded UBUNTU 10.04 Stand Alone, and I was shocked at how much better the performance was, much faster, but I realize that at least some of the speed increase may have been due to a newer, less cluttered drive. UBUNTU, the Three versions I've loaded, found our Wireless Router, my old Printers and a Scanner without much of, if any, problems.

I suspect the majority of PC users are like myself, a bit of email, some MySpace or FaceBook, a Google Information Search, a Hulu TV-Program, and/or a Movie, and all of these are working perfectly here on UBUNTU. I'm not a Gamer, but my 11 year old Grandson enjoys them. I wasn't able to play any (*.wmv ) clips before he downloaded something, and now I get to do the only thing I missed by using UBUNTU. He said he had to do Nine different Downloads before it worked, and I gave up after only One.

MS may Rule for the time being, but I've seen many changes since a saw my first Home-PC going on Three Decades ago. Something better has always comes along that pushes the Rulers into the Trash Can. I have a huge collection of Hardware and Software that I paid good money for, and given enough time it may have some Antique Value, but probably not. I was able to sell my Mac-G3 for parts, but the standard PC stuff is Junk.

Regards to the Young People, an old guy who loves Computers, and especially the Internet

I think Linux finally found its way, but there's still a few crippling issues that prevent it from picking up steam. For starters, applications need to be named something easily identifiable for non-geeks. For example, ask someone in Best Buy what "The GIMP" is and they'll either look at you funny or say something offensive. Again, if someone asks you "Where are the sticky notes?", the last thing they'd look for is Tomboy. It's time to drop the goofy codenames.

Second, there needs to be some standardization. I know change and standardization is something that really irritates the grumpy old neckbeards, but things like sound management really shouldn't have to be hacked together (layer-upon-layer). There's no excuse for 343894738 different sound servers. Pick one, stick to it, and make it work.

Third, there should be some kind of regulation about how distrobutions are recognized. I realize part of the joy of Linux is the freedom to make it your own, but changing the icon theme and wallpaper shouldn't make your desktop a whole new distribution.

Finally, I think OpenGL should be utilized better and more frequently. What good is a 3D framework if all we use it for is wobbling windows? OpenGL could give DirectX a run for its money with enough support, but alas, like everything else in Linux, we only get monumental features whenever someone "feels like it".

bjoswald said,
Again, if someone asks you "Where are the sticky notes?", the last thing they'd look for is Tomboy. It's time to drop the goofy codenames.
That makes absolutely no sense. By your reasoning, if I have gcalctool, SpeedCrunch and KCalc in my system they would all be called 'Calculator'.

bjoswald said,
I think Linux finally found its way, but there's still a few crippling issues that prevent it from picking up steam. For starters...

I quite agree with your whole statement. Like others said, there are some tricky things in Linux but there are also nasty ones on Windows, on top of all on more complex Microsoft infrastructures (going past the single SBS instance...). The real thing, as you said, is that some standardization is really needed on the desktop part as current situation is complete chaos. I could not count the number of available distributions and their various sets of lib revisions and this mess of shared lib dependencies... Not to mention the various window managers, sound servers, etc. I guess the Linux community may have to establish a somewhat standard distro on which hardware makers and non geeky users could concentrate on, something like: choose a window manager, choose a file system, choose a desktop layout, or two, define a set of frontends to perform administrative or hardware management tasks such as setting a dumb RAID volume and maintaining it without having to harvester Google for command line tools and kernel module sources to "configure" and "make", and stick to it! See how Microsoft is criticized for providing 4 different client versions of Windows and Apple praised for providing a single one (on top of all providing the server extensions as a downloadable package now!). On the other hand with have dozens or hundreds of Linux and BSD distos. I agree about the Opensource vision about variety, but at some point a standard may have to be proposed even though the other variants may still be developed concurrently.
Anyway, just my 2 humble cents about how Linux could be more adopted on the desktop scene, for not too geeky people.
I still like Linux and use it almost daily - correction: daily in fact - but not as a desktop OS, right now the latter is impossible to me.

Don't count out all the supercomputers it runs. Almost, all fastest of them run some modified form of Linux kernel. That I think, is the greatest honour Linux has been ever been bestowed with.

Seriously, giving credibility to the Halloween documents?

(A series of crap, that inside Microsoft was seen as crap, as the conversations were between managers that had a horribly sad technical understanding of NT let alone OS technologies in general.

The main 'bullets' were written by one person, as their opinion, and the only credibility that was ever implemented from the conversation was the research into how OSS could have potential low entry costs.

The research came back showing the initial entry costs were low, but long term viability easily cost more than a consistent platform.

The articles were dismissed inside Microsoft as the basis of 'standards' was something Microsoft already understood, and understood better than the authors of the documents, as it was the moving of non-typical standard functionality into Windows that made it a success prior to the writing of these documents.

Windows had already moved traditional application level features into the OS, and standardized them, as they had been doing since the late 80s. This was seen as an attack by OS traditionalists, but were a key reason Windows was successful, as it gave OEMs and end-users a new level of consistency. Examples: Sound model, Fonts, Printing Engine, etc.)

Really?

As for Linux, this should be a time to remember where it came from and what it is... It was not designed and is not good at portability, it uses very antiquated OS model concepts, that are effective because they are generic, but fail to meet the full potential of available technology.

Linux is not the 'best' kernel technology or OS model basis, it was simple and easy and generic, which are its true strong points. It however fails when it comes to extensibility and being polymorphic to new technologies. Even adjusting simple things like the scheduler was a massive undertaking.

So praise Linux for what it 'truly' is and don't try to put it into a magical category that is fails to do well.

(Google is now learning this the hard way, as Linux is not as modular as they need, and thus Android is heavy by having to implement traditional kernel level features in Dalvik because they can't turn on and use only what they need without raising the running processes and consuming a large chunk of RAM and CPU usage.)

Even with what Linux does well, it truly is time the OSS community changes direction and moves on to a modern kernel and OS model. There is no reason that there isn't a strong alternative to Linux that is far more portable, modular, and uses simple concepts like Objects instead of the same old *nix generic I/O model and textual communication via static parameter piping.

These are things NT has been doing for 20 years, and it is why changes to the scheduler in Vista and Win7 were small code changes that propagated automatically because of the object model. NT is vertical and horizontally layered, making it highly modular, and NT uses an abstract architecture target, so the base NT code doesn't change when porting, only the HAL has to be coded for a new architecture.

And these NT examples are VERY old OS architecture concepts that were 'new' in the late 80s, but are no longer the latest and greatest, but yet are still light years ahead of what Linux and even OS X is doing, as their 'concepts' come from the 70s and early 80s, when the idea of objects at the OS was too heavy for the hardware back then, but is not even a measurable on hardware made since the mid 90s.

With the hardware we have today, there is on reason to keep the simple models that ironically end up consuming more resources to implement complex new technologies.

Win. Those are some damn good points you've made, thenetavenger. One of the reasons why Linux is behind in Windows and Mac is due to its performance. I've tried running Windows 7 and Fedora on the same machines. Guess which one performs faster and still uses massive 3D rendering for its OS? If you guessed Windows 7, you're right.

Not only is the Linux kernel inferior in performance, but basic problems such as Suspend and Hibernate are a frequent pain in the ass for general consumers. I agree fully--the Linux kernel should be completely rewritten to support a more modern way of doing things, or should be replaced by a better kernel. It's kind of a shame that great Linux operating systems like Ubuntu and Fedora are restricted by Linux's limitations.

PlogCF said,
Win. Those are some damn good points you've made, thenetavenger. One of the reasons why Linux is behind in Windows and Mac is due to its performance. I've tried running Windows 7 and Fedora on the same machines. Guess which one performs faster and still uses massive 3D rendering for its OS? If you guessed Windows 7, you're right.

Not only is the Linux kernel inferior in performance, but basic problems such as Suspend and Hibernate are a frequent pain in the ass for general consumers. I agree fully--the Linux kernel should be completely rewritten to support a more modern way of doing things, or should be replaced by a better kernel. It's kind of a shame that great Linux operating systems like Ubuntu and Fedora are restricted by Linux's limitations.

And I've tried time and time again to run Windows and Linux on the same machine -- with a completely opposite effect. So it runs Ubuntu now and there's no way I'm going back to MS Win.

The irony of this all is that my Windows 7 HP laptop happened to have a stupid HP-related driver defect with Windows 7, and their HP recovery "software" screwed up my whole OS, so I've temporarily installed Fedora 15 on it before I get a clean Windows 7 disk from HP again.

So, just for this week, Fedora is now technically on a majority of all the computers at my house as of now. Funny how things happen coincidentally.

-Posted while running Fedora 15. And I agree, Linux has come a long way.

I like how the article mentions Dell starting to sell Linux computers and then skips the part where they pulled them because the few people who bought them usually returned them.
Overall though, I do rather like Ubuntu.

"It is NOT protable (uses 386 task switching etc),"
Definitely not portable. It only runs on x86, PPC, MIPS, ARM, SH, IA64, POWER, S390, Alpha, Sparc, and a dozen others.

"and it probably never will support anything other than AT-harddisks, as that's all I have :-(."
And now we have ATA, SATA, SAS, SCSI, Fibrechannel, Infiniband and more.

Linux has come a long way in 20 years.

MrA said,
"It is NOT protable (uses 386 task switching etc),"
Definitely not portable. It only runs on x86, PPC, MIPS, ARM, SH, IA64, POWER, S390, Alpha, Sparc, and a dozen others.

He didn't say "portable". He said "protable".

Linux may be taking it's time on getting onto everyday computers, but even for the beginner, it has gotten WAY easier to learn.

As long as something doesn't screw up where you MUST use the command line, almost any Joe Blow could use it in a matter of minutes and that is the key for Linux to ever gain general acceptance.

Rock on, Linux!!

cork1958 said,
Linux may be taking it's time on getting onto everyday computers, but even for the beginner, it has gotten WAY easier to learn.

As long as something doesn't screw up where you MUST use the command line, almost any Joe Blow could use it in a matter of minutes and that is the key for Linux to ever gain general acceptance.

Rock on, Linux!!

Id say for basic use its much easier than windows...all of your software is found within software managers that auto download and install for you, and most software on linux that the average user would need are just as usable as on windows. Linux also has better integration between apps imo. Once people realize this and start using it, id imagine youd see more developers moving to it for things like gaming.

cork1958 said,
Linux may be taking it's time on getting onto everyday computers, but even for the beginner, it has gotten WAY easier to learn.

As long as something doesn't screw up where you MUST use the command line, almost any Joe Blow could use it in a matter of minutes and that is the key for Linux to ever gain general acceptance.

Rock on, Linux!!

I hate admitting this, but I can't use Linux. I know my way around a windows machine as well as any IT pro, I can fix just about any Windows issue without having to resort to a full reinstall, I know fairly well how PCs and computers work. But I can't use Linux.

I have tried, so many times, to get to grips with it. I've tried tens of distributions, Knoppix, SuSe, Red Hat, Red Hat again when it became Mandriva, Ubuntu, Xubuntu, Kubuntu, I really have tried my best to stick with Linux but no matter how hard I try, it invariably becomes too difficult to use. At some point, you pretty much just HAVE to drop down to the command line because you need to edit a config file somewhere. I don't have a problem with this, but it's not easy to know which commands you need to use and where.
Each time I try linux, it seems a different problem gets in the way. Most recently, it was when I tried Linux on a fairly old laptop (about 3 years old) and the first stumbling block was the wireless. Ubuntu helpfully told me that proprietary drivers were available, yet when I installed them, nothing happened, the wireless just refused to work. Previously, it was a graphics chip issue, before that it was a RAID controller. No matter what I try, I invariably hit a stumbling block that I just can't overcome.

I really want to get into Linux, I really wish I could ditch Windows as my primary OS, but I just can't.

Kushan said,

I hate admitting this, but I can't use Linux. I know my way around a windows machine as well as any IT pro, I can fix just about any Windows issue without having to resort to a full reinstall, I know fairly well how PCs and computers work. But I can't use Linux.

my sentiments exactly.
i've tried redhat, mandriva, suse, ubuntu, fedora. two months and i dropped them.
right now i dual boot ubuntu on my laptop but rarely use it really.

Well I can tell you that my job is far from computers, they're just my hobby and I started using Ubuntu since version 8 and although at first, it looked quite difficult compared to the UI from Windows, with a little patience I was able to run and master the basic things, adding ppa's, compiling apps, messing around with the UI and repairing back whatever I messed up,

It's way more fun to use than Windows (yeah a geek I'm so I like to change things up once in a while), and definitely has a faster start up and overall response than Win7, both of my PC's have dual boot of Win7 and Ubuntu but only use the former to back up my iPod.

It's not perfect but is getting there , is nice to have options beside Mac and Win.

Kushan said,

I hate admitting this, but I can't use Linux. I know my way around a windows machine as well as any IT pro, I can fix just about any Windows issue without having to resort to a full reinstall, I know fairly well how PCs and computers work. But I can't use Linux.

I hear you.

I've done the exact same thing. I've been using Linux since I was 10 years old, yet I still can't get fully used to it. Ubuntu, Fedora, Arch, Slackware, and Mint are pretty much what I have installed over the years.

I have an install of Slackware dual booted just for the sake of having it there.

Kushan said,

I hate admitting this, but I can't use Linux. I know my way around a windows machine as well as any IT pro, I can fix just about any Windows issue

If you can fix about any BSOD but can't use Linux then there's a problem. It's far more easier to simply use Linux than recovering a Windows machine having corrupted files in the system32\config folder.

I do not use Linux nor do i like it but people who say it's so hard it's not usable surely did not use Linux in the past 5-6 years.

It used to be hard. But today anyone who call himself tech savvy should be able to install and use Ubuntu.

nub said,
From my experience I'm still being forced to use the command prompt

You know there's time while using Windows i would like to have access to Linux command prompt and features.

Specially when it is the time to batch rename files ...

LaP said,
You know there's time while using Windows i would like to have access to Linux command prompt and features.

Specially when it is the time to batch rename files ...


PowerShell (regex, etc)? Windows builds of the GNU toolkit? Cygwin? One of a bajillion GUI tools that do this? Got quite a few options.

Kushan said,

I hate admitting this, but I can't use Linux. I know my way around a windows machine as well as any IT pro, I can fix just about any Windows issue without having to resort to a full reinstall, I know fairly well how PCs and computers work. But I can't use Linux.

I have tried, so many times, to get to grips with it. I've tried tens of distributions, Knoppix, SuSe, Red Hat, Red Hat again when it became Mandriva, Ubuntu, Xubuntu, Kubuntu, I really have tried my best to stick with Linux but no matter how hard I try, it invariably becomes too difficult to use. At some point, you pretty much just HAVE to drop down to the command line because you need to edit a config file somewhere. I don't have a problem with this, but it's not easy to know which commands you need to use and where.
Each time I try linux, it seems a different problem gets in the way. Most recently, it was when I tried Linux on a fairly old laptop (about 3 years old) and the first stumbling block was the wireless. Ubuntu helpfully told me that proprietary drivers were available, yet when I installed them, nothing happened, the wireless just refused to work. Previously, it was a graphics chip issue, before that it was a RAID controller. No matter what I try, I invariably hit a stumbling block that I just can't overcome.

I really want to get into Linux, I really wish I could ditch Windows as my primary OS, but I just can't.

Yea, I use command line quite often. But it is only when you switch to GNU/Linux as your primary OS that you learn to know your way around and then it is not at all that scary.

And issues with hardware drivers also arise from time to time, that's true. But I've been using the thing for 8 years now as my home/work desktop OS and am quite satisfied.
And BTW, it is in command line that you can do those many tricks you can't in Windows or just in a GUI. So it's worth the while to learn to use it. Then again, SSH/terminal remote access is always via command line, so it's good to get used to it.


LaP said,

If you can fix about any BSOD but can't use Linux then there's a problem. It's far more easier to simply use Linux than recovering a Windows machine having corrupted files in the system32\config folder.

I do not use Linux nor do i like it but people who say it's so hard it's not usable surely did not use Linux in the past 5-6 years.

It used to be hard. But today anyone who call himself tech savvy should be able to install and use Ubuntu.


however, its easier to fix a completely broken and virus infested windows OS then to install a GFX or wifi driver in ubuntu