The birth of Debian, in the words of Ian Murdock himself

Way back in 1999, I spoke to Murdock about Debian's package-based genesis.

As we reported a few days ago, Ian Murdock, the creator of the Debian GNU/Linux distribution project, died in rather unclear circumstances last week. Until more details emerge, it seems wise to refrain from speculation about what really happened. Far better to celebrate what is not in doubt: his important contribution to free software at a critical period in its growth.

In November 1999, I spoke to Murdock at length, during one of the 50 interviews that form the backbone of my book Rebel Code: Linux and the Open Source Revolution. Inevitably, I was only able to use a few quotations from Murdock in the book's text, and now seems an appropriate moment to give a more complete version of how Murdock came to create Debian, told in his own words.

Murdock first came across GNU/Linux in 1993, when he was a 20-year-old student at Purdue University, studying accountancy: "This was around the time that PCs were just starting to get fast enough to actually run things like Unix. I'd been using Unix and I saw Linux as a way to have more convenient access to it." He said that the software at that time was "pretty rough around the edges," but that helping to fix that was part of the fun: "one of the great things about Linux is it was one of the first operating systems that you could actually not only see what it was doing but you could get in there and tinker around with it."

When Murdock started exploring GNU/Linux, there were only a few distributions available. The one he chose to use was SLS, "Softlanding Linux System." In his first public mention of the imminent Debian distribution, Murdock wrote: "I was inspired to put together this release after running SLS and generally being dissatisfied with much of it, and after much altering of SLS I decided that it would be easier to start from scratch." As Murdock told me in 1999, the problems arose from the fact that "the fellow who was doing [SLS] was trying to do everything himself. And so I looked on that and I thought, well, you know, if Linux has taught us anything it's that that kind of model is sub-optimal. What we really ought to do is we ought try to take the model that Linux has pioneered, intentionally or not, and try to get the same benefits from that for building the system around it."

Murdock's key insight was that the distributed development model used for the Linux kernel could be applied on a larger scale to the entire operating system, together with its applications:

If you want to build an entire [operating] system, how exactly do you divide it up and allow people who have probably never met to work on everything individually, yet take all of the subcomponents and put them back together and make a complete system?

The way that Linux systems were distributed at the time was very much oriented toward distribution on diskettes. So you would download all these diskette images, and you'd install Linux that way. And we decided to take a different approach, because it fit well with the distributed development idea.

We decided that Debian would be based on packages. So every sub-component of the system would be contained in its own package. And the package would know how to integrate itself into the system. When you installed it, it would know how to remove itself, and know how to upgrade itself.

Debian would be based on the idea of a package, and all these people who wanted to work on it could then take responsibility for all these different packages. And we would define standards and rules that would allow a package from any source to be able to fit into the system well. So that when you take all these packages and you install them, you get an entire system that looks like it's been hand-crafted by a single, closely-knit team. And in fact that's not at all how it was put together.

Unsurprisingly, one of the key inspirations for the Debian project and its new, package-based approach, was Linux:

The fact that other people would be taking on sub-taskings [in Debian] is very much how Linux worked. Some people would write file systems and they'd maintain the file systems, other people would write device drivers and maintain them. If you're just some random person and you write a new file system for Linux, you send it off to Linus and it's [in] Linux—maybe.

So I wanted the Debian users—not a particular hand-picked team—to be able to come in and say: 'you know, I'd really like to have this particular software package in Debian." And [that's] fine—because of the fact that we believe and follow the distributed development model, you can make a package. And [if] you follow our guidelines and our standards that package is going to fit in with the system.

Lovely to see this, one of the things that marks Ars out is the collected history.

I was one of those lurking/ contributing to comp.os.linux.development way back then. Started with SLS - kernel 0.99pl15f, then went Slackware route - the floppies, the 14k internet at home, the 64k ISDN line at work - all of it was ponderously slow to get, but all of it was amazing, CD distros by post from the USA - still got them lying around.

As an academic we put Linux onto Lab PCs as soon as we could using those CDs. Getting the students to work with Linux was a gamechanger, Debian and Slackware, then Redhat et al. It was an explosive time in technology terms and people like Ian Murdock were lighting the fuses.

Lovely to see this, one of the things that marks Ars out is the collected history.

I was one of those lurking/ contributing to comp.os.linux.development way back then. Started with SLS - kernel 0.99pl15f, then went Slackware route - the floppies, the 14k internet at home, the 64k ISDN line at work - all of it was ponderously slow to get, but all of it was amazing, CD distros by post from the USA - still got them lying around.

