gnu-misc-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GNU/Linux Naming


From: Alexander Terekhov
Subject: Re: GNU/Linux Naming
Date: Fri, 07 Dec 2007 12:17:30 +0100

Rui Miguel Silva Seabra wrote:
> 
> On Fri, Dec 07, 2007 at 10:35:41AM +0100, Alexander Terekhov wrote:
> >
> > Rui Miguel Silva Seabra wrote:
> > [...]
> > > No, Linux is a kernel, you can get all of it in a single tar ball at
> > > http://www.kernel.org/  ... you know, neat packages called
> > > linux-VERSION.tar.bz2 (for instance).
> >
> > Have you ever visited that site, mini-RMS?
> >
> > http://www.kernel.org/
> >
> > <quote>
> >
> > What is Linux?
> >
> > Linux is a clone of the operating system Unix, written from scratch
> > by Linus Torvalds with assistance from a loosely-knit team of hackers
> > across the Net.
> >
> > </quote>
> 
> Yes, I know the Linux developers are from a school of belief where the
> operating system is the kernel, your point?

Does the following help, mini-RMS?

-------
Operating Systems

Richard Stallman's argument for calling Linux "GNU/Linux" is put forth
in his article "Linux and the GNU Project". In essence, he claims that
the operating system is really the GNU System, and that the GNU Project
should get credit for it.

This is wrong. The confusion lies in the definition of "operating
system". To call all of the GNU System an operating system is a mistake.
One prime example is GNOME, the GNU desktop environment. A computer with
GNU installed but without GNOME, has no less of an operating system than
if it had GNOME installed. The GNU System as a whole is properly known
as an "operating environment", a very different beast than an OS.

Not content to rest upon the vast accomplishments of the GNU Project,
Mr. Stallman frequently disparages the Linux kernel as just a minor
undertaking. In a message posted to the license-discuss mailing list at
opensource.org, he wrote:

...the above statement suggest that Linus' contribution was just a snap
or some stroke of luck. 
"That's exactly what it was. Linus was not aiming or planning to help
complete a free operating system." 
Just what is an operating system then? Merriam Webster's dictionary
defines it as "software that controls the operation of a computer and
directs the processing of programs (as by assigning storage space in
memory and controlling input and output functions)" So what part of the
typical Linux distribution is the operating system? Simply, the kernel,
and the name of that kernel is just plain "linux".

But the linux kernel cannot operate in isolation. The kernel can be
copied to a floppy in order to create a boot disk, and until the
standard kernels became too large, this was the typical way to create a
boot disk. But there has to be something to boot to! There also needs to
exist any software that the kernel itself relies upon, and any software
necessary to interact with the kernel.

A Mental Excercise

A good mental excercise is to take a Linux distribution and start
removing stuff while keeping a working operating system intact. So let's
toss out the X Window System and everything that relies on it, such as
KDE or GNOME. Then toss out your editors, text mode web browsers and
mailers, and so forth. You also need to get rid of any useful utilities
that are not strictly necessary for the kernel operation.

At this point you should have already thrown out the development tools.
Although some of these may be necessary to actually build the kernel,
they are not necessary for it's normal operation. For some people, not
including the gcc compiler as part of the operating system is a very
radical notion. But if we are to call something "GNU/Linux" just because
it is built with gcc, then we might as well start calling everything
with a "GNU" prefix. Most of the BSD guys would choke on the term
"GNU/FreeBSD"! Be honest with yourself and throw it out. This is just a
mental excercise...

And now you need to throw out any programs that can be replaced with
alternatives. Thus, if you haven't already done so, throw out bash
because it can be replaced with a myriad other shells. The reason we are
tossing these things out is not to make an unusable distribution, but
merely to eliminate any optional programs that might otherwise make
Linux be properly called "GNU/Linux".

Once we are done, what we have left is more than just the kernel, but
still slightly less than the classic two-floppy "emergency"
distribution. At this stage it is time to examine what part of the
remainder is GNU, and if those GNU parts are sufficient to call the
operating system "GNU/Linux".

The parts that remain in our now mutilated distribution will vary from
person to person, but much of it will be the same. Are there any of the
GNU file utilities left, like dd, ls and mv? They should have been
thrown out already. Not only are these strictly unnecessary for kernel
operation, they are optional because they can be replaced by
alternatives from BSD or other sources.

What's Left

So what do we have left? Well, of course there's the kernel. And
probably lilo, the linux boot loader. Some of the utilities from the
standard util-linux package will remain, as well as a file system of
some kind, probably ext2fs. So far, none of these are GNU software. When
we look at what's left that still comes from GNU, we find only glibc,
the GNU C library. (and maybe some miscellaneous stuff depending upon
how lenient you were during the above harrowing process)

So only glibc is left. But glibc is a pretty big thing! Every Unix
system needs a C library. Is it sufficient to require that Linux be
called "GNU/Linux"?

Note: I have recently been informed that even glibc is not required for
the normal operation of our "minimal" distribution. The kernel does not
use it, and it is replacable for any software that still requires a C
library.

Glibc was designed to be portable to many different operating systems.
This is because it wasn't created to be a part of an operating system,
but to be a part of a development suite. From the GNU C Library page:

"The GNU C library is designed to be portable. Although the library
sources are very complex, you can build it for any supported system with
the simple commands configure & make" 

Also telling is Richard Stallman's description of combining the linux
kernel with the GNU System:

"Putting them together sounds simple, but it was not a trivial job. The
GNU C library (called glibc for short) needed substantial changes.
Integrating a complete system as a distribution that would work ``out of
the box'' was a big job, too. It required addressing the issue of how to
install and boot the system--a problem we had not tackled, because we
hadn't yet reached that point. The people who developed the various
system distributions made a substantial contribution." [Linux and the
GNU Project] 

