GNU, Linus Torvalds, and the Rise of Linux

Linux did not arrive as a complete replacement for Unix from one inventor. It became useful through the meeting of two efforts with different starting points: the GNU Project's long-running work on a free Unix-compatible operating environment, and a young Finnish student's kernel for the Intel 386. That division still matters when describing what a Linux system is, how it is licensed, and why it spread.

GNU set out to build a free system

Richard Stallman announced the GNU Project in 1983 and founded the Free Software Foundation (FSF) in 1985. Its stated goal was a complete operating system compatible with Unix, but available under terms that gave users the freedom to run, study, modify, and redistribute software. “GNU” is a recursive name: “GNU's Not Unix.” It did not mean that GNU had no relation to Unix; compatibility with familiar Unix interfaces was a practical route to useful software.

By the late 1980s and early 1990s GNU had produced important pieces: the GCC compiler, the GNU C Library, Emacs, Bash, core command-line utilities, a debugger, build tools, and more. These tools were valuable on existing Unix systems as well as on systems being assembled from free components. The project’s planned kernel, GNU Hurd, was based on Mach and a collection of user-space servers. It remained under development and did not provide the stable, broadly deployed kernel GNU needed at that moment.

Copyleft and the GPL

The GNU General Public License (GPL) is a copyleft license: it permits copying and modification, while requiring distributors of covered modified work to provide corresponding source and preserve the same freedoms under the license. Its effect is legal and economic as well as technical. A company can sell GPL software and services, but cannot distribute a modified GPL program as a closed binary without meeting the license’s source obligations. The GPL did not make collaboration automatic, but it supplied a common rule under which distributed contributors could share a code base.

Minix, the 386, and a modest announcement

Andrew S. Tanenbaum’s Minix, released in 1987 with a teaching-oriented book, gave students a small Unix-like system whose source could be studied. Its license and design goals differed from those of GNU and later Linux; it was not a free software replacement for every Unix use. Its importance to Linux’s early history is documented: Linus Torvalds used Minix on his personal computer and discussed his work in the Minix community.

On 25 August 1991, Torvalds posted to the comp.os.minix newsgroup that he was making “a (free) operating system (just a hobby, won’t be big and professional like gnu)” for 386/486 AT clones. The message is often retold as a prophecy story, but it was an invitation for feedback on a small project. The 386 mattered because it was a relatively affordable, widely available processor with features useful to an operating system, including paging and protected mode. Commodity PC hardware made it possible for people outside traditional workstation vendors to develop and run a Unix-like system.

DateDevelopmentSignificance
1983–1985GNU Project is announced; FSF is formed.A free Unix-compatible userland and development toolchain becomes a sustained project.
1987Minix is published.It provides a teaching system and immediate context for early Linux discussion.
August 1991Torvalds announces his hobby kernel project.Linux begins publicly as a 386-specific kernel, not a finished operating system.
1992Linux is relicensed under GPL version 2.Kernel development can join the wider free-software ecosystem under a shared license.
1993–1994Slackware, Debian, and Red Hat begin; Linux 1.0 is released.Distributions make installation, packaging, support, and administration more practical.
2005Torvalds creates Git for kernel source management.Distributed version control supports a large, fast-moving contributor network.

A kernel gets its name and a system around it

Torvalds initially used the name Freax for files on an FTP server. Ari Lemmke, who administered the server at Helsinki University of Technology, created a directory named linux; that name stuck. Strictly, Linux is the kernel: the part that schedules processes, manages memory and devices, exposes system calls, and implements many networking and filesystem facilities. A usable installation also needs a compiler, C library, shell, commands, init system, package manager, and applications.

That is why GNU/Linux is a precise name for systems combining the Linux kernel with GNU’s userland and libraries. Some people use “Linux” for the whole distribution, which is common shorthand. Neither naming practice should erase other contributors: a distribution may include GNU components, the Linux kernel, software from BSD projects, X.Org or Wayland components, language runtimes, and its own integration work. Android uses the Linux kernel, but its application framework, runtime, user interface, and usual command environment are not a conventional GNU/Linux distribution.

Relicensing and distributions

Early Linux releases used a license that restricted commercial distribution. In 1992 Torvalds moved the kernel to GPLv2. This was a consequential choice, but not a solitary explanation for adoption. Volunteers and employers could exchange patches openly; vendors could build products and sell support; universities and hobbyists could obtain source without negotiating a proprietary Unix license. The ability to inspect and adapt the system also mattered for new hardware.

A distribution turned a collection of source archives into an operating system people could install and maintain. Slackware emphasized a straightforward collection of software. Debian organized a community-governed distribution and package archive. Red Hat built commercial products and support around Linux, later separating community and enterprise-oriented projects. Package formats, release policies, security maintenance, installers, and documentation were as important to adoption as the kernel’s technical qualities.

How the development model works

Linux development is neither an unstructured crowd nor a single-company product line. Maintainers review changes for particular subsystems; patches travel through mailing lists and repositories; Linus Torvalds integrates releases through a hierarchy of trusted maintainers. Much work is now paid for by hardware makers, cloud providers, consultancies, and other companies, alongside individual contributors. This model can respond quickly to hardware and operational needs, while also demanding review capacity and careful governance. “Open source” describes access and licensing; it does not guarantee that every decision is easy, equal, or consensus-based.

# On a GNU/Linux host, identify the kernel and userland separately.
$ uname -srm
Linux 6.x.x x86_64
$ getconf GNU_LIBC_VERSION
glibc 2.x

# A portable script should not assume GNU-only command options merely
# because it is being developed on Linux.

From servers to phones

Linux grew strongly in Internet servers, where its cost, source availability, networking support, and ability to run on commodity x86 systems fit the economics of hosting. It later became central to much cloud infrastructure, although a cloud service is not simply “a Linux machine”: providers add virtual machines, managed storage, identity systems, network control planes, and proprietary operations software. Linux also runs in routers, televisions, industrial devices, supercomputers, and embedded products. Each use may expose very different interfaces to its operator.

Android demonstrates both reach and distinction. The Android Open Source Project uses a Linux kernel adapted for mobile hardware and security requirements, but applications ordinarily use Android APIs rather than POSIX or GNU command-line interfaces. A phone running Android is therefore evidence of Linux-kernel deployment, not proof that a Unix shell tutorial will apply unchanged.

Git is another outcome of kernel development, created in 2005 when the project needed a distributed source-control workflow. It is widely used far beyond Linux, but Git is not an operating system and its history should not be used to attribute all modern collaborative development to Unix alone.

Where the lineage stands

Linux remains the most widely deployed kernel in server and cloud environments and has broad support across processor architectures. Its users encounter it through distributions such as Debian, Fedora, Ubuntu, RHEL-derived systems, Alpine, and many specialist or embedded builds—not as a single uniform product. The kernel is usually GPLv2-only, while surrounding components use a mixture of GPL, LGPL, permissive, and proprietary licenses.

Its Unix inheritance is visible in processes, file descriptors, permissions, shells, C APIs, and network tools. Its current reality also includes capabilities, seccomp filtering, namespaces, control groups, systemd on many distributions, graphical stacks, and service orchestration that early Unix did not contain. Calling Linux “Unix” in a broad cultural sense can be useful; calling it the same operating system as historical AT&T Unix is not accurate. The enduring lesson is that compatible interfaces, source availability, commodity hardware, and institutions able to package and maintain software together changed who could build and operate serious systems.

References