As an academic we put Linux onto Lab PCs as soon as we could using those CDs. Getting the students to work with Linux was a gamechanger, Debian and Slackware, then Redhat et al. It was an explosive time in technology terms and people like Ian Murdock were lighting the fuses.

"Murdock first came across GNU/Linux in 1993, when he was a 20-year-old student at Purdue University, studying accountancy: This was around the time that PCs were just starting to get fast enough to actually run things like Unix."Really? Microsoft offered Xenix for PCs already in the early 1980's. Also, most computers running Unix systems at that time weren't any more powerful in terms of processing speed than were PCs. At best they had more processors, more memory and more storage, but they didn't run programs any faster. Multithreading and heavy parallelism wasn't a thing at that time either.

"Murdock first came across GNU/Linux in 1993, when he was a 20-year-old student at Purdue University, studying accountancy: This was around the time that PCs were just starting to get fast enough to actually run things like Unix."Really? Microsoft offered Xenix for PCs already in the early 1980's. Also, most computers running Unix systems at that time weren't any more powerful in terms of processing speed than were PCs. At best they had more processors, more memory and more storage, but they didn't run programs any faster. Multithreading and heavy parallelism wasn't a thing at that time either.

Yes I recall there being a number of commercial "distros" around in that era. Dell had one, and there was one called, I think, ESIX. And SCO of course. People would license System V, add a few (usually crappy) drivers, and charge $1-2K for them, IIRC. The key enabler was the Intel 80386 architecture.

The story behind the new distro's name is well-known by now. As Murdock told me in 1999: "My wife's name is Deb and my name is Ian. So it's simply a concatenation of that."

I always assumed it was some kind of penguin (like Gentoo).

But that distro tree has some amusing things in it, especially in the Ubuntu sub-tree, like "Christian Edition", "Muslim Edition", and "Satanic Edition" (though, oddly absent, as far as I can tell, is Jewbuntu).

"Murdock first came across GNU/Linux in 1993, when he was a 20-year-old student at Purdue University, studying accountancy: This was around the time that PCs were just starting to get fast enough to actually run things like Unix."Really? Microsoft offered Xenix for PCs already in the early 1980's. Also, most computers running Unix systems at that time weren't any more powerful in terms of processing speed than were PCs. At best they had more processors, more memory and more storage, but they didn't run programs any faster. Multithreading and heavy parallelism wasn't a thing at that time either.

Yes but not really.Before the 386, x86 PCs lacked hardware features for a proper Unix: the MMU.So while Xenix was technically Unix, in practice it was a poor substitute.

Only with the 386 "real" Unix came to the x86 PCs. And while it came out in 1985, 386 PCs were horribly expensive at first, so it took a few years for poor college students to have them at home.Thus, it was around this time that free Unix for x86 PCs happened: Linux came out in 1991, 386BSD in 1992.

"Murdock first came across GNU/Linux in 1993, when he was a 20-year-old student at Purdue University, studying accountancy: This was around the time that PCs were just starting to get fast enough to actually run things like Unix."Really? Microsoft offered Xenix for PCs already in the early 1980's. Also, most computers running Unix systems at that time weren't any more powerful in terms of processing speed than were PCs. At best they had more processors, more memory and more storage, but they didn't run programs any faster. Multithreading and heavy parallelism wasn't a thing at that time either.

Yes but not really.Before the 386, x86 PCs lacked hardware features for a proper Unix: the MMU.So while Xenix was technically Unix, in practice it was a poor substitute.

Only with the 386 "real" Unix came to the x86 PCs. And while it came out in 1985, 386 PCs were horribly expensive at first, so it took a few years for poor college students to have them at home.Thus, it was around this time that free Unix for x86 PCs happened: Linux came out in 1991, 386BSD in 1992.

And it's worth noting that the 386SX was "right out" too,... That meant that many of the early adopters wouldn't start trying Linux until the 486 came out, and was starting to be retired in favor of the newer Pentium machines. I was one of those,... playing with an early version of SuSE on an old 486 that I kept at my father's house (no room for the machine at my apartment).

Back in those days you needed to know every intimate detail about your hardware in order to get it installed. Mounting CD drives required the use of a command line mount or umount and the graphical environment was primitive.