Besides the rather strange implication that it was GNU that did this
integration, note that glibc needed substantial changes to get it to
work with Linux. If Linux were merely a kernel replacing GNU's Hurd
kernel, then nothing would have to have been changed. But the opposite
was the case! It was GNU that had to conform. If nothing else, the term
"GNU/Linux" should be changed to "Linux/GNU".

The conclusion is inescapable. The operating system normally called
"Linux" was the result of Linus Torvalds and others who worked with him
to create it. It should properly be called just plain "Linux".

Operating Environments

But what people normally get when they purchase Redhat Linux, Debian
GNU/Linux or Corel LinuxOS is not just an operating system. They also
get an operating environment (plus lots of other stuff). An operating
environment is what we normally think of when we think of Linux. It
includes a shell, editors, file utilities and the like.

The GNU Project set out to create not just an operating system, but also
an operating environment and additional programs and utilities. From
their website:

"But the reason it is a system--and not just a collection of useful
programs--is because the GNU Project set out to make it one. We made a
list of the programs needed to make a complete free system, and we
systematically found, wrote, or found people to write everything on the
list. We wrote essential but unexciting major components, such as the
assembler and linker, because you can't have a system without them."
[Linux and the GNU Project] 

Their list was not an operating system list, but a list of all possible
kinds of programs people would want to use with an operating system. It
even included games! A subset of this list would be the GNU System, the
GNU Operating Environment.

But when you look at the list of programs included in the typical Linux
operating environment, you'll find that they are not all from GNU. A
shell is certainly necessary for an operating environment, but very few
distributions require that it be bash. And a lot of stuff in the
environment is from the BSD camp! And although a lot of GNU software is
included with the Linux operating environment, most of it are optional,
and all can be replaced by alternatives.

The question to ask then, should the various Linux distributions be
named "GNU/Linux" because they include the GNU Operating Environment? If
this were just a matter of changing the name because the GNU development
tools were included, the answer would be a firm no. After all, many
operating systems include the GNU development tools. And it doesn't
really matter how important some users think they are. The some
collections of software are considered essential by many users, but it
would be ludicrous to call something "Corel X/KDE/LinuxOS" or "SuSE
Perl/Apache/Linux" for this reason.

The Distributions

In the final analysis, it must come down to who actually puts together
these systems. And these people are the distributors and creators of
Linux distributions. If it were a case where the distributors simply
took the GNU System and swapped in the linux kernel and related
software, then Richard Stallman would have a very good case for calling
this thing "GNU/Linux". But there is no evidence that this is what
happened. The GNU System had not been released as a whole (or even
released as a whole sans kernel) by the time the early Linux
distributions were made. In fact, to this day GNU hasn't released a GNU
System in toto (2).

It was the folks who created the first Linux distributions that molded
Linux into its modern form. They were the ones who did the final
integration of the operating system with the operating environment. They
were the ones who picked which software would be included. They were the
ones who made it happen.

And they did not take the GNU System and insert the Linux kernel. Rather
the opposite in fact. They took the Linux operating system, added an
infrastructure, then looked around for useful software to go with it.
Some of this software came from the GNU Project. But they also included
software from BSD and other projects. By and large, what they included
was what they were already using with other non-GNU operating systems,
like 386BSD, Minix and other Unix systems. They didn't use the Mr.
Stallman's list of GNU components as a recipe, they decided what would
be included all on their own.

Thanks to the tireless efforts of the GNU Project, there was a lot of
free software available for them to pick from. But that is not
sufficient reason to call the distributions "GNU/Linux". GNU created a
lot of the ingredients, but the distributors did the cooking.

The proper name of the operating system is "Linux". It's solely up to
the distributions to call name their offerings. Thus, the proper name
for Redhat Linux is "Redhat Linux". Others are called "Slackware Linux",
"Corel LinuxOS" and "SuSE Linux". One of the distributions calls itself
"Debian GNU/Linux". That's its perogative.

Postscript

Calling a distribution just plain "Linux" isn't denying Richard Stallman
and the GNU Project any credit for the contributions they have made.
They already get tons of credit. It is impossible to crack open a book
on Linux without finding accolades about GNU and the Free Software
Foundation. They are getting the credit they deserve. It's just strange
that they want more.

So what does Linus Torvalds say about this whole brouhaha?

Oh, Gods, not the lignux thing again..

No, Linux should not be spelled Lignux. There's a lot of GNU code out
there, but it should stand on its own instead of trying to get a free
ride on the Linux name recognition.

I _am_ very indebted to the gcc developers, who have made sure that
there's a good high-quality compiler out there that everybody can use,
but that doesn't really mean that they get to choose their own name for
the system.

Your midwife doesn't select the name of your babies..

["Transcript of Chat With Linus Torvalds", Linus Torvalds, 5/5/99,
ABCNEWS.com] 

------------------------------------------------------------------------------

Footnotes

He once called it "LiGnuX". Here is a brief history of the term "lignux"
as taken from the emacs changelogs: 
1996-03-26  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
    * configure.in: Use lignux instead of linux as value of opsys.
1996-06-21  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
    * configure.in: Rename lignux to linux-gnu in configuration names.
           

To be fair, they did fund early development of the Debian Project, which
now offers a GNU/Hurd distribution. But this funding came a while after
other Linux distributions were around. 
Rants Home ©David Johnson 2001 - 2004 
-------

http://www.usermode.org/docs/gnulinux.html

regards,
alexander.

--
"Plaintiffs’ copyrights are unique and valuable property whose market 
value is impossible to assess"

                             -- SOFTWARE FREEDOM LAW CENTER, INC.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]