network page | invoice page | Contact Us | home | about perpetual pc's page | back to javascript text reading page
back to quadratic solver page | Perpetual PC's link page | Clock repair essay page | back to web safe colors

This is a copy of the GPL license , followed by some
information on the difference between Free Software and Open Source Software.
There is a navagation link at the bottom of this page also.

		       Version 2, June 1991

 Copyright (C) 1989, 1991 Free Software Foundation, Inc.
 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.


  The licenses for most software are designed to take away your
freedom to share and change it.  By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users.  This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it.  (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.)  You can apply it to
your programs, too.

  When we speak of free software, we are referring to freedom, not
price.  Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.

  To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.

  For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have.  You must make sure that they, too, receive or can get the
source code.  And you must show them these terms so they know their

  We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.

  Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software.  If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.

  Finally, any free program is threatened constantly by software
patents.  We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary.  To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.

  The precise terms and conditions for copying, distribution and
modification follow.


  0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License.  The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language.  (Hereinafter, translation is included without limitation in
the term "modification".)  Each licensee is addressed as "you".

Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope.  The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.

  1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.

You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.

  2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:

    a) You must cause the modified files to carry prominent notices
    stating that you changed the files and the date of any change.

    b) You must cause any work that you distribute or publish, that in
    whole or in part contains or is derived from the Program or any
    part thereof, to be licensed as a whole at no charge to all third
    parties under the terms of this License.

    c) If the modified program normally reads commands interactively
    when run, you must cause it, when started running for such
    interactive use in the most ordinary way, to print or display an
    announcement including an appropriate copyright notice and a
    notice that there is no warranty (or else, saying that you provide
    a warranty) and that users may redistribute the program under
    these conditions, and telling the user how to view a copy of this
    License.  (Exception: if the Program itself is interactive but
    does not normally print such an announcement, your work based on
    the Program is not required to print an announcement.)

These requirements apply to the modified work as a whole.  If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works.  But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.

Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.

In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.

  3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:

    a) Accompany it with the complete corresponding machine-readable
    source code, which must be distributed under the terms of Sections
    1 and 2 above on a medium customarily used for software interchange; or,

    b) Accompany it with a written offer, valid for at least three
    years, to give any third party, for a charge no more than your
    cost of physically performing source distribution, a complete
    machine-readable copy of the corresponding source code, to be
    distributed under the terms of Sections 1 and 2 above on a medium
    customarily used for software interchange; or,

    c) Accompany it with the information you received as to the offer
    to distribute corresponding source code.  (This alternative is
    allowed only for noncommercial distribution and only if you
    received the program in object code or executable form with such
    an offer, in accord with Subsection b above.)

The source code for a work means the preferred form of the work for
making modifications to it.  For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable.  However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.

If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.

  4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License.  Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.

  5. You are not required to accept this License, since you have not
signed it.  However, nothing else grants you permission to modify or
distribute the Program or its derivative works.  These actions are
prohibited by law if you do not accept this License.  Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.

  6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions.  You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.

  7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License.  If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all.  For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.

If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other

It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices.  Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.

This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.

  8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded.  In such case, this License incorporates
the limitation as if written in the body of this License.

  9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time.  Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.

Each version is given a distinguishing version number.  If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation.  If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software

  10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission.  For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this.  Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.




back to web safe colors How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. <one line to give the program's name and a brief idea of what it does.> Copyright (C) <year> <name of author> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
back to web safe colors You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. <signature of Ty Coon>, 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License.

More information on Free Software:

Why ``Free Software'' is better than ``Open Source''

 [ Czech | English | French | Italian | Korean | Polish | Russian ]

While free software by any other name would give you the same freedom, it makes 
a big difference which name we use: different words convey different ideas.

In 1998, some of the people in the free software community began using the term 
``open source software'' instead of ``free software'' to describe what they do. 
The term ``open source'' quickly became associated with a different approach, a 
different philosophy, different values, and even a different criterion for which 
licenses are acceptable. The Free Software movement and the Open Source movement 
are today separate movements with different views and goals, although we can and 
do work together on some practical projects.