"Murdock first came across GNU/Linux in 1993, when he was a 20-year-old student at Purdue University, studying accountancy: This was around the time that PCs were just starting to get fast enough to actually run things like Unix."Really? Microsoft offered Xenix for PCs already in the early 1980's. Also, most computers running Unix systems at that time weren't any more powerful in terms of processing speed than were PCs. At best they had more processors, more memory and more storage, but they didn't run programs any faster. Multithreading and heavy parallelism wasn't a thing at that time either.

Yes but not really.Before the 386, x86 PCs lacked hardware features for a proper Unix: the MMU.So while Xenix was technically Unix, in practice it was a poor substitute.

Only with the 386 "real" Unix came to the x86 PCs. And while it came out in 1985, 386 PCs were horribly expensive at first, so it took a few years for poor college students to have them at home.Thus, it was around this time that free Unix for x86 PCs happened: Linux came out in 1991, 386BSD in 1992.

And it's worth noting that the 386SX was "right out" too,... That meant that many of the early adopters wouldn't start trying Linux until the 486 came out, and was starting to be retired in favor of the newer Pentium machines. I was one of those,... playing with an early version of SuSE on an old 486 that I kept at my father's house (no room for the machine at my apartment).

Back in those days you needed to know every intimate detail about your hardware in order to get it installed. Mounting CD drives required the use of a command line mount or umount and the graphical environment was primitive.

The 386SX was fine. I've personally run Debian on an AMD 386 SX/40 back in the day. Admittedly that was a late 386, released when 486es were common, but there's no reason an appropriate version of Linux wouldn't run on an Intel 386SX/16.

The 386SX was slower than the 386DX due to its 16-bit data bus but was binary-compatible. Its main limitation was the 16MB RAM limit (24-bit address bus), although in the early days of Linux 16MB or even 8MB was sufficient.

Don't confuse presence or lack of an FPU with the DX/SX designation, as unlike the 486 where that was the distinction between the 486DX and 486SX, neither version of the 386 included one. There were both 387DX and 387SX FPUs to match the appropriate CPU.

Gosh, brought back memories of a dim and distant past! I used to work for an Apricot computer dealership back then. Look at these technical bulletins dating back to 1989 to get the 386 kit running SCO Xenix. Look what happened to SCO!

Historical trivia: the first 386 PC was Compaq's Deskpro386 in 1986. According to this 1988 article, price was $7,499 to $12,499, monitor not included.

And that is 1988 dollars, so pretty much $15,000 in today's currency. For a computer that could do text processing and some data entry.

My first real PC, after years of toying around with an Atari 800 XL, was a Compaq 286 that my parents bought used for something like three grand in 1991. The machine was probably 6 years old at the time. Again, that's almost twice as much adjusted for inflation.

It's crazy how cheap IT products have become. 25 years later and you can buy a Raspi with a keyboard, laser mouse and cheap LCD panel that is worlds better than the eye-cancer inducing monochrome 13-inch CRT I was using back then, all for under $100 - or fifty bucks of 1991 money.

And then you put Raspian on it and pay a little tribute to this guy, one of the many unsung heroes in an industry that puts just a select few people on pedestals, most of them more salesman than engineer.

Historical trivia: the first 386 PC was Compaq's Deskpro386 in 1986. According to this 1988 article, price was $7,499 to $12,499, monitor not included.

And that is 1988 dollars, so pretty much $15,000 in today's currency. For a computer that could do text processing and some data entry.

My first real PC, after years of toying around with an Atari 800 XL, was a Compaq 286 that my parents bought used for something like three grand in 1991. The machine was probably 6 years old at the time. Again, that's almost twice as much adjusted for inflation.

It's crazy how cheap IT products have become. 25 years later and you can buy a Raspi with a keyboard, laser mouse and cheap LCD panel that is worlds better than the eye-cancer inducing monochrome 13-inch CRT I was using back then, all for under $100 - or fifty bucks of 1991 money.

And then you put Raspian on it and pay a little tribute to this guy, one of the many unsung heroes in an industry that puts just a select few people on pedestals, most of them more salesman than engineer.

I remember my parents were considering putting the down payment on a new pickup truck. Instead they bought a Tandy 1000. Was a 286 with IIRC a 600 bps modem. 20 mb hdd was an upgrade.

I started my life with Linux on Debian 2.1 (slink) as my desktop OS. From there I started putting it on some servers I built while working as a student worker at my university's computer help desk. It was my go to server/appliance OS right up until 8.0 (jesse).

