The hypothetical commands `show w' and `show c' should show the app ropriate
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 progra mmer) or your school,
if any, to sign a " copyright disclaimer" for the program, if necessary. Here i s a
sample; alter the names:
Yoyodyne, Inc., hereby disclaims al l copyright
interest in the program `Gnomovision'
(which makes passe s 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 consid er
it more useful to permit linking proprietary app lications with the library. If this is
what you want to do, use the GNU Lesser General Public License instead of this
License.
GNU GENERAL PUBLI C LICENSE
Version 3, 29 June 2007
Copyright © 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies of this license
document, but changing it is not a llowed.
Preamble
The GNU General Public License is a free, copyleft license for software and other
kinds of works.
The licenses for most soft ware and other practical works are designed to t ake
away your freedom to share and change th e works. By contrast, the GNU
General Public License is intended to guarantee your freedom to share and
change all versions of a progra m --to make sure i t remains free software for all
its users. We, the Free Software Foundation, use the GNU General Public
License for most of our softw are; it applies also to any ot her work released this
way by its authors. 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 f ree software (and charge f or them 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 prevent others from denying you these rights
or asking you to surrender the ri ghts. Therefore, you have certain
responsibilities if you distribute copies of the software, or if you modify it:
responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether gratis or for a
fee, you must pass on to the recipients the same freedoms that you received. 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.
Developers that use the GNU GPL protect your rights w ith two steps: (1) assert
copyright on the software, and (2) offer you this Licens e giving you legal
permission to copy, distribute and/or modify it .
For the developers' and authors' protection, the GPL clearly explains that there
is no warranty for this free software. For b oth users' and authors' sake, the GPL
requires that modified versions be marked as changed , so that their problems
will not be attributed erroneously to authors of previous versions.
Some devices are designed to deny users acc ess to install or run modi fied
versions of the software inside them , although the manufacturer can do so. This
is fundamentally incompatible with the aim of protectin g users' freedom to
change the software. The systematic pattern of such abuse occurs in the area of
products for individuals to use, which is precisely where it is most unacceptable.
Therefore, we have designed this version of the GPL to prohibit the practice for
those products. If such problems arise sub stantially in other domains, we stand
ready to extend this provision to those domains in future versions of the GPL, as
needed to protect the freedom of users.
Finally, every program is threatened constantly b y software patents. States
should not allow patents to restrict development and use of software on genera l-
purpose computers, but in those that do, we wish to avoid the special danger
that patents applied to a free program could make it effectively proprietary. To
prevent this, the GPL assures t hat patents cannot be used to render the program
non-free.
The precise terms and conditions for copying, distribution and modification
follow.
TERMS AND CONDITIONS
0. Definitions.
“This License” refers to vers ion 3 of the GNU General Public License.
“Copyright” also mean s copyright-like laws that apply to oth er kinds of works,
such as semiconductor mask s.
“The Program” refers to any copyrightable work licensed under this License.
Each licensee is addressed as “you”. “Licensees” and “recipients” may be
individuals or organizations.
To “modify” a work means to copy from or adapt all or part of the work in a
fashion requiring copyright permis sion, other than the making of an exact copy.
The resulting work is called a “modified version” of the earlier work or a work
“based on” the earlier work.
A “covered work” means either the unmodified Program or a work bas ed on the
Program.
To “propagate” a work means to do anything with it that, without perm ission,
would make you directly or secondarily liable for infringement under applicable
copyright law, except executing it on a computer or modifying a private copy.
Propagation includes copying, distrib ution (with or without modification), m aking
available to the public, and in som e countries other activities as well.
To “convey” a work mean s any kind of propag ation that enables other parties to
make or receive copies. Mere interaction with a user through a computer
network, with no transfer of a copy, is not conveying.
An interactive user interface disp lays “Appropriate Legal Notices” to the extent
that it includes a convenient and prominently visibl e feature that (1) displays an
appropriate copyright notice, and (2) tells the user that there is no wa rranty for
the work (except to the extent that warranties are provid ed), that licensees may
convey the work under this License, and how to view a copy of this License. If the
interface presents a list of user commands or option s, such as a menu, a
prominent item in the list meets this criterion.
1. Source Code.
The “source code” for a work means the preferred form of the work for making
modifications to it. “Object code” means any non-source form of a w ork.
A “Standard Interface” m eans an interface that either is an official standa rd
defined by a recognized standards bo dy, or, in the case of interfaces specified for
a particular programming language, one that is widely used among developers
working in that language.
The “System Libraries” of an executable work include anything, other than the
work as a whole, that (a) is included in the norm al form of packaging a Major
Component, but which is not part of that M ajor Component, and (b) serves only to
enable use of the work with that Major Com ponent, or to implement a Standard
Interface for which an implementa tion is available to the public in source code
form. A “Major Component ”, in this context, means a major essential co m ponent
(kernel, window syste m , and so on) of t he specific operating system (if any) on
which the executable work runs, or a compiler used to produce the work, or an
object code interpreter used to run it.
The “Corresponding Source” for a work in object code form means all the source
code needed to generate, install, and (for an executable work) run the object
code and to modify the work, including scripts to control thos e activities.
However, it does not include the work's System Libraries, or general-purpose
tools or generally available free prog rams which are used unmodified in
performing those activities b ut which are not part of the work. For example,
Corresponding Source includes interface definition files associated wit h source
files for the work, and the source code for shared li braries and dynamically
linked subprograms that the work is specifi cally designed to require, such as by
intimate data communication or control flow b etween those subprograms and
other parts of the work.