How I came to find Linux

I saw my first Sun workstation in the winter of 1992, when I was an undergraduate at Purdue University. At the time, I was a student in the Krannert School of Management, and a childhood love of computers had just been reawakened by a mandatory computer programming course I had taken during the fall semester (we were given the choice between COBOL and FORTRAN—which even in 1992 seemed highly dated—and I had picked COBOL because it seemed the more “business” of the two).

Ten years or so earlier, my father, a professor of entomology at Purdue, had replaced his typewriter at work with an Apple II+. Thinking his nine-year-old son might get a kick out of it, he brought it home one weekend along with a Space Invaders-like game he had bought at the local ComputerLand. I spent hours on the computer that weekend. Before long, I was accompanying Dad to the lab at every opportunity so I could spend as much time on the computer as possible.

Being a nine-year-old boy, I was, predictably, attracted by the games at first, and my interest in games led to my first exposure to programming: computer magazines that included code listings of very simple games, which I would laboriously key in to the Apple—and, after hours of toil, hope that I hadn’t made a mistake (the Apple II, at least out of the box, utilized a simple line editor, so going back and making changes was very tedious, not to mention finding the errors in the first place).

Not long after, I met Lee Sudlow while hanging around the lab on weekends. Lee was one of Dad’s graduate students and had begun to use the Apple to assist in his experiments. Lee was always happy to explain what he was doing as I hovered over his shoulder watching, his helpfulness no doubt motivated—at least in part—by the fact that the snot-nosed nine-year-old scrutinizing his every move was his faculty advisor’s son. Oblivious to such things, I watched with fascination as he punched code into the Apple—code that he thought up himself, not code that he was reading from a computer magazine.

Between learning by example through studying the code in the magazines and Lee’s occasional tutelage, I was writing games and other simple programs before long, first in Applesoft BASIC and, later, in 6502 assembly language. To encourage my growing interest, Dad eventually bought an Apple IIe for home, and my love affair with the computer continued for several more years. However, as I entered my teenage years, the computer was gradually replaced with more pressing things, like baseball, music, and girls, and by the mid-1980s, the Apple was gathering dust in my bedroom closet alongside my collection of Hardy Boys novels and Star Wars action figures.

My obsession with the computer lay dormant for the next half-dozen years until it was fortuitously reactivated during that COBOL course in the fall of 1992. When the course ended, I naturally lost my account on the IBM 3090 mainframe where we did our assignments and lab work. Fortunately, as a student, I was entitled to a personal account on one of the university computing center’s machines, either the IBM or one of three Sequent Symmetry minicomputers running DYNIX, a variant of the UNIX operating system. A friend convinced me that UNIX was more interesting and had a brighter future than IBM’s VM/CMS, and I took his advice and applied for an account on one of the Sequent machines. The following week, I was the proud owner of an account on sage.cc, complete with the princely allocation of 500 kilobytes of disk storage. (Yes, I’m being sarcastic—500 kilobytes was a miserly sum, even for 1992. I eventually found ways to circumvent it.)

My appetite for UNIX was ravenous that winter. I spent most evenings in the basement of the MATH building basking in the green phosphorescent glow of the Z-29 terminals, exploring every nook and cranny of the UNIX system upstairs. It was eerily quiet in those terminal rooms, the only sound being the clack clack clack of a few dozen keyboards and the occasional whisper of, “Hey, look at this…” Often, after an evening of exploration, I would exit the building the long way, walking past the plate glass window where the computing center housed its machines, gazing in awe at the refrigerator-sized Sequent Symmetry I had just been using, watching the blinking lights and knowing that hundreds of people were still inside, if only virtually, thanks to the magic of time-sharing, a technique advanced computers used to divide the machine’s computational power among many users, providing the illusion that each user was the only one. Above all, I looked with envy at the system operators privileged enough to sit on the other side of that plate glass window wielding the almighty power of the “superuser” at the system console.

Unsatisfied with the Z-29s, I began prowling around campus after dark with a friend, Jason Balicki, to see what else could be found. Jason had been in the computer science program for a few years, so he knew where to look (though we did our share of new exploration—that was part of the fun—entering buildings at night and trying the doorknobs of rooms that looked like they might hold computers to see if they were unlocked).

The best labs, I learned, were in the engineering administration building (referred to around campus by its unfortunate acronym, ENAD), where several rooms of X terminals offered a grayscale graphical interface to the Sequent and other UNIX machines around campus. Soon, my preferred “hacking” spot (a term Jason had introduced to me) was in one of the X terminal labs, which were technically only for engineering students, a restriction that was not enforced by passwords—and that we dutifully ignored.