The fundamental difference between the two movements is in their values, their 
ways of looking at the world. For the Open Source movement, the issue of whether 
software should be open source is a practical question, not an ethical one. As 
one person put it, ``Open source is a development methodology; free software is 
a social movement.'' For the Open Source movement, non-free software is a 
suboptimal solution. For the Free Software movement, non-free software is a 
social problem and free software is the solution. 

Relationship between the Free Software movement and Open Source movement

The Free Software movement and the Open Source movement are like two political 
camps within the free software community.

Radical groups in the 1960s developed a reputation for factionalism: 
organizations split because of disagreements on details of strategy, and then 
treated each other as enemies. Or at least, such is the image people have of 
them, whether or not it was true.

The relationship between the Free Software movement and the Open Source movement 
is just the opposite of that picture. We disagree on the basic principles, but 
agree more or less on the practical recommendations. So we can and do work 
together on many specific projects. We don't think of the Open Source movement 
as an enemy. The enemy is proprietary software.

We are not against the Open Source movement, but we don't want to be lumped in 
with them. We acknowledge that they have contributed to our community, but we 
created this community, and we want people to know this. We want people to 
associate our achievements with our values and our philosophy, not with theirs. 
We want to be heard, not obscured behind a group with different views. To 
prevent people from thinking we are part of them, we take pains to avoid using 
the word ``open'' to describe free software, or its contrary, ``closed'', in 
talking about non-free software.

So please mention the Free Software movement when you talk about the work we 
have done, and the software we have developed--such as the GNU/Linux operating 

Comparing the two terms

This rest of this article compares the two terms ``free software'' and ``open 
source''. It shows why the term ``open source'' does not solve any problems, and 
in fact creates some. 


The term ``free software'' has an ambiguity problem: an unintended meaning, 
``Software you can get for zero price,'' fits the term just as well as the 
intended meaning, ``software which gives the user certain freedoms.'' We address 
this problem by publishing a more precise definition of free software, but this 
is not a perfect solution; it cannot completely eliminate the problem. An 
unambiguously correct term would be better, if it didn't have other problems.

Unfortunately, all the alternatives in English have problems of their own. We've 
looked at many alternatives that people have suggested, but none is so clearly 
``right'' that switching to it would be a good idea. Every proposed replacement 
for ``free software'' has a similar kind of semantic problem, or worse--and this 
includes ``open source software.'' 

The official definition of ``open source software,'' as published by the Open 
Source Initiative, is very close to our definition of free software; however, it 
is a little looser in some respects, and they have accepted a few licenses that 
we consider unacceptably restrictive of the users. However, the obvious meaning 
for the expression ``open source software'' is ``You can look at the source 
code.'' This is a much weaker criterion than free software; it includes free 
software, but also includes semi-free programs such as Xv, and even some 
proprietary programs, including Qt under its original license (before the QPL).

That obvious meaning for ``open source'' is not the meaning that its advocates 
intend. The result is that most people misunderstand what those advocates are 
advocating. Here is how writer Neal Stephenson defined ``open source'':

Linux is ``open source'' software meaning, simply, that anyone can get copies of 
its source code files.

I don't think he deliberately sought to reject or dispute the ``official'' 
definition. I think he simply applied the conventions of the English language to 
come up with a meaning for the term. The state of Kansas published a similar 

Make use of open-source software (OSS). OSS is software for which the source 
code is freely and publicly available, though the specific licensing agreements 
vary as to what one is allowed to do with that code.

Of course, the open source people have tried to deal with this by publishing a 
precise definition for the term, just as we have done for ``free software.''

But the explanation for ``free software'' is simple--a person who has grasped 
the idea of ``free speech, not free beer'' will not get it wrong again. There is 
no such succinct way to explain the official meaning of ``open source'' and show 
clearly why the natural definition is the wrong one.

Fear of Freedom

