Linux and GNU. Are They the Same?
Whenever you hear about Linux, I’m certain that the word GNU is also mentioned. As a matter of fact, most of the documents in the public domain mention Linux as GNU/Linux. Before understanding the inter-relationship between Linux and GNU, understanding them separately will give you a good idea of each one’s characteristics, origin, and the usage. Let’s first have a look at what GNU is all about.
GNU simply stands for GNU is Not Unix. Quit a complicated naming convention right? This is a software project initiated decades ago, in mid 1980s to be precise, to develop free software for the software user community. During this period, UNIX was making its way to the top as the most eligible operating system in the world. But, UNIX was not free. UNIX was sold commercially with a bundle of software. The users had to pay a price for using UNIX and its software. Therefore, some computer visionaries who believed that computer software should remain free for the general public started developing a UNIX-like system. The project of developing a UNIX-like system was named GNU, GNU is not UNIX!
In UNIX, there are two levels of software running in a system; the kernel and other application software. Therefore, it was GNU project’s goal to develop both components. Both development efforts had to be done in parallel. But for some unknown reason, the software development effort was more successful over the kernel development effort. By early 1990s, GNU project was rich with so many free software compatible with UNIX systems. But, still the kernel was not ready. GNU project now has free software, but no kernel to run them on.
By mid 1990s, kernel development for the GNU project started showing significant progress. The kernel was named GNU Hurd. Developing the kernel was lot harder than the GNU project members initially anticipated. GNU Hurd did not make itself to mainline computing till 2001. Let’s stop our story there for now and move towards Linux.
What is Linux
A young university student from Finland named Linus Torvalds was determined to develop a UNIX like system during early 1990s. For this, Linus had a different approach that had significant differences with the approach followed by the GNU project team. Instead of developing the application software first, Linus started off with the kernel. By mid 1990s, Linus was able to publish his kernel on the Internet. Since he has been doing this as one of his pet projects, Linux was not expecting much of attention for his then-tiny technology adventure. But it was not long that he grabbed the attention of the first class techies. Linus’s kernel was named Linux and continued to further enhanced by Linus and the rest of the community. Now, let’s stop this story here and observe a terrific coincidence.
Linux and GNU Integration
It was the perfect timing to start the journey of GNU and Linux together. GNU project had already developed hundreds of free software for a UNIX-like system, but no proper kernel was developed. On the other hand, Linus has developed a word-class kernel, but no free software. This was the perfect time to integrate both GNU software and Linux for completing the long-term free UNIX-like system goal.
With the advancements of the integration of GNU and Linux, different Linux flavours started coming to the market. These Linux systems consisted of the kernel done by Linus and software developed by the GNU project. This is why we call Linux systems, GNU/Linux. Linux is a result of two initiatives that aimed to develop free software.
I’m quite certain that you may have heard of free and open source software. This was the main objective of the GNU project. All the software developed by GNU project is free and open source. This means, anyone can use this software for any purpose, including modifications, and re-distribution. All the GNU software is licensed under GPL (GNU Public License) and open for the public domain.
So, Linux and GNU are the Same?
No. They are two different initiatives that contribute to the same purpose and objective. They are like the two sides of a coin; different but glued together. Together, both GNU and Linux work towards making the software available for free for the general public.
We got the answer for our main question; Linux and GNU, are they the same? But what if there are Linux systems that bundled with non-GNU software? Take RedHat Linux distribution as an example. This distribution (distro in short) has many proprietary software packages and libraries included in their bundle. If you obtain a copy of RedHat Server (any server version), you are not actually getting a GNU/Linux distribution. Of course it is Linux that you get, but not GNU/Linux. Not only RedHat is doing this, but also there are many other distributions following the same footsteps of RedHat. Therefore, now the Linux sphere has two schools of thoughts. One party, which is more commercialized, represents the Linux with proprietary software and other party, which still believes in free and open source philosophy, advocates GNU/Linux. This is the real war that takes place at the moment; Linux Vs GNU/Linux.
People usually select one of the two categories based on their needs. As an example, for the organizations that are wiling to leverage the strengths of open source, such as cost effectiveness, the solutions such as RedHat work fine. These business organizations are willing to pay for the software and related service they get. On the other hand, a researcher, or a student who would like not to spend money for software, can easily get hold of a GNU/Linux distribution. When they adopt a GNU/Linux system, some software and features present in commercial flavours of Linux may not be present. As an example, commercial Linux distributions may have a great support for all types of printers while GNU/Linux distributions may support only a limited number of printers. It is always the need that decides between Linux and GNU/Linux.