But the motherload of the ENAD building was to be found in its labs of Sun workstations. Unlike the lowly Z-29s and even the comparatively advanced X terminals, the Suns were things of beauty, with sleek cases and high-resolution color displays. Furthermore, Jason explained that they ran the best UNIX there was, SunOS, though the Suns were considerably better locked down than the X terminals, requiring an account on the engineering computer network to access them, so I didn’t get a chance to actually get my hands on SunOS until much later.

I was also accessing UNIX from home via my Intel 80286-based PC and a 2400-baud modem, which saved me the trek across campus to the computer lab on particularly cold days. Being able to get to the Sequent from home was great, but I wanted to replicate the experience of the ENAD building’s X terminals, so one day, in January 1993, I set out to find an X server that would run on my PC. As I searched for such a thing on Usenet, I stumbled across something called “Linux.”

Linux wasn’t an X server, of course, but it was something much better: A complete UNIX-alike operating system for PCs, something I hadn’t even contemplated could exist. Unfortunately, it required a 386 processor or better, and my PC only had a 286. So, I began to save my pennies for a machine fast enough to run it, and while I did that, I devoured everything I could get my hands on about the object of my desire. A few weeks later, I posted a message to Purdue’s computing interest Usenet group asking if anyone on campus was running Linux—and got one response, from a computer science student named Mike Dickey, who happily invited me over to show me his Linux setup. Inspired, I bought a box of thirty floppy diskettes and began the slow process of downloading Linux to the floppies from a PC lab in the Krannert building, though it would be another month before I could afford an actual computer on which to install it. Finally, I could wait no longer, and Jason and I found an unlocked computer lab in one of the dorms containing a single PC, and in the middle of the night one evening in February, we proceeded to install Linux on that lab PC. I still occasionally wonder what the unfortunate student first to the lab the next morning must have thought.

 

Linux had been created about a year and a half before by Linus Torvalds, a twenty-one year old computer science undergraduate at Helsinki University. A long-time computer enthusiast, Torvalds had followed a path roughly similar to my own, though he began his programming career on a Commodore Vic-20, and he hadn’t gotten distracted by the more traditional interests of teenage boys as the ’80s progressed. Torvalds’ first exposure to UNIX was in 1990 during a course at the university, and like me, it had been love at first sight.

In the fall of that same year, Torvalds took a course in operating systems that used the textbook Operating Systems: Design and Implementation by Andrew Tanenbaum, a professor of computer science at Amsterdam’s Vrije Universiteit. Tanenbaum’s book taught operating systems by example through a UNIX clone for PCs he had written called MINIX, and his book included the complete source code—the human readable (and editable) programming code—for MINIX along with a set of floppy diskettes so that readers could actually install, use, and modify the operating system.

Intrigued, Torvalds bought a PC in early 1991 and joined the burgeoning MINIX community, tens of thousands strong and largely held together by the Usenet newsgroup comp.os.minix. He began experimenting not only with MINIX but also with the new task-switching capabilities of the Intel 80386 processor that powered his PC. (Task-switching makes it easier to run more than one program on the processor at the same time, one of the requirements of a time-sharing system like the Sequent Symmetry I would discover the following year at Purdue.) By the summer of 1991, Torvalds’ experiments with task-switching were beginning to evolve into a full-blown operating system kernel, the basic piece of software in an operating system that mediates access to the CPU, memory, disks and other devices in the computer and provides a simpler interface to these basic computing functions that allows complex applications to be written more easily.[i]

MINIX was not the only “hobbyist-friendly” operating system project that existed in 1991, though it was one of only a handful that was complete enough to be usable, and one of only a few that would run on the lowly PC. The best-known operating system project by far was GNU, presided over by Richard Stallman. Stallman, who had been programming since the mid-1960s and had been a systems programmer at MIT from 1971 to 1983, was an old school “hacker,” someone who engages in computing for its own sake and believes, militantly in some cases (including Stallman’s), that all information should be freely shared.

The GNU project’s goal was to produce a free operating system (free not only in price, but also free in the sense that it could be freely modified) that was compatible with UNIX (GNU was a so-called recursive acronym for “GNU’s Not UNIX,” so-called because it employed a powerful technique often used by programmers called recursion that involves a computation using itself as one of its inputs). Stallman launched the GNU project in 1983 in response to the growing market for proprietary software, software for which the source code could not be modified and was often not even available.

Proprietary software was a fairly new development in the early 1980s and, to Stallman, a very disturbing one. Up to that point, software had largely been distributed freely with hardware, and hackers often shared copies of its source code along with their own changes and improvements. Stallman considered the growing trend toward proprietary software nothing short of the first step toward a digital 1984 in which computer users, and eventually all of society, would be held captive by greedy corporate interests, and he was determined to stop it.