The main argument for the term ``open source software'' is that ``free 
software'' makes some people uneasy. That's true: talking about freedom, about 
ethical issues, about responsibilities as well as convenience, is asking people 
to think about things they might rather ignore. This can trigger discomfort, and 
some people may reject the idea for that. It does not follow that society would 
be better off if we stop talking about these things.

Years ago, free software developers noticed this discomfort reaction, and some 
started exploring an approach for avoiding it. They figured that by keeping 
quiet about ethics and freedom, and talking only about the immediate practical 
benefits of certain free software, they might be able to ``sell'' the software 
more effectively to certain users, especially business. The term ``open source'' 
is offered as a way of doing more of this--a way to be ``more acceptable to 
business.'' The views and values of the Open Source movement stem from this 

This approach has proved effective, in its own terms. Today many people are 
switching to free software for purely practical reasons. That is good, as far as 
it goes, but that isn't all we need to do! Attracting users to free software is 
not the whole job, just the first step.

Sooner or later these users will be invited to switch back to proprietary 
software for some practical advantage. Countless companies seek to offer such 
temptation, and why would users decline? Only if they have learned to value the 
freedom free software gives them, for its own sake. It is up to us to spread 
this idea--and in order to do that, we have to talk about freedom. A certain 
amount of the ``keep quiet'' approach to business can be useful for the 
community, but we must have plenty of freedom talk too.

At present, we have plenty of ``keep quiet'', but not enough freedom talk. Most 
people involved with free software say little about freedom--usually because 
they seek to be ``more acceptable to business.'' Software distributors 
especially show this pattern. Some GNU/Linux operating system distributions add 
proprietary packages to the basic free system, and they invite users to consider 
this an advantage, rather than a step backwards from freedom.

We are failing to keep up with the influx of free software users, failing to 
teach people about freedom and our community as fast as they enter it. This is 
why non-free software (which Qt was when it first became popular), and partially 
non-free operating system distributions, find such fertile ground. To stop using 
the word ``free'' now would be a mistake; we need more, not less, talk about 

If those using the term ``open source'' draw more users into our community, that 
is a contribution, but the rest of us will have to work even harder to bring the 
issue of freedom to those users' attention. We have to say, ``It's free software 
and it gives you freedom!''--more and louder than ever before.

Would a Trademark Help?

The advocates of ``open source software'' tried to make it a trademark, saying 
this would enable them to prevent misuse. The attempt went awry when the 
application was allowed to lapse in 1999; thus, the legal status of ``open 
source'' is the same as that of ``free software'': there is no legal constraint 
on using it. I have heard reports of a number of companies' calling software 
packages ``open source'' even though they did not fit the official definition; I 
have observed some instances myself. 

But would it have made a big difference to use a term that is a trademark? Not 

Companies also made announcements that give the impression that a program is 
``open source software'' without explicitly saying so. For example, one IBM 
announcement, about a program that did not fit the official definition, said 
this: As is common in the open source community, users of the ... technology 
will also be able to collaborate with IBM ...

This did not actually say that the program was ``open source'', but many readers 
did not notice that detail. (I should note that IBM was sincerely trying to make 
this program free software, and later adopted a new license which does make it 
free software and ``open source''; but when that announcement was made, the 
program did not qualify as either one.) 

And here is how Cygnus Solutions, which was formed to be a free software company 
and subsequently branched out (so to speak) into proprietary software, 
advertised some proprietary software products: Cygnus Solutions is a leader in 
the open source market and has just launched two products into the [GNU/]Linux 

Unlike IBM, Cygnus was not trying to make these packages free software, and the 
packages did not come close to qualifying. But Cygnus didn't actually say that 
these are ``open source software'', they just made use of the term to give 
careless readers that impression. 

These observations suggest that a trademark would not have truly prevented the 
confusion that comes with the term ``open source''. 

Misunderstandings(?) of ``Open Source''

The Open Source Definition is clear enough, and it is quite clear that the 
typical non-free program does not qualify. So you would think that ``Open Source 
company'' would mean one whose products are free software (or close to it), 
right? Alas, many companies are trying to give it a different meaning.

