The original code of Linux was written for fun, or in Eric Raymond’s phrase, to ‘scratch the itch’ of Linus Torvalds, and later to satisfy the enthusiasm and programming itch of an assortment of hackers and hobbyists who, for the most part, had grown up in the age of the ZX80 and the BBC Micro, Acorns and Apricots, for which the code was often available – and hackable.
For those who spent their childhood or adolescence delving into the home computers of the late Seventies and early Eighties, playing with software was a learning experience, and something to be shared. Linux could be said to have grown out of this ethos as much as it grew out of the free software movement, or the early Nineties culture of Usenet where “if you wrote something neat you posted it to Usenet” and the only proviso that came with the software was that “if the software breaks you get to keep both pieces.”
As almost everybody knows, Linux came into being shortly after Linus Torvalds bought a PC in January 1991. As Lars Wilenius tells it, “He’d been using a Sinclair QL before that, which, like much British computer stuff, was ingenious and almost unusably different from everything else. Like every self-respecting hacker, Linus had written some software development tools of his own; an editor and an assembler, I think. He’d also modified the QL hardware a bit, to replace a broken keyboard, and to add a PC-compatible floppy drive. When he bought the PC, he wrote a device driver for the QL so he could move stuff from the QL to the PC.”
From Minix to Linux
Spurred on by a curiosity about Unix, and a desire to install a Unix-like operating system on his brand new PC, Torvalds installed a copy of Minix, the operating system developed as a teaching tool by Andrew Tanenbaum, and began to write a stand-alone terminal emulator to access the UNIX servers at Helsinki university. The terminal emulator grew beyond its original purpose, and by August 1991, Torvalds was able to announce to the comp.os.minix newsgroup on Usenet that he was “doing a (free) operating system (just a hobby, won’t be big and professional like GNU) for 386(486) AT clones.” (See bit.ly/1pAY3DH for the original post.)
The first iteration of the Linux kernel was written explicitly to explore the workings of the 80386 chip on Torvalds computer using GCC, the GNU C Compiler, and would “probably never support anything other than AT-hard disks, as that’s all I have.” The Linux kernel was machine specific and monolithic, and quickly attracted followers and critics. After a couple of months, Torvalds made the momentous decision to release the code under the GNU GPL, and quickly attracted the help and participation of a growing band of enthusiasts and hobbyists who, like Torvalds, had grown up in the age of the Sinclair QL and wanted to explore the code.
Swansea University had a “nice, very noisy multi-protocol network which was just perfect for crashing your computer. I started fixing these things, which is how I ended up doing the networking code, building on the base networking code that other people had done. I was pretty much downloading standards and learning it as I read… Some things weren’t really fixed until somebody became involved who really understood how the maths behind these things worked.”
Hackers and hobbyists
Linux undeniably had its roots and inspiration among hackers and hobbyists. Far from being a drawback, this is what gave Linux its vibrant drive and energy. The developers had little urge or necessity to satisfy the usual commercial urges or imperatives, and the software developed organically as an expression of the collective talents of the contributors. Linux and GNU demonstrated the power and potential of distributed software development, where anybody from any walk of life could contribute to the whole, and find a sense of achievement as an equal partner.
At one extreme, the projects that sprang from the nascent Linux community abounded with high-achievers. At the other end, those who had made a mess of their academic careers, or had developed enthusiasms far removed from their working lives and academic opportunities, were able to dip into the code and make a difference in an atmosphere that was ultimately democratic.
Packaged for delivery
Linux and GNU allowed home users the ability to explore the possibilities of the code, and the networking potential of their machines. Linux had replaced The Hurd as the kernel at the heart of the GNU operating system, and users began to package the elements of Linux and GNU into coherent ‘distributions’ with installers and partitioning tools that made the software accessible, and user tools that made the software friendly.
Owen le Blanc compiled the fi rst ‘MCC interim release’ of Linux in February 1992, named after the Manchester Computing Centre in Manchester, England. Later that year Peter McDonald released SLS (Softlanding Linux System), which was the first attempt to pull together all the available software to make a popular Linux distribution as we might recognise it today.
A collaborative trick
The arrival of Linux had coincided with the birth of the World Wide Web, and the first generation of students and programmers with wider access to the Internet. Out of this had grown the beginnings of what was to become an unplanned and organic methodology of distributed development which, when allied to the framework of free software, was to revolutionise the world of programming.
Murdock’s notion was to take this collaborative trick and apply it to the concept of a Linux distribution. Many hands make light work. They can also prod round the corners of an increasingly complex system and identify and remove bugs before they are released into the wider world. The Linux kernel developers pioneered this way of working, but Debian was the first project to be modelled explicitly on distributed software development.
Murdock announced the imminent arrival of Debian on comp.os.linux.development on 16 August, 1993. The announcement contained the seeds of much that was to feature later in Debian. The emphasis on reliability, stability, ease of installation, upgrades, and package management has been the defining characteristic of all Debian derived distributions ever since.
Debian, Red Hat and Slackware were the popular distributions of the Nineties. Debian was the community distribution and the conscience of Linux. Slackware was the most Unixlike, and Red Hat had the commercial edge. Nearly all the GNU/Linux distributions of the present, with some honourable exceptions, evolved from one or other of these distributions.
Under the radar
By the end of the decade, Linux had drifted in under the radar, alongside Samba or Apache, and had been ported onto every available piece of hardware from the smallest device to the IBM mainframe. Inevitably the big Unix companies began to take notice. Red Hat had its successful IPO, and Linux began to be supplied on hardware made by SGI, IBM and HP. Free software, under the sobriquet of ‘open source’, had arrived.
Of necessity, success has changed Linux and the Linux community, sometimes for the better, sometimes less obviously so. Commercial success has removed the uncertainties and has improved the polish and shine of most Linux distributions, but along with the rough edges, some of the fun and charisma and spirit of the early days has gone.
The success of Linux has changed the way we work, rest and play. Most Linux developers, old and new, are employed by big corporations and are well paid, often to work from home, and often to work independently. Developers are allowed more autonomy than used to be the case. Free software, to various degrees, has become acceptable as a way of business.
“Linux is now the embedded industry. It’s what you use,” notes Jeremy Allison. “It’s become the establishment, like a rock band that makes it big and starts demanding payments for its downloads. Linux has become like Metallica…
“But the best way to see how Linux has changed is to think of the parties. LinuxWorld used to be an alternative event, the Woodstock of the computing world. You went to LinuxWorld, and everybody got boozed up and had a good time. The stories I could tell you… A lot of people had a lot of good times. LinuxWorld was the rock event of the technology world, and then slowly but surely more and more suits started turning up, and by the end of it me and a few other guys were sat there not wearing suits in a sea of PR people.”
Times have changed, and not always for the better, but if some of the excitement of the early days has gone, the spirit lives on in community distributions such as Debian and Fedora, Gentoo and Arch, and even more so in the fun and freedom generated by Raspberry Pi, with its echoes of the past and its unlimited scope for experiment and play.