For many years now, a debate is raging in the annals of umpteen newsgroups and mailing lists. Should we call the Linux system as Linux or GNU/Linux? Here is my proposition in this matter.
What is GNU?
GNU ('GNU's not UNIX') is a project founded by Richard M. Stallman in 1984. The aim of the GNU project is to create a UNIX-like system without proprietary software. This project has contributed hundreds of useful software which can be freely distributed. Among the most important GNU software are the GNU Compiler Collection (gcc) and its C library (glibc), the Bourne Again Shell (bash), the GNU tar, the PostScript interpreter Ghostscript, and the GNU Network Object Model Environment (GNOME) -- a graphical environment.
What is Linux?
Linux is the name Linus Torvalds gave to the kernel of an operating system he wrote when he was a student at University of Helsinki, Finland. The kernel of any OS is the core of the system which manages processes, memory, disks and I/O (input/output). If you use a distribution of 'Linux', then a file usually named vmlinuz is the 'Linux'.
When Torvalds wrote Linux, the GNU system was still incomplete -- though it had all the necessary software, it still lacked a kernel. When Torvalds licensed his kernel under the GNU General Public Licence (GPL), it completed the system. One could have and use a computer running entirely on non-proprietary, free software: the core Linux kernel, plus the GNU utilities and other software licensed with varying degrees of freedom.
Why Call GNU/Linux?
There are many good reasons why you should call your Linux system as GNU/Linux.
* The GNU Project and the Free Software Foundation were responsible for the philosophy of free software, at a time when proprietary systems ruled the roost. Even BSD UNIX was proprietary at the time.
* The General Public Licence, which has proved to be a boon for the free software programmer community, has come from the GNU project. The Linux kernel itself is under GPL.
* The GNU project played a key role in the development of the Linux kernel, by providing important software including the C compiler used to create the executable.
* Even today, chances are 99% that your Linux kernel is compiled by the GNU C compiler, and uses the GNU C libraries.
* Apart from this, any typical Linux distribution contains hundreds of crucial software which are all part of the GNU project, whether you know or not. Let us take a typical software package. Usually they are present as a compressed tarball -- GNU zip (gzip) and GNU tar. You first run a script to configure the software -- GNU autoconf. You then 'make' the software -- GNU automake, GNU C compiler, GNU C libraries. You then run the software -- using the bash shell, part of GNU, perhaps under a terminal in GNOME -- again a part of GNU. See?
What does Linus say about this matter?
Linus Torvalds calls himself an apolitical person, and he doesn't care about this debate -- something Stallman terms as 'unfortunate'.
Counter Arguments Answered
Many people do not agree with these arguments. Let us see their counter-arguments and try to see whether they are right.
How does it matter whether I call it Linux or GNU/Linux?
It matters. When you call it GNU/Linux, you will be asked what GNU is, and it will provide an opportunity for the questioner to learn about GNU and free software.
What right do you have to force me to call it GNU/Linux?
Nobody is forcing you. It is a request to help propagate the idea of free software and significance of GNU project.
Don't magazines, Web sites and even distributions call it just Linux?
Unfortunately, yes. We cannot help, because we can only advise you, and not force you to call it GNU/Linux.
Let's say I compile foobar using Microsoft Visual C++ compiler. Should
I call it MSVC++/foobar?
This analogy does not stand. We are emphasising on the philosophy of free software, which give freedom to the user. Can you share your copy of VC++ compiler with your neighbours? If you think there is a bug in it, can you look at its source code? And finally, how much did you pay for it? Think about it. There are lots of other non-GPLed software in a Linux system, such as Apache, Perl and BSD software. For one, a GPLed software is not necessarily a part of the GNU project. There are thousands of GPLed software, but they are not part of GNU. But the most important and crucial software on any system -- the C compiler, the C libraries, the shell -- are part of GNU in a GNU/Linux system. You can have a working system without Apache, Perl or BSD software, but not without these three. Your Linux kernel is useless without them. BSD also has many GNU software. Why not call it GNU/BSD? BSD and GNU are two different philosophies. Under the BSD licence, you can do anything with the software as long as you retain their copyright and don't claim any warranty. You can modify it, derive proprietary software from it, and in general make profit out of it. GPL is not so liberal. Redistributions require that the modified source be released back to the community. It does not allow any individual to make profits out of a community effort.
But 'GNU/Linux' is so awkward! I can't bring myself to say that every time.
Yes, this is a valid argument. I will answer this question in the next section.
A Proposed Solution
A majority of users of the GNU/Linux system and manufacturers of such distributions agree that GNU has a key role to play in their system. The reason they are so reluctant to accept 'GNU/Linux' is because of the name itself. Most users are confused by this expression:
* How do I pronounce GNU?
* Should I say 'GNU slash Linux' or just 'GNU Linux'?
* Don't I say Win2k and make the listener understand that I am referring to Microsoft Windows 2000 Professional?
With these points in mind, I present a practicable solution to this debate on how to call the GNU/Linux system. First, the pronunciation: officially, GNU is pronounced as guh-noo. You say 'GNU/Linux' as guh-noo-lee-nuhks or guh-noo-ly-nuhks.
The key point is this: Use GNU/Linux in formal occasions; use Linux elsewhere. A rule of thumb is to ask yourself this question: 'If I were to write Windows instead of Linux, would I write Microsoft Windows
In any case, stick to their official names when referring to distributions of the GNU/Linux system. Do not call Red Hat Linux as Red Hat GNU/Linux. Similarly do not write Debian GNU/Linux as Debian Linux. Also, do not call the kernel as GNU/Linux: the kernel is always Linux.
To summarise: use Linux in informal conversations, chattings and text. Use GNU/Linux in speeches, conferences, meetings, essays and articles.
1. Download DKIM proxy wget http://downloads.sourceforge.net/dkimproxy/dkimproxy-1.3.tar.gz perl -MCPAN -e'CPAN::Shell->install("Net::Server")' perl -MCPAN -e'CPAN::Shell->install("Mail::DKIM")' perl -MCPAN -e'CPAN::Shell->install("Mail::DKIM")' tar -zxvf dkimproxy-1.3.tar.gz ./configure --prefix=/usr/local/dkimproxy make install 2. Generate Public and Private Key Generate a private/public key pair using OpenSSL: openssl genrsa -out private.key 1024 opens...
Comments