Did you know that 34 years ago today, one of the most important software projects ever launched off the ground with a humble post in a newsgroup on Usenet. That project was the Linux kernel, 21-year-old Linus Torvalds said that it was just a hobby and won’t be big or professional. How wrong he was.
Torvalds started the Linux kernel as a personal hobby, but never intended for it to be professional. The initial project was started in April 1991 and by July 1991, he was working on user-level aspects like device drivers and a working hard disk. Other early milestones included porting bash and gcc, and he made the first sources for version 0.01 available to a small group of users in September 1991.
Interestingly enough, the earliest version of Linux, version 0.01, was just source code and not actually runnable. Torvalds has said that it was released as a token gesture for those who were interested at the time. Another interesting detail is that early versions of Linux were non-portable and were dependent on i386 features and the GCC compiler - notably, i386 support was cut from the kernel in version 3.8 released in 2012.
The Linux kernel finally became useful in October 1991 when version 0.02 was released. It was a significant step as the first usable version. With that said, it was still a “hackers kernel” with plenty of bugs and missing features like a floppy driver. However, it was able to successfully run important binaries such as bash, gcc, and GNU utilities.
By version 0.11, released in December 1991, the system had improved with demand loading, code/data sharing, better drivers, and support for various keyboards and graphics. It was also a major milestone as it was the first to include the programs mkfs, fsck, and fdisk, making it no longer necessary to use Minix for setup.
It was around this point when the Linux kernel evolved from a solo effort to a collaborative one with the addition of new features coded by others, such as POSIX job control by tytso. As more people began to learn about Linux, the first mailing list, “Linux-activists” was created alongside mirror sites for FTP access.
The community helped address a critical problem by needing to run the system with less memory, this led Torvalds to implement disk-paging. The initial copyright used on the kernel was quite interesting too. It was lenient, but also restrictive because it didn’t allow money to change hands, this was later changed.
With the launch of version 0.12 in January 1992, the kernel had become very stable and began to spread faster. The version included major corrections, VM (paging to disk), and job control, addressing key user needs. By this point, Linux was doing many things better than Minix, gaining significant interest. Following this, the version number jumped from 0.12 to 0.95.
Linux has come on a long journey since these early releases with the third release candidate of Linux 6.17 arriving just yesterday. While Linux hasn’t had much traction on personal computing devices, hovering around 5% of marketshare, it has had tremendous success in other areas. It’s widespread on servers, powers most cloud infrastructure, runs on most of the world’ supercomputers, it’s in many embedded devices, and it’s the core of Android.
Happy 34th birthday Linux!