Timeline of Linux
Linux from Linus Torvalds’s kernel in 1991 to mainline real-time support in 2024: free licensing, distributions, desktops, virtualization, containers, mobile devices, and kernel interfaces.
- Category
- Engineering & Technology
- Tag
- computing
- Events
- 21 events 1991–2024
- Generated
- by gpt-6-astra
1991: Torvalds announces his kernel project
Linus Torvalds announced a hobby operating-system project on the comp.os.minix newsgroup in August and shared early Linux code later that year. Written for his Intel 386 computer, the kernel could work with existing GNU development tools.
Wikipedia1992: Linux adopts the GNU General Public License
With version 0.12, Linus Torvalds replaced a license that restricted commercial redistribution with the GNU General Public License. The change allowed commercial distribution while requiring anyone who distributed the kernel, modified or not, to pass on the same license and make the complete source code available.
Wikipedia1993: Slackware packages a usable Linux system
Patrick Volkerding released Slackware, bringing the Linux kernel together with installation tools, libraries, and applications. Distributions made Linux practical for users who did not want to assemble every component of a working system themselves.
Wikipedia1993: Murdock starts Debian
Ian Murdock announced Debian as a distribution developed openly by a community. The project built its own packaging and governance practices and later became the basis for many other distributions, including Ubuntu.
Wikipedia1994: Linux reaches version 1.0
Linux 1.0 marked a stable kernel release after several years of public development. Networking, virtual memory, and support for common hardware made it a usable foundation for complete Unix-like systems on personal computers.
Wikipedia1996: Linux 2.0 supports multiple processors
Linux 2.0 added symmetric multiprocessing support, allowing a kernel to use more than one processor in a machine. Together with support for additional processor architectures, the release widened Linux’s usefulness beyond its original single-processor personal-computer setting.
Wikipedia1998: KDE releases an integrated desktop
The K Desktop Environment reached version 1.0, offering a coordinated graphical interface and applications for Unix-like systems. Its release gave Linux users a more consistent desktop experience than assembling unrelated window managers and utilities.
Wikipedia1999: GNOME releases its first desktop
GNOME 1.0 delivered a desktop environment built with a freely licensed toolkit. Initiated by Miguel de Icaza and Federico Mena, the project offered another major approach to making Unix-like systems accessible through graphical applications.
Wikipedia2001: Linux 2.4 adds a new networking framework
Linux 2.4 brought the Netfilter packet-processing framework into a stable kernel series, with iptables as a configuration tool. The framework supported filtering and address translation, strengthening Linux’s role in routers, firewalls, and network servers.
Wikipedia2003: Linux 2.6 improves scalability and responsiveness
Linux 2.6 introduced a new scheduler, improved threading support, and optional kernel preemption. The changes addressed both large server workloads and responsiveness on smaller machines, extending the range of systems served by one kernel.
Wikipedia2004: Ubuntu launches a desktop-focused distribution
Canonical released Ubuntu 4.10, based on Debian and supported by regular releases. Its emphasis on installation, desktop usability, and freely available media brought another route into Linux for personal-computer users.
Wikipedia2005: Kernel development moves to Git
Linus Torvalds created Git after free access ended to BitKeeper, the proprietary distributed version-control system the kernel had used since 2002. Linux 2.6.12 was the first kernel release managed with Git, which preserved that distributed workflow with free software for subsequent kernel development.
Wikipedia2007: Linux gains hardware-assisted virtualization
Kernel-based Virtual Machine entered Linux 2.6.20, allowing suitably equipped systems to run virtual machines using processor virtualization extensions. The kernel could provide virtualization support while tools such as QEMU supplied device models and other userspace components.
Wikipedia2008: Control groups organize resource limits
Linux 2.6.24 incorporated control groups, commonly called cgroups. Administrators and software could group processes and account for or limit their resource use, providing a building block later used by container platforms.
Wikipedia2008: HTC Dream launches Android on a Linux kernel
The HTC Dream, sold as the T-Mobile G1, was the first commercially available phone running Android. Google’s mobile platform used a modified Linux kernel beneath its own application framework and userspace rather than a conventional desktop distribution.
Wikipedia2013: Docker simplifies packaging applications in containers
Docker was released as open-source software for building and distributing containerized applications. It packaged existing Linux isolation mechanisms into an image-based workflow, helping developers reproduce application environments without creating a full virtual machine for each one.
Wikipedia2014: Linux exposes extended packet-filter programs
Linux 3.18 added the bpf system call, letting userspace load extended Berkeley Packet Filter programs that an in-kernel verifier checked for safety. Hooks for attaching them to sockets, tracing events, and other kernel paths followed in later releases, forming a basis for networking, tracing, and observability tools.
Wikipedia2017: Linux occupies every TOP500 entry
Every system in the November TOP500 supercomputer ranking ran a Linux-based operating system. The result documented Linux’s dominance within that benchmarked list; it did not mean every supercomputer in existence used Linux.
Wikipedia2019: io_uring adds shared-ring asynchronous operations
Linux 5.1 introduced io_uring, an interface that used shared submission and completion queues for asynchronous input and output. Applications could submit operations and collect results with fewer system-call transitions in suitable workloads.
Wikipedia2022: Rust infrastructure enters the mainline kernel
Linux 6.1 included initial support for writing kernel components in Rust. The infrastructure was experimental and intentionally limited, allowing developers to build and test language bindings before broader driver adoption.
Wikipedia2024: Mainline Linux gains real-time preemption support
Linux 6.12 included the remaining changes needed to enable the PREEMPT_RT configuration on supported architectures. Work previously maintained in a separate real-time patch set became available in mainline builds, improving control over scheduling latency.
Wikipedia