Now, I have a career as the sole Linux administrator at that same university (50+ systems and growing). I have to use Red Hat, but if it weren't for Murdock's Debian I wouldn't have a career right now. I developed all the skills I need to do my work on Debian. I tried others, but none fit my early development as well as Debian.

Thank you Ian Murdock and all who joined in on his monumental endeavor.

"Murdock first came across GNU/Linux in 1993, when he was a 20-year-old student at Purdue University, studying accountancy: This was around the time that PCs were just starting to get fast enough to actually run things like Unix."Really? Microsoft offered Xenix for PCs already in the early 1980's. Also, most computers running Unix systems at that time weren't any more powerful in terms of processing speed than were PCs. At best they had more processors, more memory and more storage, but they didn't run programs any faster. Multithreading and heavy parallelism wasn't a thing at that time either.

Yes but not really.Before the 386, x86 PCs lacked hardware features for a proper Unix: the MMU.So while Xenix was technically Unix, in practice it was a poor substitute.

Only with the 386 "real" Unix came to the x86 PCs. And while it came out in 1985, 386 PCs were horribly expensive at first, so it took a few years for poor college students to have them at home.Thus, it was around this time that free Unix for x86 PCs happened: Linux came out in 1991, 386BSD in 1992.

And it's worth noting that the 386SX was "right out" too,... That meant that many of the early adopters wouldn't start trying Linux until the 486 came out, and was starting to be retired in favor of the newer Pentium machines. I was one of those,... playing with an early version of SuSE on an old 486 that I kept at my father's house (no room for the machine at my apartment).

Back in those days you needed to know every intimate detail about your hardware in order to get it installed. Mounting CD drives required the use of a command line mount or umount and the graphical environment was primitive.

The 386SX was fine. I've personally run Debian on an AMD 386 SX/40 back in the day. Admittedly that was a late 386, released when 486es were common, but there's no reason an appropriate version of Linux wouldn't run on an Intel 386SX/16.

The 386SX was slower than the 386DX due to its 16-bit data bus but was binary-compatible. Its main limitation was the 16MB RAM limit (24-bit address bus), although in the early days of Linux 16MB or even 8MB was sufficient.

Don't confuse presence or lack of an FPU with the DX/SX designation, as unlike the 486 where that was the distinction between the 486DX and 486SX, neither version of the 386 included one. There were both 387DX and 387SX FPUs to match the appropriate CPU.

I think there's some confusion: the 386SX lacked an FPU but did have an MMU (which you really needed for most modern UNIXes). It's Motorola counterpart (the 68EC030) lacked both an MMU and FPU. The full 68030 added an MMU (the FPU was still external, unlike the full-fat 80386).

No, the 386 still lacked a built-in FPU; if you wanted one you had to buy a separate chip and hope your motherboard had the right socket. The first Intel x86 chip with an onboard math coprocessor was the 486DX, and their first x86 chip that had an FPU across all variants was the Pentium.

The 286 had a MMU also, but it was a fairly primitive one that mainly offered memory protection. The 386's was much more advanced.

No, the 386 still lacked a built-in FPU; if you wanted one you had to buy a separate chip and hope your motherboard had the right socket. The first Intel x86 chip with an onboard math coprocessor was the 486DX, and their first x86 chip that had an FPU across all variants was the Pentium.

The 286 had a MMU also, but it was a fairly primitive one that mainly offered memory protection. The 386's was much more advanced.

Ah, I was wrong. I thought the 386DX had an FPU; I was confusing that with the 486DX/SX

Any details on what happened to Ian Murdock? He was arrested twice and committed suicide in the same week? It sounds like there is more to that story.

The family have only stated that it's a private matter.

The police reports (if you trust them, but we haven't got anything to go on but their reports and some seemingly drunken tweets from Ian himself) say he was drinking heavily both times and while drunk tried to access someone's home.

We don't know the whole truth and possibly never will, but Ian definitely was in a depression spiral. He will be missed.

I was one of those lurking/ contributing to comp.os.linux.development way back then. Started with SLS - kernel 0.99pl15f, then went Slackware route - the floppies, the 14k internet at home, the 64k ISDN line at work - all of it was ponderously slow to get, but all of it was amazing, CD distros by post from the USA - still got them lying around.

Ah yes, the floppy images. I remember my first forage into the Linux world around 1998 or so, I found a 300 MB hard drive at Goodwill for $5.99, plugged it into my 486, spent the next week or so scrounging ~30 or so floppy disks and alternating between downloading images at school (My high school was the "hub" for the district so we had a T3 connection, all the other schools had a T1, and I had dialup at home) and downloading them at night at my house.. But there was some sort of non-standard part in my computer that nobody had written a driver for yet, so after battling corrupted floppies and such for weeks I bailed on it and went back to Windows until 2004 when Ubuntu came out and I gave it another try, used Ubuntu and Fedora primarily from then on until I went back to school and needed Windows.. (I used OpenOfffice but instructors insisted on DOCX) but now I do Linux driver validation so back to not using Windows :-)

