How Linux Came to Be - The Development History of UNIX

How Linux Came to Be - The Development History of UNIX
Page content

UNIX’s Role in Linux Development

It would be unfair to discuss the history of the development of Linux without giving a large portion of credit to the movement that made it possible.

Linux came to be through a series of events that date back all the way to the 60’s, before Linux’s creator, Linus Torvalds, was even born. That is when the development of UNIX, on which Linux was based, began. UNIX (originally known as Multics), was a joint project between Bell Labs, General Electric, and MIT. Multics was not a multitasking system, essentially meaning that if more than one person was using it, it would have to share its time, performing jobs for only one user at any given time. As Multics development waned, some of the original developing companies pulled out. The Multics developers, Ken Thompson and Dennis Ritchie, used their experience to create a similar but different operating system with a team at Bell Labs. As something of a pun on Multics, they named the project Unics. Unics developed to the point that it was a fully multitasking, multi-user operating system.

Linus Torvalds and Minix

Many commercial companies were involved in the development of UNIX through the 70’s and 80’s. The UNIX code, development rights, and licensing for it changed hands multiple times during this time frame. In addition, free and/or open source versions sprung up from multiple sources. One such version was Minix (literally Minimal UNIX), a small, open source UNIX version created by Andrew Tanenbaum.

It was this version of UNIX that Linus Torvalds used to model a project that he termed was “just for fun”. He wanted to be able to use a form of UNIX on the hardware he was currently working with and ended up creating the whole thing himself. Not long after, he realized what he had inadvertently created was an Operating System Kernel. Around this time, he posted the following on Usenet:

“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).”

How did these humble beginnings result in one of the most popular Operating Systems in use today?

Open Source, the Free Software Foundation, and the GNU Project

In short, the term Open Source refers to software that has its source code readily available and distributed, and implies an allowance that the code can be reproduced and modified for any purpose and by anyone. The only real restriction is that changes be credited to avoid confusion, and that any software that used open source code in its development must similarly be open source itself. For a more detailed explanation you can read the official Open Source Definition. Open source software is often called “free, as in freedom”, a term popularized by the Free Software Foundation.

In 1985, Richard Stallman, a former MIT employee and self proclaimed “hacker”, founded the Free Software Foundation. The Foundation’s goal was to create a large enough body of “free software” (free as in freedom, not as in free of cost) that a user could realistically never have to use software that wasn’t free. This endeavor came to be known as the GNU project. By the very early 90’s, the GNU project had produced a large variety of free software for all different purposes, but still didn’t have an operating system kernel to make their dream a reality. In 1992 they discovered Linus’s Operating System Kernel, Linux, and that is when Linux development really took off. The collaboration of GNU and Linux resulted in a complete repository of free software from which emerged hundreds of versions of complete GNU/Linux operating systems.

This post is part of the series: The Development History of Linux

Dozens of companies worked tirelessly to lay the foundation on which Linux was based. In this series we discuss the contributions of Multics, Unix, Minix, the Free Software Foundation and the GNU project, as well as provide a timeline of Linux’s development since its first release.

  1. Major Players in Linux Development
  2. Linux Development Timeline