By mid-1991, Stallman and a loosely-knit group of volunteers had assembled most of the GNU operating system—a compiler, a debugger, an editor, a command interpreter (or “shell”), and a variety of utilities and programming libraries that were just like UNIX, only better—the GNU versions were almost universally held to be superior to their namesakes. The only piece that was missing was the kernel, and a small team had just been created at Stallman’s Free Software Foundation, a non-profit organization he had formed in 1985 to oversee development of GNU and serve as a guardian of sorts for free software, to write that final piece. Hackers around the world believed it would just be a matter of time until GNU was finished and available, and they would finally have an operating system free of corporate encumbrances.

Half a world away, Torvalds’ own operating system kernel was becoming complete enough to release to the world. In a now-famous Usenet posting to comp.os.minix on August 25, 1991, he 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).

The response was immediate and overwhelming. While everyone expected GNU to be done imminently, it was not available yet, at least not in a form that could be used without a UNIX scaffolding underneath. And while MINIX was popular, it was not free, though it was certainly inexpensive compared to the other UNIXes. Perhaps most importantly, though, MINIX was intended primarily as a teaching aid, not production software, so Tanenbaum was loathe to include many of the patches, or changes to the operating system, that extended its capabilities which flowed in daily from hordes of enthusiastic users around the world, fearing their addition would make MINIX too complicated and, thus, harder for his students to understand.

The lure of a UNIX-like operating system for PCs, no matter how imperfect, that was free and could evolve at the speed its community wanted it to evolve was too much for many MINIX users to resist, and they began flocking in droves to Torvalds’ new OS, which in the fall of 1991 would be dubbed “Linux.” But Linux was just a kernel—it required a variety of tools and applications be installed on top of it to make it actually do anything useful. Fortunately, most of these already existed thanks to Stallman’s GNU project.

By 1992, a few intrepid users began to assemble sets of floppy diskette images that combined Linux with the GNU software tool chain to make it easier for new users to get up and running. These collections (later called “distributions”) got progressively better, and by the time I finally got my PC in March of 1993, the Softlanding Linux System (or SLS) distribution had expanded to those thirty diskettes and now included a wealth of applications—and, yes, the very same software that powered the X terminals in the ENAD building.

 

I never did get around to trying to connect the Linux-based X server now on my PC to the Sequent, which would have been painfully slow at 2400 baud—several thousand times slower than the speeds of today—anyway. Now I had my very own UNIX to explore right there on my desk. And explore I did, in a veritable UNIX crash course. Once I got over the thrill of being the “superuser,” the unspeakable power I had previously seen only behind plate glass, I became enraptured not so much by Linux itself as by the process in which it had been created—hundreds of people hacking away at their own little corner of the system and using the Internet to swap code, slowly but surely making the system better with each change—and set out to make my own contribution to the growing community, a new distribution called Debian that would be easier to use and more robust because it would be built and maintained collaboratively by its users, much like Linux.

 

Update: Any interest in a FOSS History Project?

 

[i] Glyn Moody, Rebel Code: Inside Linux and the Open Source Revolution, Basic Books (2002), p. 8, 13, 32-42.

