Skip Navigation

Today GNU/Linux is 32 years old

Happy birthday 🎊🎉 GNU/Linux.

Today GNU/Linux is 32 years old.

It was thankfully released to the public on August 25th, 1991 by Linus Torvalds when he was only 21 years old student.

What a lovely journey 🤍

169 comments
  • If we are marking the birth of Linux and trying to call it GNU / Linux, we should remember our history.

    Linux was not created with the intention of being part of the GNU project. In this very announcement, it says “not big and professional like GNU”. Taking away the adjectives, the important bit is “not GNU”. Parts of GNU turned out to be “big and professional”. Look at who contributes to GCC and Glibc for example. I would argue that the GNU kernel ( HURD ) is essentially a hobby project though ( not very “professional” ). The rest of GNU never really not that “big” either. My Linux distro offers me something like 80,000 packages and only a few hundred of them are associated with the GNU project.

    What I wanted to point out here though is the license. Today, the Linux kernel is distributed via the GPL. This is the Free Software Foundation’s ( FSF ) General Public License—arguably the most important copyleft software license. Linux did not start out GPL though.

    In fact, the early goals of the FSF and Linus were not totally aligned.

    The FSF started the GNU project to create a POSIX system that provides Richard Stallman’s four freedoms and the GPL was conceived to enforce this. The “free” in FSF stands for freedom. In the early days, GNU was not free as in money as Richard Stallman did not care about that. Richard Stallman made money for the FSF by charging for distribution of GNU on tapes.

    While Linus Torvalds as always been a proponent of Open Source, he has not always been a great advocate of “free software” in the FSF sense. The reason that Linus wrote Linux is because MINIX ( and UNIX of course ) cost money. When he says “free” in this announcement, he means money. When he started shipping Linux, he did not use the GPL. Perhaps the most important provision of the original Linux license was that you could NOT charge money for it. So we can see that Linus and RMS ( Richard Stallman ) had different goals.

    In the early days, a “working” Linux system was certainly Linux + GNU ( see my reply elsewhere ). As there was no other “free” ( legally unencumbered ) UNIX-a-like, Linux became popular quickly. People started handing out Linux CDs at conferences and in universities ( this was pre-WWW remember ). The Linux license meant that you could not charge for these though and, back then, distributing CDs was not cheap. So being an enthusiastic Linux promoter was a financial commitment ( the opposite of “free” ).

    People complained to Linus about this. Imposing financial hardship was the opposite of what he was trying to do. So, to resolve the situation, Linus switched the Linux kernel license to GPL.

    The Linux kernel uses a modified GPL though. It is one that makes it more “open” ( as in Open Source ) but less “free” ( as in RMS / FSF ).

    Switching to the GPL was certainly a great move for Linux. It exploded in popularity. When the web become a thing in the mid-90’s, Linux grew like wild fire and it dragged parts of the GNU project into the limelight wit it.

    As a footnote, when Linus sent this announcement that he was working on Linux, BSD was already a thing. BSD was popular in academia and a version for the 386 ( the hardware Linus had ) had just been created. As BSD was more mature and more advanced, arguably it should have been BSD and not Linux that took over the world. BSD was free both in terms or money and freedom. It used the BSD license of course which is either more or less free than the GPL depending on which freedoms you value. Sadly, AT&T sued Berkeley ( the B in BSD ) to stop the “free”‘ distribution of BSD. Linux emerged as an alternative to BSD right at the moment that BSD was seen as legally risky. Soon, Linux was reaching audiences that had never heard of BSD. By the time the BSD lawsuit was settled, Linux was well on its way and had the momentum. BSD is still with us ( most purely as FreeBSD ) but it never caught up in terms of community size and / or commercial involvement.

    If not for that AT&T lawsuit, there may have never been a Linux as we know it now and GNU would probably be much less popular as well.

    Ironically, at the time that Linus wrote this announcement, BSD required GCC as well. Modern FreeBSD uses Clang / LLVM instead but this did not come around until many, many years later. The GNU project deserves its place in history and not just on Linux.

  • Actually it's just called 'Linux'

    • I'd just like to interject for a moment. What you're refering to as Linux, is in fact, GNU/Linux, or as I've recently taken to calling it, GNU+Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX. Many computer users run a modified version of the GNU system every day, without realizing it. Through a peculiar turn of events, the version of GNU which is widely used today is often called Linux, and many of its users are not aware that it is basically the GNU system, developed by the GNU Project. There really is a Linux, and these people are using it, but it is just a part of the system they use. Linux is the kernel: the program in the system that allocates the machine's resources to the other programs that you run. The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. Linux is normally used in combination with the GNU operating system: the whole system is basically GNU with Linux added, or GNU+Linux. All the so-called Linux distributions are really distributions of GNU+Linux!

      • I’d just like to interject for a moment. I agree that it is most accurately just called Linux.

        The GNU project was an attempt to create a free POSIX compatible operating system. At least, that was the vision. Instead of starting with the kernel, as most OS projects do now, GNU started by writing the utilities and other important tools that such a system would use ( most notably the C library and C compiler ). In practice, GNU became an alternative userland that ran on the proprietary UNIX systems of the day. Even MINIX, while being a teaching OS, was proprietary and cost money. The only “free” UNIX was BSD and its existence was being threatened as it was being sued by AT&T ( inventors of UNIX ). Linus set out to create a “free” ( as in money ) POSIX system because none existed. His job was made significantly easier because of the existence of GNU and especially GCC and Bash which Linus selected because they were free ( yes, as in freedom but more important to him at the time — in terms of money ).

        Ironically, nobody used the term GNU / Linux in the early days of Linux. That is despite the fact that GNU + Linux would certainly have been the best description of what Linux was in the 90’s.

        These days though, the term GNU / Linux, while being politically important, is descriptively wrong.

        First, a relatively small fraction of the software installed on a typical Linux desktop is provided by the GNJ Project. The parts that define the experience for the end user ( eg. desktop environment ) are not GNU. Huge systems like X, Wayland, and Mesa are not even GPL ( they are MIT licensed ). Almost none of the GUI applications people use are GNU.

        True, most Linux distros ship the GNU userland. Not all though. Most importantly, what make a Linux distro a Linux distro is Linux, not GNU. GNU is not the important part.

        Linux dominates in the cloud. These days, the most important aspect of that is Linux specific containerization ( eg. Kubernetes ). Perhaps the most widely deployed Linux in the cloud is Alpine which uses MUSL instead of Glibc and Busybox instead of the GNU core utils. It is not GNU / Linux but it is certainly Linux.

        How is modern Linux gaming possible? Well, the emergence of things like Valve’s proton ( not GNU ) are certainly important. But GPU drivers like those from AMD and NVIDIA are even more important and those use infrastructure which is entirely Linux specific.

        Look at the Debian project. When we say Debian, we think of Linux and certainly it is one of the distros most likely to be called GNU / Linux. Debian Linux is certainly a Linux and provides the full Linux experience. Debian also offers Debian HURD ( a true GNU system ). Are Debian Linux and Debian HURD the same? They are both “Debian”. The answer though is that they are not at all the same. Debian HURD cannot even host all Debian packages. The truth is that Debian HURD is unsuitable for a huge percentage of the people that daily drive Debian Linux today. You are certainly not gaming on Debian HURD ( it lacks the Direct Rendering Infrastructure for example ). You are not live steaming or video editing either.

        How about software developers? I would argue that this is the audience that GNU was originally created for. Well, Debian HURD is unsuitable for them as well because Linux matters more than GNU. For most developers today, tools like Docker or Podman are vital and they depend on the Linux kernel completely to function. These days, these kinds of tools are more essential even than the compiler. You can switch from GCC ( GNU ) to Clang ( BSD - not GNU ) easily. But how are you using containers ( Docker / Podman ) or virtual machines on Debian HURD?

        As an extreme example of a Linux workstation, Chimera Linux installs with basically zero GNU software by default ( MUSL again and the FreeBSD userland including Clang / LLVM instead of GCC ). From the perspective of an end-user, it is exactly like any other Linux. Chimera uses GNOME as the DE which is not GNU either.

        I can make a Linux system that contains no GNU software and it is still Linux. I can do any of the things that I expect a Linux system to do ( as a desktop, as a server, or in the cloud ). GNU is historically important but, at this point in history, it is completely overshadowed and entirely non-essential. If I take away the Linux though, GNU offers me almost nothing that I expect from a modern Linux.

        GNU is still trying to create a free implementation of the kinds of UNIX systems that Richard Stallman encountered in the 80’s. An improvement of such systems you could argue but then again, it still has not got there. For the GNU project to be taking credit for what modern Linux has become is totally ludicrous.

        What you are referring to is Linux and, more specifically, certainly not GNU / Linux. “Linux” is not just the Linux kernel anymore—it is the massive ecosystem of software that was designed specially to run on Linux and to work together to create a Linux system. Often people use GNU on Linux but that does not give GNU the right to equal billing. Not anymore.

  • I read in "The Cathedral and The Bazaar" that Linux was not that revolutionary (it reused code and ideas from Mimix) but the collaboration of the entire talent pool from the Internet to develop the kernel is. Massively respect for Linus.

169 comments