No, the 386 still lacked a built-in FPU; if you wanted one you had to buy a separate chip and hope your motherboard had the right socket. The first Intel x86 chip with an onboard math coprocessor was the 486DX, and their first x86 chip that had an FPU across all variants was the Pentium.

The 286 had a MMU also, but it was a fairly primitive one that mainly offered memory protection. The 386's was much more advanced.

Ah, I was wrong. I thought the 386DX had an FPU; I was confusing that with the 486DX/SX

The funny part is, the 486SX did have an FPU that was physically disabled. Before 486DX all FPUs were external, hence the name (math) 'coprocessor'. One had to install an x87 coprocessor if there was a socket to overcome this limitation. On a 486SX motherboard, a 487 coprocessor (when installed) completely took over all operations and the main 486 processor was left redundant.

On a 386 and 286 motherboard, one could add a 287 coprocessor alongside to work with the main processor. I had a Tulip 286 portable in the day and I installed a 287 math coprocessor.

"Murdock first came across GNU/Linux in 1993, when he was a 20-year-old student at Purdue University, studying accountancy: This was around the time that PCs were just starting to get fast enough to actually run things like Unix."Really? Microsoft offered Xenix for PCs already in the early 1980's. Also, most computers running Unix systems at that time weren't any more powerful in terms of processing speed than were PCs. At best they had more processors, more memory and more storage, but they didn't run programs any faster. Multithreading and heavy parallelism wasn't a thing at that time either.

intel PC's around 1993 were much slower than the RISC Unix workstations. intel gained parity for a short while on integer performance with all but the fastest workstation CPUs (DEC Alpha 21064) when they released the Pentium Pro. This didn't last long, though intel's process advantage allowed them to stretch their legs with the Pentium III and bring about the slow death of the RISC CPU vendors.

No, the 386 still lacked a built-in FPU; if you wanted one you had to buy a separate chip and hope your motherboard had the right socket. The first Intel x86 chip with an onboard math coprocessor was the 486DX, and their first x86 chip that had an FPU across all variants was the Pentium.

The 286 had a MMU also, but it was a fairly primitive one that mainly offered memory protection. The 386's was much more advanced.

As far as I can tell, the 286 version of memory management (which I think could be enabled in a 386) would have been entirely sufficient to implement a Unix-style memory protection. It was not paged but segment based, but it did have supervisor and user modes (which the 8086 lacked). The biggest advance with the 386 was going from 16 bit to 32 bit. The PMMU was a pretty good thing too, but 32 bit was a pretty big deal.

As far as I can tell, the 286 version of memory management (which I think could be enabled in a 386) would have been entirely sufficient to implement a Unix-style memory protection. It was not paged but segment based, but it did have supervisor and user modes (which the 8086 lacked). The biggest advance with the 386 was going from 16 bit to 32 bit. The PMMU was a pretty good thing too, but 32 bit was a pretty big deal.

OS/2 implemented memory protection on the 286. So it's certainly possible to implement some form of memory protection in a 286.

However, ucLinux (a Linux kernel derivate to run on CPUs without MMUs) does not implement it, so it may not be easy/worthy to implement.More fundamentally, there are other common UNIX features that you can't implement without MMU, such as fork(), mmap(), etc.

No, the 386 still lacked a built-in FPU; if you wanted one you had to buy a separate chip and hope your motherboard had the right socket. The first Intel x86 chip with an onboard math coprocessor was the 486DX, and their first x86 chip that had an FPU across all variants was the Pentium.

The 286 had a MMU also, but it was a fairly primitive one that mainly offered memory protection. The 386's was much more advanced.

As far as I can tell, the 286 version of memory management (which I think could be enabled in a 386) would have been entirely sufficient to implement a Unix-style memory protection. It was not paged but segment based, but it did have supervisor and user modes (which the 8086 lacked). The biggest advance with the 386 was going from 16 bit to 32 bit. The PMMU was a pretty good thing too, but 32 bit was a pretty big deal.