A couple of days ago, I was asked a few history questions about GNU/Linux as part of a school assignment. I managed a large response, which probably bears repeating to a larger audience … so here it is!
Before getting down to detailed answers, I better point out the difference between "Linux" and "GNU/Linux". "Linux", strictly speaking, is a kernel. A kernel talks to hardware (CPU, memory, disks etc), and to applications, but does not talk to people. A kernel, on its own, is almost impossible to use by a person. You need more stuff to go with it, somewhere. That "more stuff" is generally called "an operating system", or "OS". These days, the main purpose of the OS is to talk to the user, and run programs for them. The OS needs to use the kernel to actually listen to the keyboard and mouse, and to get data onto the screen. GNU (which stands for "GNU's not Unix") is a project to produce a whole operating system that works just like a proprietary Unix OS, but is released under a Free Software license. It's a technical goal for political purposes. The founder of the GNU project, Richard Stallman, is currently visiting New Zealand -- http://tinyurl.com/rmsnz > When did GNU/Linux come into being? > With this question I want to do a bit of history of GNU, but focusing on > Linux. GNU/Linux never had a moment of creation. It is a very confusing political construct, not a technical one ... http://gnu.org/ tells us that the GNU Project began in 1984, trying to create from scratch all of the software needed to provide a unix-line OS. Sensibly, they left the kernel until last, as it would be impossible to use without all the other programs being in place. So they started pretty much with the compiler, gcc, that would enable to create the rest of the programs they'd need. Then they created a huge number of other smaller programs that are used to create and debug programs; often referred to as "a toolchain". After that, they split into two main parts; people developing a kernel, and people developing any other useful software utilities they could think of. Initially, the GNU project knew that it had to use "evil" proprietary software in order to start building their ethical Free alternative. But they intended to self-create everything they needed eventually; and in fact still do. Two of the earliest non-technical things they created were the GNU General Public License, which is the canonical example of a Free Software license; and the Free Software Foundation (FSF), which acts as the copyright owner of all the code in the GNU project. Many Free Software programmers around the world choose to use the GNU GPL as their Free Software license, without ever being part of the GNU Project itself. The Linux kernel, created by Linus Torvalds, was one of those extra projects (and in fact, still is). It uses the GPL, but is not part of the GNU project; one essential difference is that the FSF does not own the copyright to the Linux kernel. The GNU project does not use the Linux kernel. It uses the (still-in-development) Hurd kernel. "GNU/Linux" is a name used to describe operating systems that use the GNU Project toolchain and other GNU Project software, with the Linux kernel, to make something useable by people. Confusingly, before the GNU Project created this name, there were numerous operating systems that used both the Linux kernel and the GNU Project software; but the people who had created them were mainly intersted in the Linux kernel, and generally referred to the whole OS as "a Linux OS", or "a Linux distribution". The GNU Project feel that this ignores their highly significant contribution; after all, without the GNU software, you wouldn't be able to use the kernel. Not everyone agrees with the GNU Project in this regard; they agree that the GNU software is very useful, but it is not the only software that is needed to make a useable operating system -- it does not include X Windows, the GNOME desktop or the KDE desktop; and without those, there isn't a GUI. The GNU project point out that all these other things are actually compiled and debugged with the GNU toolchain, and therefore without GNU none of this would exist. The earliest "Linux distributions" were around 1992, 1993. Yggdrasil was the first to issue CD-ROMs, everyone else was still on floppy disks. The 1993 Slackware distribution is still in active development, and still does not call itself "GNU/Linux". The term "GNU/Linux" has a murky history, there have been several alternative phrases trying to get the same idea across over time. I think 1996 is a fair middle date to pick. http://en.wikipedia.org/wiki/GNU/Linux_naming_controversy > Why was GNU/Linux created? > With this question I hope to go into the ideals that prompted the > founding of GNU, then go onto why Linus Torvalds started the Linux project. Oh, sorry, I think I did some of the "why" in the previous answer. "GNU/Linux" is not a single thing, it was never "created". The GNU project was started because the founder, Richard Stallman, realised that it was an ethical imperative to preserve the freedom of the *users* of software, and that the computing industry was rapidly turning towards proprietary software. He started the GNU project to create a Free Software version of the popular and powerful Unix operating system, which at the time had many many incompatible proprietary variations. Linus Torvalds, on the other hand, was just a computer science student who was taking classes on Operating Systems, where they used a system called Minix. Minix was written by Andrew Tanenbaum, a professor at Vrije University in Amsterdam, intended to be similar to the underlying theories of Unix, but simpler and easier to understand (and therefor easier to teach to students), and was able to run on early 8086 PCs. Linus had purchased a 386 PC, which was the latest and greatest microcomputer at the time, and ran Minix. However, he found that it didn't use all the capabilities of the 386, and wasn't very efficient or nice. So he started to see what he could do with the 386 himself ... See here that Linux is interested in the *hardware* of the computer, not the user. This is why he started work on a program that would control the 386 hardware effectively; a kernel. Eventually in August 1991 he released the earliest copy of his program to the Internet, calling it "my new operating system", a "minix-lookalike". In October 1991 it was available from a FTP site, in a directory called /pub/OS/Linux -- he didn't choose the name, the person who ran the FTP server choose it for him! > How did GNU/Linux progress? > With this question I intend to look into the free software community, and > how they helped in the progression of GNU/Linux, from tiny kernal, to the > full GNU/Linux desktop we know and love today. This is probably the most difficult part to answer, to be honest. There are so many different types of people in the community today (including a huge portion, probably the majority, who do not agree with the name "GNU/Linux") that tracking backwards to see where they came from is a daunting task. There are a couple of tracks you can follow, however. The creation of the Red Hat and Debian distributions are incredibly important. BSD Unix (which is neither Linux nor even GNU, yet is totally technically equivalent, and Free Software too!). The origin of the term "Open Source" in 1998. The KDE desktop, and the creation of the GNOME desktop.