57 comments on “How I came to find Linux

  1. M

    Inspirational. Thank you for your contribution to humanity. I hope we are able to carry the torch forward!

  2. Adam Haile

    I still keep a disk from Debian Beta 0.91 in my desk drawer: http://i.imgur.com/584EHdK.jpg . If my memory serves, that would have been early ’94? Much of what you write was common to many of us at the time — finding (and stealing time from) the best labs on campus, stacks of floppies, late nights of hacking together early open source. What’s different is that you made something incredibly useful out of that. Thank you.

    1. Ian Murdock Post author

      Nice! Yep, that would indeed have been early ’94. And you are so right–it was a very common experience for so many of us. In this era of always-connected-everything-at-your-fingertips-all-the-time it’s good to stop and remember / remind what things used to be like, particularly given an increasing number of technical people never experienced them first hand. -ian

  3. K. Y. Philip

    Thanks for sharing your story with the world. I recently had Debian installed in my laptop and home PC, and have a son studying ECE at Purdue, so I found your article very interesting.

  4. Jason Balicki

    Man, I remember when you wrote dselect in bash (or sh? perl? Something interpreted anyway.) and how blazingly fast that was on your 486.

  5. Greg

    Weird. You and I have a decent amount of common history. I remember those Z-29s and that X term lab in ENAD vividly, though I had no clue what I was doing and, as an undiscipilined Chem E (and eventually Journalism) dropout, I had little business being there. And we worked together at ExactTarget.

    Twenty three years ago, you may have anonymously given me advice on fgrep or something.

  6. Jason Balicki

    “I still occasionally wonder what the unfortunate student first to the lab the next morning must have thought.”

    IIRC (and I’m probably not,) those boxes were automatically re-imaged frequently via some bootp-like process. Maybe I’m thinking of something else, though — I vaguely remember there were some diskless PC labs there, too.

  7. Barry Priest

    I was at Purdue at the same time. And am curious about something: with all the lurking in the Pucc labs in the Math building, how did you not fall into the company of ksb and ab and the Purdue Daemons (volunteer group), granted they were heavily slanted to BSD on the PC rather than Linux.

    Mentor and sage seemed so incredible back then, and then they got the masspar machine that showed the data flows between the processors on front panel with LEDs.

        1. ks braunsdorf

          Now it is sulaco. As I said on Facebook today, I am proud that so many people I pulled into the Daemons and did short courses for did Great Works with the clues I offered. I hope to go back to teaching a UCCS here in Colorado Springs in the spring term (if not sooner). This time a grad level class.

          Ian, you can bother me any time. I have time to inspire a few more Great Works from the willing.

          Remember the word is Vast, Sparse, and Nonconvex. So don’t feel constrained!
          (props to John Comstock Doyle).

  8. Glazed

    I’ll be installing Debian on a machine I’m building, in just a few days. Thanks for the background story. Reflecting on this story will make my future experience with Debian more interesting and human.

  9. Kevin

    Your story took me back to my high schools Commodore PET desktops. I begged my momto spend 6 or 9 $ on a Cassette tape of games to use with the schools tape drives..I listened to it in my boom box, trying to understand the code for a race car gsme called NAB & a great grandaddy of the Amigas loderunner called miner 49er..my friends Dad, who stuck around for him, had a PCjr we played a 6 disk game on called Kings Quest rom SIERRA….i had a lot more fun when i figured out how to change the variables for more gold, added silver & increased the speed in nab.. PEEKing & POKEing was also a. lot of fun with the PETs. Now Ubuntu MATE 14, REBECCA 17, KNOPPIX, XP PRO all share my hsrd drive with 10.04 LTS that still works great while i tty to join a Raspberry Pi to a LEAP motion interface.. should have stayed in college like you did..i’d be making a lot more than construction pays..& the joining would have been done long ago…Your words gave me happy memories of whar was supposed to have been.. keep up with the wonderful gift of Linus & Richard..People like you, this sites’ regulars, TOR an on, an on, watchers all, such is the lot for some of us, just watching through the plate glass window as Shannara-like, Allanon-style Sages & TechnoMages make Reality everday..Thank You for the memories..

  10. Atul Asthana

    Ian, hats off to you.

    Debian (and its derivatives/variants) have revolutionised the desktop computing scenario (apart from other computational/communication devices).

    Thanks for your efforts, we are in a more open world.

    My son was bitten by Linux at the age of 5, and his tinkering/hacking Linux has now become his career.

  11. Michael Carriers

    I run a company where almost all the employees are using windoze, but crutial parts (main app server, file servers, and my personal pc and laptop) all run under flavours of debian.

  12. Paul Leddy

    enjoyed the flashback very much

    if current readers are still stuck on windoze at work/home, install cygwin for a taste of linux. it’s free!

  13. UX-admin

    It’s a shame that FreeBSD did not get GNU/Linux’s spot; they say it is because at the time, BSD was embroiled in a court case with AT&T, but I am not sure what exactly made GNU/Linux take BSD’s place. After all, BSD was and remains free.

    Now we have an operating system based on the GNU/Linux kernel which is not fully POSIX nor System V (nor anything else) compliant, does not correctly implement NFS V3 and V4 functionality, comes configured out of the box with an out of memory killer which shoots a process at random when applications exhaust overcommitted memory, has several subpar container solutions, does not have a *production ready* filesystem like ZFS, has no adequate post mortem debugging like Solaris’s kdb, and runs just as slowly and laggardly as Microsoft Windows, laden with bloatware, with users coming from the Windows-at-home background, slowly converting it to work like Windows (systemd, anyone?)

    Maybe SmartOS or some other Illumos based distribution will finally get us where we need to be, with a free-as-in-beer, fully standards compliant, true System V UNIX. The only free, open source System V Release 4.0 UNIX.

  14. Robert

    Almost at the same time I was on slackware Linux on a new 386 SX+math coproc coming from a commodore 128D on CP/M for microsoft Italy Unable to sell me M$ Fortran 80 for It. My unlove 4 M$ started early I preferred OS/2 over WIN NT and went Linux be4 than IBM iself (I still miss OS/2 object oriented desktop).
    What cobol where U using is it still available today?

  15. Josh

    Fond memories. For me it was BASIC programming on the Atari 400 at home, and using the Atari 800 and TRS-80 Model 1s and Model 3s at school. Moving to an 80286 “AT Jet” 12 Mhz PC at home running FidoNet BBSs, etc. Sadly, this nerd was distracted by teenage distractions in the 80s – hence, no story to tell.

  16. Rob Keeney

    Great story! I was at Purdue at the same time, majoring in CS. My first account was on sage too. I spent a lot of hours in the basement of MATH too. One of the coolest things was getting a Data Over Voice (DOV) connection when I moved back into the dorms my senior year– always-on connection right there in my room!

  17. Matt Z

    I remember discovering Linux through the campus email computers at SJU. I was a physics major so all we were required to do is a basic course, but I also had a dad that introduced me to computers at an early age–he worked for Bell Telephone, so my brother and I got walk through s of their PTR system and played on the teletype on loopback mode while he fixed the switch. He got us a TI 99/4A and my brother and I were off. By 16 I had saved enough up for a copy of Borland Turbo C++ and in college–since all classes were in pascal(yuck)–I was relegated to hacking on the email servers.
    The WWW was a baby back then and I came across the geek code on gopher and lynx–being a DND nerd, I was drawn to the ‘character sheet’ like presentation of skills. One of the codes was L and the description had something vaguely to do with being an elite hacker if you knew Linux and not actually being a hacker but a wannabe, I decided I should learn it.
    I remember the day that I showed up at the computer lab with 2 12 inch long boxes of 3 and 1/2 inch floppies to download slackware to install on my Packard Bell P60 based computer. I never quite got X running correctly, but it did lead to me falling into a masters in comp sci and a computer career. Good times. The magickal feeling that came with linux was almost as cool as the magick I felt when programming Mr. Bojangles on the TI99/4a.

  18. mono

    What a great read. This took me back to my childhood (early 90s) and the countless hours spent on our 286. Learning to program, writing small TSR programs for DOS, hacking tetris, exploring the seemingly endless inner workings of the computer. Funny thing is my dad considered exposure to computers important but we could never afford Internet access. My adventures were limited to a single system, a single OS, a handful of programming languages. I remember a friend of my brother gave me a hard copy of a document titled Surfing the Information Superhighway (or something like that). In there I learned about a strange new world of gopher, finger, telnet and electronic mail. I dreamed about using these systems but most of them have vanished by the time I first experienced the Internet. I went on to study comp sci where I was introduced to Linux. The first distro I ever installed was Debian Woody. Thanks for giving me a tool that I’ve since used almost every day. Something that has become a second nature.

  19. The Darkener

    You are awesome. Thanks for the story, lots of cool nostalgia =) I started on a C=64 at age 5, then shortly a C=128 then a 286 at age 12…BBSes, late night hacking, ahh..the memories!

  20. Shannon VanWagner

    I wear my Debian t-shirt with pride, quite often!! Thanks so much for this fantastic software, and all that you do for GNU/Linux! IMHO – Debian will forever be one of the most amazing examples of community and computing technology ever in the history of modern science. Totally awesome!

  21. Pingback: Debian创始人谈他怎么发现Linux的 - 基登网

  22. Pingback: Debian创始人谈他怎么发现Linux的-来科技

  23. Pingback: Links 20/8/2015: Fedora 24 Plans, Ubuntu Phones in India | Techrights

  24. Wang Yingming

    It is so great story! I do use Linux from 1998. I completely gave up using Windows in 2006.
    I like Linux! It is great OS, in Linux, I can do anything that I’s like to do.

  25. Geoff

    As a child of the 80s, I also followed the Commodore PET -> VIC 20 -> C64 path, and went from college into UN*X administration in the early 1990s. Thanks for bringing all that back for me, and thanks for Debian, I’ve used Ubuntu for years and I guess I owe you some thanks!

  26. Pingback: Any interest in a FOSS History Project? | Ian Murdock

  27. Martin

    Another grateful reader/Debian user. Many thanks for taking the time to post that article, a fascinating read.

  28. Haralambos

    Hi Ian, many thanks for your work! I have been a happy Debian user, from about 2002. Getting ADSL is what made it click for me-smooth updates. RPM hell was no fun.

    Greekgeek :-)

Comments are closed.