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 Lesser 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 rights.
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.
TERMS AND CONDITIONS FOR COPYING,
DISTRIBUTION AND MODIFICATION
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.
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.
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.
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
107