CopyLeft v.s CopyRight

ÁÎ×Ó¹â Henry C.K.Liu ¹ù¤l¥ú hliu at SPAMmindspring.com
Tue Aug 8 06:37:38 MDT 2000


The following material has been sent to me by my friend Cui Zhiyuan, a
political scientist at MIT.

http://www.stallman.org/  is Richard Stallman's Personal Home Page, who,
once a scientist at MIT, is the main intellectual leader of free
software movement worldwide.

This article explains well the relationship between Linux and Stallman's
GNU.
It is a good sign that Stallman visited China in June 2000.

Linux and the GNU Project
by Richard Stallman

Many computer users run a modified version of the GNU system (18k
characters) every day, without realizing it. Through a peculiar turn of
events, the version of GNU which is widely used today is more often
known as ``Linux'', and many users are not aware of the extent of its
connection with the GNU Project.
There really is a Linux; it is a kernel, and these people are using it.
But you can't use a kernel by itself; a kernel is useful only as part of
a whole operating system. Linux is normally used in a combination with
the GNU operating system: the system is basically GNU, with Linux
functioning as the kernel.
Many users are not fully aware of the distinction between the kernel,
which is Linux, and the whole system, which they also call ``Linux''.
The ambiguous use of the name doesn't promote understanding.
Programmers generally know that Linux is a kernel. But since they have
generally heard the whole system called ``Linux'' as well, they often
envisage a history which fits that name. For example, many believe that
once Linus Torvalds finished writing the kernel, his friends looked
around for other free software, and for no particular reason most
everything necessary to make a Unix-like system was already available.
What they found was no accident--it was the GNU system. The available
free software added up to a complete system because the GNU Project had
been working since 1984 to make one. The GNU Manifesto (31k characters)
had set forth the goal of developing a free Unix-like system, called
GNU. The Initial Announcementof the GNU Project also outlines some of
the original plans for the GNU system. By the time Linux was written,
the system was almost finished.
Most free software projects have the goal of developing a particular
program for a particular job. For example, Linus Torvalds set out to
write a Unix-like kernel (Linux); Donald Knuth set out to write a text
formatter (TeX); Bob Scheifler set out to develop a window system (X
Windows). It's natural to measure the contribution of this kind of
project by specific programs that came from the project.
If we tried to measure the GNU Project's contribution in this way, what
would we conclude? One CD-ROM vendor found that in their ``Linux
distribution'', GNU software was the largest single contingent, around
28% of the total source code, and this included some of the essential
major components without which there could be no system. Linux itself
was about 3%. So if you were going to pick a name for the system based
on who wrote the programs in the system, the most
appropriate single choice would be ``GNU''.
But we don't think that is the right way to consider the question. The
GNU Project was not, is not, a project to develop specific software
packages. It was not a project to develop a C compiler, although we did.
It was not a project to develop a text editor, although we developed
one. The GNU Project's aim was to develop a complete free Unix-like
system.
Many people have made major contributions to the free software in the
system, and they all deserve credit. 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. A
complete system needs more than just programming tools; the Bourne Again
SHell, the PostScript interpreter Ghostscript, and the GNU C library are
just as important.
By the early 90s we had put together the whole system aside from the
kernel (and we were also working on a kernel, the GNU Hurd, which runs
on top of Mach).
Developing this kernel has been a lot harder than we expected, and we
are still working on finishing it.
Fortunately, you don't have to wait for it, because Linux is working
now. When Linus Torvalds wrote Linux, he filled the last major gap.
People could then put Linux together with the GNU system to make a
complete free system: a Linux-based GNU system (or GNU/Linux system, for
short).
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.
Aside from GNU, one other project has independently produced a free
Unix-like operating system. This system is known as BSD, and it was
developed at UC Berkeley. The BSD developers were inspired to make their
work free software by the example of the GNU Project, and occasionally
encouraged by GNU activists, but their actual work had little overlap
with GNU. BSD systems today use some GNU software, just as the GNU
system and its variants use some BSD software; but taken as wholes, they
are two different systems which evolved separately. A free operating
system that exists today is almost certainly either a variant of the GNU
system, or a kind of BSD system.
The GNU Project supports GNU/Linux systems as well as the GNU
system--even with funds. We funded the rewriting of the Linux-related
extensions to the GNU C library, so that now they are well integrated,
and the newest GNU/Linux systems use the current library release with no
changes. We also funded an early stage
of the development of Debian GNU/Linux.
We use Linux-based GNU systems today for most of our work, and we hope
you use them too. But please don't confuse the public by using the name
``Linux'' ambiguously. Linux is the kernel, one of the essential major
components of the system. The system as a whole is more or less the GNU
system.
There exists a number of companies that sell computers with wholly free
GNU/Linux systems preinstalled.

Return to GNU's home page.
Please send FSF & GNU inquiries & questions to gnu at gnu.org. There are
also other ways to contact the FSF.
Please send comments on these web pages to webmasters at www.gnu.org, send
other questions to gnu at gnu.org.
Copyright 1997, 1998 Richard Stallman
Verbatim copying and distribution of this entire article is permitted in
any medium, provided this notice is preserved.
Updated: 22 july 2000 prash

This is clearest statement by Stallman on the important notion
"copyleft".

