Understanding Linux deeply includes not only how to use it, but also the reasons for its existence and how it works. This requires a journey into the past. Linux was not born in a vacuum. The system is the product of a series of events, ideological decisions, and global collaboration that spans over fifty years. The story of Linux began long before Linus Torvalds wrote a single line of code, specifically in the corridors of Bell Laboratories in the late 1960s.
2.1 The Origins of UNIX
2.1.1 Bell Labs and the Multics Project
Computers in the mid-1960s were expensive, massive machines operated in batches. Operators loaded programs using punch cards, ran them one by one, and users could only see the results hours or even days later. Interactivity between human and machine was virtually non-existent.
An ambitious consortium was formed to change this approach, namely Multics (Multiplexed Information and Computing Service). This project involved MIT, General Electric, and Bell Laboratories (AT&T's research division), with the goal of building a time-sharing system, an operating system that could be used simultaneously by many users in an interactive manner.
Multics was highly ambitious, but the project began to succumb to its own complexity. Bell Labs eventually pulled out of the consortium in 1969.
2.1.2 Ken Thompson, Dennis Ritchie, and the Birth of UNIX
Two engineers involved in Multics at Bell Labs, Ken Thompson and Dennis Ritchie, did not simply abandon the time-sharing idea. Instead, they took a lesson from the failure of Multics: a good system must be simple, modular, and elegant.
Ken Thompson began writing a new, far simpler operating system using a decommissioned PDP-7 computer in a corner of the laboratory. He had three targets: writing an OS, creating a shell, and creating an editor, each completed in one week. The new system was named UNICS (Uniplexed Information and Computing Service), which was partially a pun on Multics, and was later simplified to UNIX.
Initially, UNIX was written in assembly language. Dennis Ritchie then created the C programming language in 1972, a high-level language that could still access hardware directly. UNIX was rewritten in C, making it one of the first portable OSs because it could be compiled and run across different hardware architectures, rather than just one specific machine type.
The decision to write the OS in C was one of the most influential decisions in computing history. Almost all modern OSs, including Linux, Windows, and macOS, are still largely written in C and C++ to this day.
2.1.3 The UNIX Philosophy
Beyond technical aspects, UNIX also brought a highly influential software engineering philosophy. Doug McIlroy, one of the UNIX contributors, summarized it as follows:
"Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface."
This principle is known as the UNIX philosophy and remains the foundation of how command-line tools in Linux are designed today. The ls command only lists directory contents, grep only searches text, and sort only sorts, yet all three can be connected using a pipe (|) to perform far more complex tasks.
2.1.4 The Spread of UNIX and Licensing Issues
AT&T distributed UNIX to universities for a nominal fee in the early 1970s, including source code. This allowed the academic community to study, modify, and develop UNIX further.
One of the most important results of this distribution was BSD (Berkeley Software Distribution), developed at the University of California, Berkeley, starting in 1977. BSD added many new features to UNIX, including an early implementation of the TCP/IP networking protocol that became the foundation of the modern internet.
AT&T began tightening UNIX licensing over time. USL (Unix System Laboratories), as its subsidiary, began commercializing UNIX in earnest after AT&T's monopoly was broken up by the US government in 1984. License prices soared drastically, and UNIX usage at universities became increasingly restricted.
Questions arose regarding the fate of the community that had grown dependent on UNIX. The community questioned how anyone could learn, experiment, and build upon UNIX if the source code was locked behind expensive licenses. Richard Stallman then entered the stage of history at this juncture.
2.2 The GNU Project and Richard Stallman
2.2.1 The Xerox Printer Incident and the Moment of Enlightenment
Richard M. Stallman (often called RMS) was a brilliant programmer working at the MIT Artificial Intelligence Laboratory in the early 1980s. This lab was known as one of the best hacker centers in the world in the original sense: people who enjoyed deep exploration and creative problem-solving.
A minor event changed Stallman's life direction forever around 1980. The laboratory received a new Xerox 9700 printer that had technical issues, specifically frequent paper jams and no mechanism to notify users on other floors that their print job had stalled. Stallman wanted to modify the printer software to send notifications to users when paper jammed, a task he considered straightforward.
Xerox refused to provide the printer source code when Stallman requested it because the source code was a trade secret. Stallman could not modify the hardware that was physically in his hands.
This issue was not merely a technical frustration for Stallman, but a fundamental ethical issue. He questioned user rights in understanding and modifying the software they use, and how someone could own a computer yet be unable to control the software inside it.
2.2.2 The GNU Manifesto and Free Software Foundation
Stallman announced his project on the net.unix-wizards mailing list on September 27, 1983:
"Starting this Thanksgiving I am going to write a complete Unix-compatible software system called GNU (for Gnu's Not Unix), and give it away free to everyone who can use it."
GNU is a recursive acronym for GNU's Not Unix, a typical wordplay among hackers. The goal was to create a fully free operating system compatible with UNIX from scratch, without using a single line of code from AT&T's original UNIX.
Stallman published the GNU Manifesto in 1985, a document explaining the rationale and vision behind the GNU project. This document became one of the most influential texts in computing history. He founded the Free Software Foundation (FSF) in the same year as a non-profit organization to support free software development.
Stallman formulated the meaning of free in the context of software not as free of price (free as in free beer), but free as in liberty (free as in freedom).
2.2.3 The Four Essential Freedoms
The FSF defines free software as software that grants its users four essential freedoms:
- Freedom 0: The freedom to run the program for any purpose.
- Freedom 1: The freedom to study how the program works, and change it so it does your computing as you wish through access to the source code.
- Freedom 2: The freedom to redistribute copies so you can help your neighbor.
- Freedom 3: The freedom to distribute copies of your modified versions to others.
The numbering begins from 0, following programmer thinking patterns.
2.2.4 The GNU Project and Its Achievements
The GNU team produced many crucial operating system components throughout the 1980s:
- GNU Emacs (1985): A highly extensible text editor that remains actively used today.
- GCC (GNU Compiler Collection, 1987): A compiler for C, C++, Fortran, and other languages that became the primary compiler in Linux.
- GNU Bash (Bourne Again Shell, 1989): The default shell in almost all Linux distributions.
- GNU Make: A build automation tool.
- GNU Coreutils: A set of basic commands such as
ls,cp,mv,rm,cat,echo, and others. - GNU libc (glibc): The C standard library that serves as a fundamental layer for nearly all Linux programs.
One crucial component that remained unfinished was the kernel. The GNU project was developing its own kernel called GNU Hurd, but work on Hurd proved technically difficult and never became a stable system for general use to this day.
The GNU project had almost all components for a complete OS by the early 1990s, except for a working kernel.
2.3 The Birth of Linux: Linus Torvalds and the First Kernel (1991)
2.3.1 Linus Benedict Torvalds
Linus Benedict Torvalds was born on December 28, 1969, in Helsinki, Finland. He was introduced to computers through his grandfather's Commodore VIC-20, Leo Törnqvist, which sparked his passion for programming.
Torvalds majored in computer science at the University of Helsinki. He encountered MINIX in 1990 as part of his coursework. MINIX was a mini UNIX-based operating system created by Professor Andrew S. Tanenbaum for educational purposes. MINIX was designed to teach OS concepts to students, but its license was restrictive because it could not be freely modified and redistributed.
Torvalds decided to write his own operating system after growing frustrated with MINIX's limitations when running it on his IBM PC with an Intel 80386 processor. He used knowledge from his coursework and technical specifications of the 386 processor in the writing process.
2.3.2 The Historic Announcement: August 25, 1991
Torvalds posted a brief message on the comp.os.minix mailing list on August 25, 1991:
"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). I've currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I'll get something practical within a few months, and I'd like to know what features most people would want. Any suggestions are welcome, but I won't promise I'll implement them :-)
Linus ([email protected])"
Torvalds referred to his project as a hobby that would not become big and professional, a prediction that proved significantly incorrect. He had also successfully run Bash and GCC, meaning he had integrated GNU tools into his system.
2.3.3 Version 0.01 and Early Evolution
Torvalds released Linux version 0.01 to the public via an FTP server in Helsinki on September 17, 1991. This release was incomplete because the kernel was minimal, supported only Intel 386 processors, and required MINIX components to run. However, the source code was available and downloadable by anyone.
The community provided an incredible response. Programmers from all over the world began downloading, testing, reporting bugs, and submitting patches. Torvalds released new versions rapidly based on this feedback.
Key milestones in the early development of the Linux kernel are as follows:
| Version | Date | Notes |
|---|---|---|
| 0.01 | Sep 17, 1991 | Very minimal initial release |
| 0.02 | Oct 5, 1991 | First more complete public release |
| 0.11 | Dec 1991 | Self-hosting version (Linux could compile on Linux) |
| 0.95 | Mar 1992 | First time running X Window System |
| 1.0 | Mar 14, 1994 | First declared stable with IPv4 and networking support |
| 1.2 | Mar 1995 | First multi-architecture support (Alpha, SPARC, MIPS) |
| 2.0 | Jun 1996 | Multiprocessor support (SMP) |

This evolution did not stop at version 2.0. The Linux kernel continues to be developed without interruption to this day, and the version running on Ubuntu 26.04 LTS, which serves as the reference for this series, namely Linux 7.0, is the result of over three decades of contributions from thousands of developers worldwide. Every time we run uname -r in the terminal, the number appearing on screen is a trace of a timeline that began from 0.01 above.
2.3.4 A Crucial Decision: Adopting the GPL License
Torvalds initially used a custom license that prohibited commercial use. He then changed Linux's license to the GNU General Public License (GPL) version 2 in January 1992.
This decision proved highly crucial because the GPL license allows anyone to use, modify, and redistribute Linux freely, including commercially, as long as they distribute the source code of their modifications. This opened up broad participation from the community and corporate entities.
Using the GPL enabled Linux to legally utilize all existing GNU tools. The combination of the Linux kernel and GNU tools created a complete operating system.
2.4 The Name "Linux" and the Tux Mascot
2.4.1 From Freax to Linux
Torvalds originally called his project Freax, a combination of free, freak, and x (referring to UNIX). This name was briefly used in early source code.
The system administrator at the University of Helsinki, Ari Lemmke, needed to name the directory for the source code files uploaded by Torvalds. He disliked the name Freax and created a directory named linux without consulting Torvalds. The name was a combination of Linus and UNIX.
Torvalds initially felt the name was overly self-promotional, but the name Linux had already stuck and spread within the community, so he eventually accepted it.
2.4.2 The Tux Mascot: The Friendly Penguin
Torvalds decided Linux needed a mascot in 1996. He suggested a penguin as the mascot because he was once bitten by a small penguin at a zoo in Canberra, Australia, while attending a conference.
Larry Ewing designed the chubby, relaxed penguin character using the open-source program GIMP. The character was named Tux. The name Tux has several interpretations, including an acronym for Torvalds' Unix, short for tuxedo due to its coloring, or a combination of both.
Tux remains the official mascot of Linux and a widely recognized icon in the open-source world to this day.
2.5 The GNU/Linux Debate
2.5.1 Richard Stallman's Position
Richard Stallman felt uncomfortable when the system combined with GNU tools in the early 1990s was referred to solely as Linux without including GNU.
Stallman argued that the Linux kernel was only one component of the OS, whereas its largest components such as system utilities, shell, compiler, and libraries were products of the GNU project. According to him, calling the system simply Linux was equivalent to erasing the major contributions of the GNU project. Stallman consistently uses the term GNU/Linux and asks others to do the same.
2.5.2 Linus Torvalds' Position
Torvalds disagreed with this naming issue because he believed people were already accustomed to calling it Linux and understood what it meant. He argued that it was unrealistic to include every major contributor's name, such as Intel or the authors of the TCP/IP stack, into the OS name.
2.5.3 The Current Situation
This debate continues without absolute resolution. The term Linux is widely used by the general community, media, and corporations. The term GNU/Linux is used by the FSF and the free software community, which emphasizes ideological aspects. Projects such as Debian explicitly use the name Debian GNU/Linux in their documentation.
As a Linux user, knowing this debate is important not to choose a "correct" side, but to understand that the Linux we use today is the product of two major complementary projects, and both contributions deserve recognition.
2.6 The Philosophy of Open Source and Free Software
2.6.1 Two Schools of Thought with One Goal
Debates arose regarding strategy and presentation of the Linux concept as its popularity grew in the mid-1990s. Stallman and the FSF focused on freedom as an ethical and social issue. Proprietary software was considered unethical because it restricted user freedom.
Eric S. Raymond and Bruce Perens initiated the open source movement in 1998 using a more pragmatic term to make it more acceptable to the business world. Open source focuses on technical and practical benefits: open code is easier to audit, more secure, and higher quality.
Eric Raymond explained this development model in his essay The Cathedral and the Bazaar (1997):
- Cathedral: A closed development model managed by a small group of experts, similar to how Microsoft built Windows.
- Bazaar: An open, parallel development model driven by thousands of people, similar to how Linux is developed.
Linus's Law states that given enough eyeballs, all bugs are shallow.
2.6.2 Similarities and Differences
| Aspect | Free Software (FSF) | Open Source (OSI) |
|---|---|---|
| Primary focus | User freedom | Code quality and practicality |
| Basis of argument | Ethics and human rights | Pragmatism and business |
| Stance on proprietary | Morally rejected | Neutral, can collaborate |
Both streams support software whose source code can be accessed, studied, modified, and distributed. The term FOSS (Free and Open Source Software) is often used as middle ground.
2.7 The GPL License
2.7.1 What Is Copyleft?
Stallman designed the copyleft mechanism to ensure free software remains free forever. Copyleft uses copyright not to restrict, but to guarantee the freedom to use the code so it cannot be transformed into a closed proprietary product by third parties.
2.7.2 The GNU General Public License (GPL)
The GPL requires anyone distributing a program containing GPL-licensed code to include the source code under the same license. This nature is often called viral because the license extends to the entire codebase containing GPL code.
The Linux kernel uses GPL version 2. This means:
- Companies may sell Linux distributions (Red Hat, Canonical, SUSE do this).
- Companies may modify the Linux kernel for their products (Android, various embedded devices).
- However, they must release the changes made to the kernel publicly.
The impact of the GPL is felt in daily operations, though often unnoticed. Sysadmins running sudo apt install or sudo dnf install to fetch free packages complete with source code and open security updates enjoy the direct fruits of this license. Conversely, developers embedding GPL-licensed code into closed commercial products must be cautious, as the obligation to disclose source code is legally binding rather than a mere suggestion.
2.7.3 Other Licenses in the Linux Ecosystem
Besides GPL, the Linux ecosystem uses various other open-source licenses:
- LGPL (Lesser GPL): A more permissive version of the GPL for libraries, allowing proprietary programs to use LGPL libraries without being forced to open-source the entire program.
- MIT License: A highly permissive license with almost no restrictions, including permission to be used in proprietary software.
- Apache License 2.0: A permissive license that also includes patent grant provisions.
- BSD License: A family of permissive licenses similar to MIT.
2.8 Community and Collaboration
2.8.1 Distributed Development Model
The Linux kernel is developed using a model unprecedented in software engineering history. Thousands of individuals across different countries, working for different companies (or as volunteers), collaborate asynchronously over the internet to build a coherent system.
According to Linux Kernel Development reports from the Linux Foundation:
- Since 2005 (when the Git version control system was introduced), over 15,600 developers from more than 1,400 companies have contributed to the Linux kernel.
- An average of roughly 8.5 code changes are integrated into the kernel every hour, or over 200 changes per day. This metric continues to increase over time as contributor numbers grow.
- Companies that pay full-time developers to contribute to the Linux kernel include Intel, Red Hat, Linaro, IBM, Samsung, SUSE, Google, AMD, and many others.
Linux is the largest and most active software project on Earth.
2.8.2 Git: A Collaboration Tool Born from Linux Needs
Prior to 2005, the Linux project used a proprietary version control system named BitKeeper. When relations between the Linux community and BitKeeper's parent company degraded and access was revoked, Linus Torvalds designed and implemented a new version control system he called Git within about two weeks.
Git was designed to handle the scale of Linux development: thousands of patches per month, thousands of contributors, complex history, and the ability to work in a distributed manner without a single central server. Git is now the most widely used version control system globally, and platforms such as GitHub, GitLab, and Bitbucket are built on top of it.
2.8.3 The Role of the Linux Foundation
The Linux Foundation was formed in 2007 to support kernel development, sponsor Linus Torvalds, manage the Linux trademark, and support various other open-source projects.
2.8.4 Linux Distributions: The Concrete Form of Community
Hundreds of Linux distributions have emerged that bundle the kernel with selected components according to user needs. There are distributions managed by companies like Ubuntu and Red Hat, as well as those maintained by volunteer communities like Debian and Arch Linux.
2.9 Summary
- UNIX was born at Bell Labs in 1969 as a simple, elegant, and portable operating system written in C.
- The GNU Project (1983) laid the ideological groundwork that software must be free and provided essential system tools for Linux.
- Linus Torvalds wrote the Linux kernel (1991) and adopted the GPL license, triggering global collaboration.
- The name Linux and the Tux mascot became globally recognized visual identities.
- Open source and free software philosophies ensure code transparency and quality through open source access.
The next chapter will cover the technical anatomy of the Linux system, ranging from the kernel to the desktop environment.

