It's *Not* The 15th Birthday of Linux – and Why That Matters

Last week, I wondered whether I'd gone back in time. Everywhere I went online – on news sites, blogs and Twitter – people were celebrating the 15th birthday of Linux, it seemed. “How is this possible?” I asked myself. “Since Linux was started in 1991, that must mean we are in 2006: have I fallen through a wormhole into the past?”

When I actually read some of these birthday pieces, it turned out that they were celebrating the release of version 1.0 of Linux, which took place at 22.38 on 13 March, 1994. Fortunately, it seemed like I would not need to live through the last three years again. But then I was left with the perplexing question why people were marking this arbitrary event.

Just how arbitrary it was can be seen from the consolidated Linux kernel history. This shows that on 16 January 1992 the kernel was at version 0.12, but became version 0.95 a couple of months later. Version 0.99 was released in December 1993, and there then followed the most extraordinary series of incremental updates, passing through 0.99.1, 0.99.12, 0.99.12a, 0.99.12z, 0.99.15a, 0.99.15j and finally Pre-1.0. Towards the end of this odyssey, there were updates every few days – sometimes even several on one day.

Clearly what was going on over these months was an almost obsessive honing of the Linux kernel. But the difference between version 0.99.14z, say, and version 1.0 is slight: it's not that the former was unusable, and the latter sheer perfection. Indeed, there is nothing extraordinarily special about version 1.0 compared to its immediate forebears, except for its numbering.

This is one of the most profound strengths of free software - that the software is never really “finished”, with the corollary that it is also never really *not* finished. Huge quantum jumps are rare: mostly it's more granular.