At the ``Open Source Developers Day'' meeting in August 1998, several of the 
commercial developers invited said they intend to make only a part of their work 
free software (or ``open source''). The focus of their business is on developing 
proprietary add-ons (software or manuals) to sell to the users of this free 
software. They ask us to regard this as legitimate, as part of our community, 
because some of the money is donated to free software development.

In effect, these companies seek to gain the favorable cachet of ``open source'' 
for their proprietary software products--even though those are not ``open source 
software''--because they have some relationship to free software or because the 
same company also maintains some free software. (One company founder said quite 
explicitly that they would put, into the free package they support, as little of 
their work as the community would stand for.)

Over the years, many companies have contributed to free software development. 
Some of these companies primarily developed non-free software, but the two 
activities were separate; thus, we could ignore their non-free products, and 
work with them on free software projects. Then we could honestly thank them 
afterward for their free software contributions, without talking about the rest 
of what they did.

We cannot do the same with these new companies, because they won't go let us. 
These companies actively try to lead the public to lump all their activities 
together; they want us to regard their non-free software as favorably as we 
would regard a real contribution, although it is not one. They present 
themselves as ``open source companies,'' hoping that we will get a warm fuzzy 
feeling about them, and that we will be fuzzy-minded in applying it.

This manipulative practice would be no less harmful if it were done using the 
term ``free software.'' But companies do not seem to use the term ``free 
software'' that way; perhaps its association with idealism makes it seem 
unsuitable. The term ``open source'' opened the door for this.

At a trade show in late 1998, dedicated to the operating system often referred 
to as ``Linux'', the featured speaker was an executive from a prominent software 
company. He was probably invited on account of his company's decision to 
``support'' that system. Unfortunately, their form of ``support'' consists of 
releasing non-free software that works with the system--in other words, using 
our community as a market but not contributing to it.

He said, ``There is no way we will make our product open source, but perhaps we 
will make it `internal' open source. If we allow our customer support staff to 
have access to the source code, they could fix bugs for the customers, and we 
could provide a better product and better service.'' (This is not an exact 
quote, as I did not write his words down, but it gets the gist.)

People in the audience afterward told me, ``He just doesn't get the point.'' But 
is that so? Which point did he not get?

He did not miss the point of the Open Source movement. That movement does not 
say users should have freedom, only that allowing more people to look at the 
source code and help improve it makes for faster and better development. The 
executive grasped that point completely; unwilling to carry out that approach in 
full, users included, he was considering implementing it partially, within the 

The point that he missed is the point that ``open source'' was designed not to 
raise: the point that users deserve freedom.

Spreading the idea of freedom is a big job--it needs your help. That's why we 
stick to the term ``free software'' in the GNU Project, so we can help do that 
job. If you feel that freedom and community are important for their own 
sake--not just for the convenience they bring--please join us in using the term 
``free software''.

Joe Barr wrote an article called Live and let license that gives his perspective 
on this issue.

See also Other Texts to Read

Return to GNU's home page.

Please send FSF & GNU inquiries & questions to There are also other 
ways to contact the FSF.

Please send comments on these web pages to, send other 
questions to

Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc., 59 Temple 
Place - Suite 330, Boston, MA 02111, USA

Verbatim copying and distribution of this entire article is permitted in any 
medium, provided this notice is preserved.

Updated: $Date: 2002/09/09 23:37:15 $ $Author: rms $

network page | invoice page | Contact Us | home | about perpetual pc's page | back to javascript text reading page
back to quadratic solver page | Perpetual PC's link page | Clock repair essay page | back to web safe colors

s permitted in any medium, provided this notice is preserved. Updated: $Date: 2002/09/09 23:37:15 $ $Author: rms $ network page | invoice page | Contact Us | home | about perpetual pc's page | back to javascript text reading page
back to quadratic solver page | Perpetual PC's link page | Clock repair essay page | back to web safe colors