Linux: the story of a kernel old 25 years
Linux is clearly the most successful project in the open source history. This year, the world’s most known kernel turns 25, marking the quarter of century for this incredible project.
A bit of history
In 1991 a Finnish student at the university of Helsinki named Linus Benedict Torvalds started working on a personal project to create an operating system. The reason of being for this operating system was to enable its creator to take advantage of his new processor: the legendary Intel 80386 (the founder of the i386 family). This processor was the first 32-bit Intel CPU that implemented paging with a dedicated module. Two candidates were available at the time:
- BSD: Which was facing a lawsuit filled by Unix System Laboratories (AT&T).
- MINIX: that didn’t support the 32-bit 80386 processor. The source code was freely available but modification and redistribution were restricted.
Hence, student Torvalds started his operating system as an alternative to MINIX (which he was using to develop the soon-to-be Linux) in April 1991. (There are many stories about this fact, some say that Linus accidentally erased MINIX partitions during an operation. Some say that he couldn’t contribute to MINIX and started his own project. What story to believe to is up to you.)
On August 25th 1991 (by many considered the birthday of Linux) Linus Torvalds sent the famous message that announced the event:
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])
PS. Yes – it’s free of any minix code, and it has a multi-threaded fs.
It is NOT protable (uses 386 task switching etc), and it probably never
will support anything other than AT-harddisks, as that’s all I have :-(.
The name of the Kernel
One of the most unknown tales is related to the name of the world’s most popular kernel. In the 25th Aug announce, Linus never stated the name of his creation. He had already though of Linux but dismissed it as “too-egocentric”. In the end, Linus decided to go with Freax as portmanteau for free, freak and UniX. In order to facilitate development, Linus asked his friend and co-worker Ari Lemmke, a volunteer system administrator, to upload the file on FUNET (Finnish University and Research Network). Ari didn’t like the name Freax and decided to assign Linus a directory called Linux. On the 17th September 1991 the version 0.01 was released.
Linux is obsolete
Just a year later Andrew S. Tanenbaum, the author of MINIX and professor at the same university, wrote a Usenet post stating that “Linux is obsolete” referring to its architecture. Here are the most important facts from Wikipedia:
- The kernel was monolithic and thus old-fashioned.
- The lack of portability, due to the use of exclusive features of the Intel 386 processor. “Writing a new operating system that is closely tied to any particular piece of hardware, especially a weird one like the Intel line, is basically wrong.”
- There was no strict control of the source code by any individual person.
- Linux employed a set of features which were useless (Tanenbaum believed that multithreaded file systems were simply a “performance hack”).
This created the so-called Tanenbaum-Torvalds debate which would be concluded only years later.
GNU and Linux
Sadly, a kernel by itself gets you nowhere. To get a working system you need a shell, compilers, a library etc. These are separate parts and may be under a stricter (or even looser) copyright. Most of the tools used with linux are GNU software and are under the GNU copyleft. These tools aren’t in the distribution – ask me (or GNU) for more info.
Linux by itself gets you nowhere. That’s true. Much of the software you need to get a complete operating system like a shell, libraries and compilers were not part of Linux, they were “borrowed” from another project: GNU. GNU was almost complete by then, but it lacked a kernel (GNU Hurd) which wasn’t nearly as complete as Linux was. The next step was clear, a marriage between Linux and the GNU project tools created GNU/Linux, the operating system family we use on server and desktops nowadays.
Linux and licensing
Linus initially released the kernel under its own license. It wasn’t until version 0.99 released in December 1992 that Linus changed the license of the kernel to GPL. The GNU General Public License is a license developed by the GNU project that allowed modifications and distributions in a way different than before. GPL allowed people to freely access the code, modify it and redistribute if they wanted to. Years later Linus said “making Linux GPL’d was definitely the best thing I ever did.”
A mascot named Tux
In 1996, Torvalds announced that there would be a mascot for Linux: a penguin. That was due to the fact that during a visit to the National Zoo & Aquarium of Canberra, Aurstralia, Linus was bitten by a penguin. The original draft was drawn by Larry Ewing and the name Tux (from Trovald’s UniX) was suggested by James Hughes.
Linux and Microsoft
Microsoft has always had a bad attitude towards the penguin, today that is slowly changing thanks to Microsoft’s new CEO. Microsoft released Powershell for Linux and one year before even mono used .NET source code. But that hasn’t always been like that. Windows has always been a rival to Linux and Microsoft even had strategies against the open source philosophy. Windows still dominates the desktop market, but has also slightly changed (at least on the surface) its policy. This has even lead to say that “Microsoft Loves Linux” and to port Ubuntu on Windows 10. The real intentions behind Microsoft moves might be questionable, they are open up for interpretations.
Today the kernel is literally everywhere.
- It runs on 497 out of the top 500 supercomputers.
- It is widely used at server-level with distributions like RHEL and SLES.
- It powers the fast-growing OpenStack cloud software.
- It is inside many embedded devices and one-card-computers (e.g. Raspberry PI).
- It powers many routers and NASs.
But maybe the most prominent success is due to Android. This operating system developed by Google for mobile devices is at its core Linux. Android is estimated to run on 1.4 billion active devices. Google has also built its Chrome OS on top of Linux. The only market behind in this scene is the Desktop one. Windows smashes its rivals with astonishing shares, and Linux users are just around the ~1% of the desktops. Still many of us are waiting for the year of the Linux desktop. With so many distributions out there, the desktop user can feel the freedom but also the difficulty to choose one.
Linux isn’t still big in the desktop market, but has conquered pretty much anything else; still, there are many things to be improved especially in the desktop field. We’re still waiting Canonical to deliver convergence to its devices and things like that. The progress of Linux in these 25 years is simply amazing. Thank you Mr. Torvalds and every kernel contributor for your all hard work. If you liked this story, please tweet it to make it known to other people. See you in 25 years!
Featured image courtesy of Liam Quinn.