That's why I think it's misguided to “celebrate” Linux 1.0: it gives the impression that free software is like any other proprietary bit of code, rubbish until you hit the magic release number, and somehow finished when you do. If you want to celebrate Linux (and that's an eminently sensible thing to do), the only possible date to choose is when the project was started - after all, that's what the "birth" bit in birthday means. The trouble is, even that date doesn't exist.

Linus never really intended to create what he first called Freax – and what later became Linux. The journey began in one sense when he bought his shiny new PC on 5 January, 1991: “386, DX33, 4 Megs of RAM, no co-processor; 40 Megs hard disc” as he told me over a decade ago. He spent most of his time playing the original “Prince of Persia” game, as well as exploring the capabilities of his machine.

One important aspect that intrigued him was task-switching:

I was testing the task-switching capabilities, so what I did was I just made two processes and made them write to the screen and had a timer that switched tasks. One process wrotes “A”, the other wrote “B”, so I saw “AAABBBB” and so on.

Was that the start of Linux? Clearly not, in the sense that Linus was just playing around with a bit of rough code, trying things out. And yet those two processes later began to morph into something else – to begin with, into a simple terminal emulator so that he could read Usenet newsgroups on the computer system at Helsinki University:

I changed those two processes to work like a terminal emulation package. You have one process that is reading from the keyboard and sending to the modem, and the other is reading from the modem and sending to the screen.

Again, that may not sound much like an operating system, but to create his terminal emulation software he had to write drivers for the peripherals. When he added a file system based on the Minix operating system (which was the main reason he had bought the PC in the first place) the combined result was more than the sum of its parts. As he himself said:

Essentially when you have task-switching, you have a file system, you have device drivers – that's Unix.

Not only did Linux grow organically as it edged towards (and past) 1.0, but it began in exactly the same unplanned fashion: some hacking around produced something, that something turned into something else, and before he knew it, Linus had an operating system.

This is typical of many other open source projects, and increasingly of other projects inspired by their processes – and success. Think of Apache, which began as a series of patches to the NCSA Web server; think of Larry Wall's Perl, which began as a simple tool for use with his rn newsreader; think of Wikipedia, which was designed as a quick hack to provide a feed of half-finished articles for the main Nupedia system. All these stand in stark contrast to the top-down approach of traditional software development, where people sit down to design a product, with a bunch of features that it is felt the consumers need.

Marking anniversaries of nominal “major” releases for Linux or any other project is harmless enough, but tends to obscure one of the key differences between free software and traditional projects. What we should really be celebrating is the extraordinary power of serendipity that this kind of free creation allows – something that does not happen by numbers.

You can follow me on Twitter at @glynmoody.

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

STFU NOOB

Anonymous's picture

STFU NOOB

Anonymous

Anonymous's picture

Anonymous

I am anonymous too!

Anonymous's picture

I am anonymous too!

August 25th 1991 is the day!

Anonymous's picture

The day Linus first announced Linux to the world is its birthday. It may have been conceived much earlier, but it was born on that day.

Really?

Anonymous's picture

You don't celebrate your birthday on the day you were conceived, do you?

But you do celebrate your first birthday a year after you were born (see "birth" + "day").

So I find it correct to celebrate the first birthday when Linux was release 1.0.

If I were forced to pick a day...

Glyn Moody's picture

...then, yes, I'd probably agree that had the most sense of all the possibilities. But as you say, it certainly wasn't the beginning of Linux.

In reality this is how many,

Duncan's picture

In reality this is how many, possibly most, commercial software developments happen too - iteratively, taking advantage of opportunities as they arise, constantly changing tack. It's certainly not the preserve of free software.

In some sense, yes

Glyn Moody's picture

But surely free software is very different in the details and dynamics.

Arbitrary? yes; Random? no. Meaningless? No way!

Jason's picture

"Arbitrary" implies arbitration. That is to say that while it IS arbitrary, it's not random. It's based upon some developer's judgment that however infinitesimal the increment (between .99x and 1.0) the code has reached a place where said developer considers it 1.0.

However small the distinction, the force of the meaning is far greater. It means users who would've shied away will now give it a try, which in turn means a far greater rate of adoption and a larger and faster growing development pool - both at this level as well as downstream.

In short, 1.0 marks a tipping point for Linux - totally worth celebrating that.

Was it a tipping point?

Glyn Moody's picture

My impression was that the Linux culture back then was not so influenced by what really amounts to marketing (and it's no coincidence that Microsoft and other software companies spend huge amounts deciding what to call the next version - Windows 3.1, Window 95, Windows ME, Window Millennium, Windows XP, Windows Vista, Windows 7 etc.)

Even today it's a moot point to what extent there's a pent-up demand of users just waiting to jump to GNU/Linux when they think the moment is right. I think it's unlikely that many people 15 years ago thought that the appearance of 1.0 was a sign that the moment had arrived. Anyone else any views on this?

On the 25th of August 1991,

Anonymous's picture

On the 25th of August 1991, Linus announced that he had the beginnings of a kernel, free of minix code. MCC Interim Linux was available on an FTP server in February of 1992. Slackware was released July 16, 1993.

Hey Glyn, Welcome to the

Brian11's picture

Hey Glyn,

Welcome to the human race. This might be news to some, but all celebrations are arbitrary, and yet, we have them all the time. Did you have a celebration on the actual day that you got the final score of your final test in school, or did you instead have a party a few weeks later after you went to the graduation ceremony? How about your birthday? Surely you could instead celebrate the day of conception, or maybe the day your lungs formed? Almost everything we celebrate is actually an iterative process, and the celebration date is just a time chosen to mark an occasion.

Humans are not computers and don't need or want to have strict definitions that a certain set of conditions must be exactly met before doing something. As you point out, the release number itself is arbitrary, so why do we even assign release numbers at all? The answer is because we are human and that's how our brains work. We prefer to mark occasions and celebrate them, in the software world this means release numbers. It could easily be a name (like Ubuntu's naming scheme), but we need to have something we can point to to say "here is where that thing ends and a new one begins".

So for the Linux 1.0 celebration, maybe they should be more precise and claim "15 years after 1.0", instead of just 15 years of Linux, but you know what? Only the most cynical of people would rather take the fun out of a celebration by pointing out how arbitrary it is, and it's even more bewildering when that same person is one who promotes the use of the very thing that's being celebrated.

Really arbitrary?

Glyn Moody's picture

Is my birthday arbitrary? I'd say being born is a pretty important point in my existence (whether it's worth celebrating is another matter). It's certainly better defined than moments like conception or lung formation.

And many/most processes may be iterative, but I was trying to highlight a qualitative difference between the way free software and traditional proprietary code is built.

I certainly wasn't trying to "take the fun out of a celebration": on the contrary, I was suggesting that we should have a perpetual celebration for what free software is and does. Pinning the magic day down to that 1.0 release - something not so different from all those around it - actually seems the impoverishment to me.

Me too

Glyn Moody's picture

I had that book - although it was a review copy in my case.

Certainly by 1994

rickb928's picture

I bought a thin-ish, interesting book by Vivian Neou, 'The Internet CD'. It included a CD-ROM with, of all things, a Slackware distro of Linux, 0.9 I think.

It actually *worked*. I was supporting SCO installations at the time, and a *nix that could install in less than 4 hours and actually function was a revelation. I was hooked.

So Linux is certainly at least 15 years old, and judging by the development involved, Slackware is all of 15 years old. Linux must be older.

ps - It changed my life. My boss listened to me and we lost a bunch of money in the ISP business back then. But it was fun, and we made money before we lost it.

Webinar
One Click, Universal Protection: Implementing Centralized Security Policies on Linux Systems

As Linux continues to play an ever increasing role in corporate data centers and institutions, ensuring the integrity and protection of these systems must be a priority. With 60% of the world's websites and an increasing share of organization's mission-critical workloads running on Linux, failing to stop malware and other advanced threats on Linux can increasingly impact an organization's reputation and bottom line.

Learn More

Sponsored by Bit9

Webinar
Linux Backup and Recovery Webinar

Most companies incorporate backup procedures for critical data, which can be restored quickly if a loss occurs. However, fewer companies are prepared for catastrophic system failures, in which they lose all data, the entire operating system, applications, settings, patches and more, reducing their system(s) to “bare metal.” After all, before data can be restored to a system, there must be a system to restore it to.

In this one hour webinar, learn how to enhance your existing backup strategies for better disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible bare-metal recovery solution for UNIX and Linux systems.

Learn More

Sponsored by Storix