Copyleft: Pragmatic Idealism
by Richard Stallman
[ English | Hungarian | Russian ]
Every decision a person makes stems from the person's values and goals.
People
can have many different goals and values; fame, profit, love, survival,
fun,
and freedom, are just some of the goals that a good person might have.
When
the
goal is to help others as well as oneself, we call that idealism.
My work on free software is motivated by an idealistic goal: spreading
freedom
and cooperation. I want to encourage free software to spread, replacing
proprietary software which forbids cooperation, and thus make our
society
better.
That's the basic reason why the GNU General Public License is written
the way
it is--as a copyleft. All code added to a GPL-covered program must be
free
software, even if it is put in a separate file. I make my code available
for
use in free software, and not for use in proprietary software, in order
to
encourage other people who write software to make it free as well. I
figure
that since proprietary software developers use copyright to stop us from

sharing, we cooperators can use copyright to give other cooperators an
advantage of their own: they can use our code.
Not everyone who uses the GNU GPL has this goal. Many years ago, a
friend of
mine was asked to rerelease a copylefted program under non-copyleft
terms, and
he responded more or less like this:
Sometimes I work on free software, and sometimes I work on proprietary
software--but when I work on proprietary software, I expect to get paid.

He was willing to share his work with a community that shares software,
but
saw
no reason to give a handout to a business making products that would be
off-limits to our community. His goal was different from mine, but he
decided
that the GNU GPL was useful for his goal too.
If you want to accomplish something in the world, idealism is not
enough--you
need to choose a method which works to achieve the goal. In other words,
you
need to be ``pragmatic.'' Is the GPL pragmatic? Let's look at its
results.
Consider GNU C++. Why do we have a free C++ compiler? Only because the
GNU GPL
said it had to be free. GNU C++ was developed by an industry consortium,
MCC,
starting from the GNU C compiler. MCC normally makes its work as
proprietary as
can be. But they made the C++ front end free software, because the GNU
GPL
said
that was the only way they could release it. The C++ front end included
many
new files, but since they were meant to be linked with GCC, the GPL did
apply
to them. The benefit to our community is evident.
Consider GNU Objective C. NeXT initially wanted to make this front end
proprietary; they proposed to release it as .o files, and let users link
them
with the rest of GCC, thinking this might be a way around the GPL's
requirements. But our lawyer said that this would not evade the
requirements,
that it was not allowed. And so they made the Objective C front end free

software.
Those examples happened years ago, but the GNU GPL continues to bring us
more
free software.
Many GNU libraries are covered by the GNU Library General Public
License, but
not all. One GNU library which is covered by the ordinary GNU GPL is
Readline,
which implements command-line editing. A month ago, I found out about a
non-free program which was designed to use Readline, and told the
developer
this was not allowed. He could have taken command-line editing out of
the
program, but what he actually did was rerelease it under the GPL. Now it
is
free software.
The programmers who write improvements to GCC (or Emacs, or Bash, or
Linux, or
any GPL-covered program) are often employed by companies or
universities. When
the programmer wants to return his improvements to the community, and
see his
code in the next release, the boss may say, ``Hold on there--your code
belongs
to us! We don't want to share it; we have decided to turn your improved
version
into a proprietary software product.''
Here the GNU GPL comes to the rescue. The programmer shows the boss that
this
proprietary software product would be copyright infringement, and the
boss
realizes that he has only two choices: release the new code as free
software,
or not at all. Almost always he lets the programmer do as he intended
all
along, and the code goes into the next release.
The GNU GPL is not Mr. Nice Guy. It says ``no'' to some of the things
that
people sometimes want to do. There are users who say that this is a bad
thing--that the GPL ``excludes'' some proprietary software developers
who
``need to be brought into the free software community.''
But we are not excluding them from our community; they are choosing not
to
enter. Their decision to make software proprietary is a decision to stay

out of
our community. Being in our community means joining in cooperation with
us; we
cannot ``bring them into our community'' if they don't want to join.
What we can do is offer them an inducement to join. The GNU GPL is
designed to
make an inducement from our existing software: ``If you will make your
software
free, you can use this code.'' Of course, it won't win 'em all, but it
wins
some of the time.
Proprietary software development does not contribute to our community,
but its
developers often want handouts from us. Free software users can offer
free
software developers strokes for the ego--recognition and gratitude--but
it can
be very tempting when a business tells you, ``Just let us put your
package in
our proprietary program, and your program will be used by many thousands
of
people!'' The temptation can be powerful, but in the long run we are all

better
off if we resist it.
The temptation and pressure are harder to recognize when they come
indirectly,
through free software organizations that have adopted a policy of
catering to
proprietary software. The X Consortium (and its successor, the Open
Group)
offers an example: funded by companies that made proprietary software,
they
have strived for a decade to persuade programmers not to use copyleft.
Now
that
the Open Group has made X11R6.4 non-free software, those of us who
resisted
that
pressure are glad that we did.
[In September 1998, several months after X11R6.4 was released with
non-free
distribtion terms, the Open Group reversed its decision and rereleased
it
under
the same non-copyleft free software license that was used for X11R6.3.
Thank
you, Open Group--but this subsequent reversal does not invalidate the
conclusions we draw from the fact that adding the restrictions was
possible.]
Pragmatically speaking, thinking about greater long-term goals will
strengthen
your will to resist this pressure. If you focus your mind on the freedom
and
community that you can build by staying firm, you will find the strength
to do
it. ``Stand for something, or you will fall for nothing.''
And if cynics ridicule freedom, ridicule community...if ``hard nosed
realists''
say that profit is the only ideal...just ignore them, and use copyleft
all the
same.












More information about the Marxism mailing list