Connect with us
In today’s post, we are going to talk about what made Linus Torvalds develop Linux. First of all, you should differentiate between Linux, the kernel, and Linux, the operating system. Linus Torvalds created the former. The latter is a collaboration between millions of developers all around the world, involving the GNU Project, the Linux kernel development team headed by Torvalds, the various developers of the X Window System over the last 29 years, and others. This is why the Free Software Foundation asks that complete Linux operating systems using software from the GNU Project be referred to as “GNU/Linux.”
Torvalds was a 21-year-old college student with a PC based on an Intel 386 processor and nothing better than 16-bit MINIX to run on it. Both in his studies and on his own time, he was a user of Unix and Unix-like systems and a member of the Unix hacker community. By 1991, he and his fellow hackers had been waiting a long time for the completion of the GNU Project, which would have made a free, Unix-like operating system available for anyone to use and even modify as they saw fit.
GNU had reached the point where every component needed for a complete OS was available, except for the graphics server (which was already provided by X) and a fully functional kernel. GNU had made the mistake of trying to use a Mach microkernel, and it wasn’t working well (and still doesn’t to this day).
Torvalds, who knew how to code and had a very strong understanding of how Unix functioned, decided that he would try to write his own Unix-like OS kernel. He succeeded well enough that he both submitted his work to the university for credit and released it to the public in case anyone else wanted to work with it. He wasn’t the only one who was frustrated with the inability of GNU to deliver a functional kernel, and it so happened that a lot of people in the hacker community began to work with Torvalds on improving and advancing the work that he had started.
In February of 1992, five months after his first release, Torvalds released version 0.12 under the GNU General Public License, which got many of the coders from the GNU Project itself behind the effort. (Prior to this, most of the development had come from Linus’ fellow MINIX users.)
The Linux kernel was already better than GNU’s kernel effort (known as Hurd), the fact that it was now under the GNU GPL and hence receiving support from the GNU community helped Linux develop rapidly after that. The Linux kernel was able to run an X server by March of 1992, and in early 1994, it reached milestone version 1.0.0, capable of running X and the GNU userland tools at full capability.
Already, on 8 December 1992, the kernel was considered developed enough that the first commercial distro was released, Yggdrasil Linux/GNU/X. The Linux kernel was only 15 months from its initial release on 17 September 1991.
The rest is history about develop Linux.
Torvalds didn’t set out to become famous. In a Usenet post that he made about a month before he released the kernel, he had this to say:
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).
His “hobby,” and his willingness to share his work and collaborate on it with the world, effectively completed the GNU Project. According to one study, a commercial effort to develop a modern Linux-based OS (including the GNU tools, Linux kernel, and X server) would have cost $1.48 billion. Today, at least half of all enterprise servers run on OS’es based on a Linux kernel, and about 80 percent of smartphones (Android uses the Linux kernel as its base). It’s also become viable and useful as an everyday desktop OS. This response is being written on a PC running a Linux kernel. Now you know what made Linus Torvalds develop Linux.
Why did Linux succeed where the GNU Project failed by itself?
That’s not really a fair characterization of what happened.
The GNU Project began in 1983 as a community effort to write a complete UNIX-like operating system from scratch, and as free software that anyone could use or modify, as long as they returned any modifications to the community. This is the basis of the modern FOSS movement. GNU’s General Public License that governs free software is the gold standard today.
What transpired over the next few years is that GNU’s volunteers, a huge team of coders, created all of the components needed for a complete UNIX-like system, except for the graphics server (which was already there, in the form of X), and the kernel.
As that answer states, the plan to use a Mach microkernel to run GNU’s operating system failed. Even today, more than three decades later, this kernel does not work well. (It’s called GNU Hurd. GNU systems based on it are called GNU/Hurd, as opposed to GNU/Linux.)
Linus Torvalds independently wrote a simpler OS kernel, a traditional monolithic kernel, and put it in the public domain. The UNIX hacker community realized this could be the basis of a usable kernel for all of those GNU userland tools, and helped Torvalds develop his kernel further. When the GNU tools and X were mated to the Linux kernel, the goal of the GNU Project was realized.
To state that the GNU Project failed really isn’t true. They never intended to write the kernel from scratch. Mach was a project of Carnegie Mellon University to create a new kernel for BSD, but it was under an open-source license, so GNU could use it too. The problem was that the microkernel version of Mach has never worked well. The technology behind Mach was fine—a hybrid kernel version of it was used for NextStep, and in its successor, macOS—but GNU chose the ugly duckling and couldn’t make it pretty.
So they ended up getting a kernel from an alternative source, that just happened to be outside of GNU, and was written from scratch. But none of it ever would have happened if the GNU Project had not started it all. All the core components in modern Linux operating systems except the kernel and X/Wayland are GNU software. (Unless you count Android as Linux; it is very different.)
So the answer is that the Linux kernel succeeded because the GNU Project needed the kernel for it to succeed. They succeeded together.
And they changed the whole damn world.
Disclosure: Your support helps keep the site running! We earn a referral fee for some of the services we recommend on this page. Learn More
Follow us on: