Let's start with what is GNU/Linux actually. In the beginning of the Linux,
people started building linux based distro bundling GNU utilities (which is
now
called coreutils in most distros). For those old distros it might be ok to
call
them GNU/Linux. Because that was all in those days. Now let's see what is in
the tools. There are exactly 101 small UNIX-clone tools in this package.
Check
yourself by

$ dpkg -L coreutils | grep '/bin/' | wc -l

GNU is "GNU is Not Unix". From the name you can see that GNU was born to be
a free/open clone of UNIX. Therefore it created all the free/open clones of
UNIX command line tools. All of these command line tools: cat, dd, tar,
uname,
etc. were the main product of GNU. However, to have a complete UNIX-like
computing system GNU lacked a OS kernel. They did start the GNU HURD
project.
And they failed to create it.

In the very beginning of Linux days, when Linux distros were only command
line
OS. The GNU/Linux made sense. But as soon as the plethora of desktop
software
like X, Window manager, DE, Office suite became a part of the OS, calling
a Linux OS GNU/Linux not only is irrelevant but also humorous. Those 101
utility tools are only the part of tens of thousands of software packaged in
now-a-days Linux distributions.

Innovation never stops on certain things. If GCC were not available Linus
would
build his kernel on one of several other available compilers. In fact, there
were better compiler available at the time, such as PCC. People could build
Linux distros with BSD utils, which has the exact same number of tools as
those
came from the original UNIX. Even if no-one would do that we would still
have
the BSDs.

Now let's see why uname reports linux as GNU/Linux. First of all, in the
original uname there is no such option for 'operating system'. It is added
by
the GNU people. Some BSD uname implement this option to be compatible with
GNU
uname. But that -o is actually -s. Just try to run "uname -o" in an OSX
machine.

The most interesting part of uname reporting GNU/Linux is that they
hard-coded
the name in their tools. Let's run the following commands in Precise
Pangolin:

$ apt-get source coreutils
$ sed -n '30554,30594p' coreutils-8.13/configure

and you will see the following output:

       winnt*)          os='Windows NT';;
       vos*)            os='VOS';;
       sysv*)           os='Unix System V';;
       superux*)        os='SUPER-UX';;
       sunos*)          os='SunOS';;
       stop*)           os='STOP';;
       sco*)            os='SCO Unix';;
       riscos*)         os='RISC OS';;
       riscix*)         os='RISCiX';;
       qnx*)            os='QNX';;
       pw32*)           os='PW32';;
       ptx*)            os='ptx';;
       plan9*)          os='Plan 9';;
       osf*)            os='Tru64';;
       os2*)            os='OS/2';;
       openbsd*)        os='OpenBSD';;
       nsk*)            os='NonStop Kernel';;
       nonstopux*)      os='NonStop-UX';;
       netbsd*-gnu*)    os='GNU/NetBSD';; # NetBSD kernel+libc, GNU userland
       netbsd*)         os='NetBSD';;
       mirbsd*)         os='MirBSD';;
       knetbsd*-gnu)    os='GNU/kNetBSD';; # NetBSD kernel, GNU
libc+userland
       kfreebsd*-gnu)   os='GNU/kFreeBSD';; # FreeBSD kernel, GNU
libc+userland
       msdosdjgpp*)     os='DJGPP';;
       mpeix*)          os='MPE/iX';;
       mint*)           os='MiNT';;
       mingw*)          os='MinGW';;
       lynxos*)         os='LynxOS';;
       linux*)          os='GNU/Linux';;
       hpux*)           os='HP-UX';;
       hiux*)           os='HI-UX';;
       gnu*)            os='GNU';;
       freebsd*)        os='FreeBSD';;
       dgux*)           os='DG/UX';;
       bsdi*)           os='BSD/OS';;
       bsd*)            os='BSD';;
       beos*)           os='BeOS';;
       aux*)            os='A/UX';;
       atheos*)         os='AtheOS';;
       amigaos*)        os='Amiga OS';;
       aix*)            os='AIX';;

Now take a close look. This is where gnu tools set the so-called "operating
system" option. You have certainly noticed that they have re-labeled any
kind
of linux as GNU/Linux by hand. You will also see that only when gnu is
installed in bsd distros it sets GNU/ prefix on them otherwise not. So the
GNU
people force the GNU/Linux name on Linux.

GIMP is not from GNU. It's from the GNOME foundation which is completely
seperate entity. GIMP only has GNU in its name. It doesn't have anything
with
GNU.

It makes more sense to call a Linux distro GNOME/Linux (if it's GNOME
based) or
KDE/Linux (if it's KDE) than GNU/Linux as people use those thousands of GUI
software rather than those 101 small command line tools.

The GNU tools were included just because Linus compiled the kernel with GCC
and
that made it more GNU tools compatible than the BSD ones. Also the earlier
distro creators thought it would be good idea to just build the distro with
the
compatible one rather than make it compatible with BSDs. And it is good
that we
have choice to make.

-- 
M. Nasimul Haque
Appliansys, Coventry, UK
http://www.nasim.me.uk
-- 
Ubuntu Bangladesh
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bd
  • Re: [Ubuntu-BD... Md Ashickur Rahman Noor
    • Re: [Ubun... sagir khan
    • Re: [Ubun... Sarim Khan
    • Re: [Ubun... সাজেদুর রহিম জোয়ারদার
      • Re: [... Nasimul Haque
        • R... Abu Ashraf Masnun
          • ... Bokhari, Saif Imam
            • ... A.B.M.Shamsuzzaman Sadi
              • ... Nasimul Haque
                • ... Bokhari, Saif Imam
                • ... Nasimul Haque
                • ... Abu Ashraf Masnun
                • ... Aniruddha Adhikary
                • ... সাজেদুর রহিম জোয়ারদার
                • ... Nasimul Haque
                • ... shiplu
                • ... সাজেদুর রহিম জোয়ারদার
                • ... Nasimul Haque
                • ... Abu Ashraf Masnun
                • ... Bokhari, Saif Imam
                • ... Nasimul Haque

Reply via email to