static linking exception

SVN revision: 42073
This commit is contained in:
Carsten Haitzler 2009-08-28 11:17:59 +00:00
parent 42918e0b9e
commit 1c58a8b3f3
1 changed files with 104 additions and 112 deletions

View File

@ -1,14 +1,13 @@
GNU LESSER GENERAL PUBLIC LICENSE GNU LIBRARY GENERAL PUBLIC LICENSE
Version 2.1, February 1999 Version 2, June 1991
Copyright (C) 1991, 1999 Free Software Foundation, Inc. Copyright (C) 1991 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 675 Mass Ave, Cambridge, MA 02139, USA
Everyone is permitted to copy and distribute verbatim copies Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed. of this license document, but changing it is not allowed.
[This is the first released version of the Lesser GPL. It also counts [This is the first released version of the library GPL. It is
as the successor of the GNU Library Public License, version 2, hence numbered 2 because it goes with version 2 of the ordinary GPL.]
the version number 2.1.]
Preamble Preamble
@ -17,109 +16,97 @@ freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users. free software--to make sure the software is free for all its users.
This license, the Lesser General Public License, applies to some This license, the Library General Public License, applies to some
specially designated software packages--typically libraries--of the specially designated Free Software Foundation software, and to any
Free Software Foundation and other authors who decide to use it. You other libraries whose authors decide to use it. You can use it for
can use it too, but we suggest you first think carefully about whether your libraries, too.
this license or the ordinary General Public License is the better
strategy to use in any particular case, based on the explanations below.
When we speak of free software, we are referring to freedom of use, When we speak of free software, we are referring to freedom, not
not price. Our General Public Licenses are designed to make sure that price. Our General Public Licenses are designed to make sure that you
you have the freedom to distribute copies of free software (and charge have the freedom to distribute copies of free software (and charge for
for this service if you wish); that you receive source code or can get this service if you wish), that you receive source code or can get it
it if you want it; that you can change the software and use pieces of if you want it, that you can change the software or use pieces of it
it in new free programs; and that you are informed that you can do in new free programs; and that you know you can do these things.
these things.
To protect your rights, we need to make restrictions that forbid To protect your rights, we need to make restrictions that forbid
distributors to deny you these rights or to ask you to surrender these anyone to deny you these rights or to ask you to surrender the rights.
rights. These restrictions translate to certain responsibilities for These restrictions translate to certain responsibilities for you if
you if you distribute copies of the library or if you modify it. you distribute copies of the library, or if you modify it.
For example, if you distribute copies of the library, whether gratis For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source you. You must make sure that they, too, receive or can get the source
code. If you link other code with the library, you must provide code. If you link a program with the library, you must provide
complete object files to the recipients, so that they can relink them complete object files to the recipients so that they can relink them
with the library after making changes to the library and recompiling with the library, after making changes to the library and recompiling
it. And you must show them these terms so they know their rights. it. And you must show them these terms so they know their rights.
We protect your rights with a two-step method: (1) we copyright the Our method of protecting your rights has two steps: (1) copyright
library, and (2) we offer you this license, which gives you legal the library, and (2) offer you this license which gives you legal
permission to copy, distribute and/or modify the library. permission to copy, distribute and/or modify the library.
To protect each distributor, we want to make it very clear that Also, for each distributor's protection, we want to make certain
there is no warranty for the free library. Also, if the library is that everyone understands that there is no warranty for this free
modified by someone else and passed on, the recipients should know library. If the library is modified by someone else and passed on, we
that what they have is not the original version, so that the original want its recipients to know that what they have is not the original
author's reputation will not be affected by problems that might be version, so that any problems introduced by others will not reflect on
introduced by others. the original authors' reputations.
Finally, software patents pose a constant threat to the existence of Finally, any free program is threatened constantly by software
any free program. We wish to make sure that a company cannot patents. We wish to avoid the danger that companies distributing free
effectively restrict the users of a free program by obtaining a software will individually obtain patent licenses, thus in effect
restrictive license from a patent holder. Therefore, we insist that transforming the program into proprietary software. To prevent this,
any patent license obtained for a version of the library must be we have made it clear that any patent must be licensed for everyone's
consistent with the full freedom of use specified in this license. free use or not licensed at all.
Most GNU software, including some libraries, is covered by the Most GNU software, including some libraries, is covered by the ordinary
ordinary GNU General Public License. This license, the GNU Lesser GNU General Public License, which was designed for utility programs. This
General Public License, applies to certain designated libraries, and license, the GNU Library General Public License, applies to certain
is quite different from the ordinary General Public License. We use designated libraries. This license is quite different from the ordinary
this license for certain libraries in order to permit linking those one; be sure to read it in full, and don't assume that anything in it is
libraries into non-free programs. the same as in the ordinary license.
When a program is linked with a library, whether statically or using The reason we have a separate public license for some libraries is that
a shared library, the combination of the two is legally speaking a they blur the distinction we usually make between modifying or adding to a
combined work, a derivative of the original library. The ordinary program and simply using it. Linking a program with a library, without
General Public License therefore permits such linking only if the changing the library, is in some sense simply using the library, and is
entire combination fits its criteria of freedom. The Lesser General analogous to running a utility program or application program. However, in
Public License permits more lax criteria for linking other code with a textual and legal sense, the linked executable is a combined work, a
the library. derivative of the original library, and the ordinary General Public License
treats it as such.
We call this license the "Lesser" General Public License because it Because of this blurred distinction, using the ordinary General
does Less to protect the user's freedom than the ordinary General Public License for libraries did not effectively promote software
Public License. It also provides other free software developers Less sharing, because most developers did not use the libraries. We
of an advantage over competing non-free programs. These disadvantages concluded that weaker conditions might promote sharing better.
are the reason we use the ordinary General Public License for many
libraries. However, the Lesser license provides advantages in certain
special circumstances.
For example, on rare occasions, there may be a special need to However, unrestricted linking of non-free programs would deprive the
encourage the widest possible use of a certain library, so that it becomes users of those programs of all benefit from the free status of the
a de-facto standard. To achieve this, non-free programs must be libraries themselves. This Library General Public License is intended to
allowed to use the library. A more frequent case is that a free permit developers of non-free programs to use free libraries, while
library does the same job as widely used non-free libraries. In this preserving your freedom as a user of such programs to change the free
case, there is little to gain by limiting the free library to free libraries that are incorporated in them. (We have not seen how to achieve
software only, so we use the Lesser General Public License. this as regards changes in header files, but we have achieved it as regards
changes in the actual functions of the Library.) The hope is that this
In other cases, permission to use a particular library in non-free will lead to faster development of free libraries.
programs enables a greater number of people to use a large body of
free software. For example, permission to use the GNU C Library in
non-free programs enables many more people to use the whole GNU
operating system, as well as its variant, the GNU/Linux operating
system.
Although the Lesser General Public License is Less protective of the
users' freedom, it does ensure that the user of a program that is
linked with the Library has the freedom and the wherewithal to run
that program using a modified version of the Library.
The precise terms and conditions for copying, distribution and The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The "work based on the library" and a "work that uses the library". The
former contains code derived from the library, whereas the latter must former contains code derived from the library, while the latter only
be combined with the library in order to run. works together with the library.
Note that it is possible for a library to be covered by the ordinary
General Public License rather than by this special one.
GNU LESSER GENERAL PUBLIC LICENSE GNU LIBRARY GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library or other 0. This License Agreement applies to any software library which
program which contains a notice placed by the copyright holder or contains a notice placed by the copyright holder or other authorized
other authorized party saying it may be distributed under the terms of party saying it may be distributed under the terms of this Library
this Lesser General Public License (also called "this License"). General Public License (also called "this License"). Each licensee is
Each licensee is addressed as "you". addressed as "you".
A "library" means a collection of software functions and/or data A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs prepared so as to be conveniently linked with application programs
@ -208,6 +195,21 @@ with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under a storage or distribution medium does not bring the other work under
the scope of this License. the scope of this License.
Linking this library statically or dynamically with other modules is
making a combined work based on this library. Thus, the terms and
conditions of the GNU General Public License cover the whole combination.
As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent modules,
and to copy and distribute the resulting executable under terms of your
choice, provided that you also meet, for each linked independent module,
the terms and conditions of the license of that module. An independent
module is a module which is not derived from or based on this library.
If you modify this library, you may extend this exception to your version
of the library, but you are not obliged to do so. If you do not wish to
do so, delete this exception statement from your version.
3. You may opt to apply the terms of the ordinary GNU General Public 3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so this, you must alter all the notices that refer to this License, so
@ -268,7 +270,7 @@ distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6, Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself. whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also combine or 6. As an exception to the Sections above, you may also compile or
link a "work that uses the Library" with the Library to produce a link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit under terms of your choice, provided that the terms permit
@ -295,31 +297,23 @@ of these things:
Library will not necessarily be able to recompile the application Library will not necessarily be able to recompile the application
to use the modified definitions.) to use the modified definitions.)
b) Use a suitable shared library mechanism for linking with the b) Accompany the work with a written offer, valid for at
Library. A suitable mechanism is one that (1) uses at run time a
copy of the library already present on the user's computer system,
rather than copying library functions into the executable, and (2)
will operate properly with a modified version of the library, if
the user installs one, as long as the modified version is
interface-compatible with the version that the work was made with.
c) Accompany the work with a written offer, valid for at
least three years, to give the same user the materials least three years, to give the same user the materials
specified in Subsection 6a, above, for a charge no more specified in Subsection 6a, above, for a charge no more
than the cost of performing this distribution. than the cost of performing this distribution.
d) If distribution of the work is made by offering access to copy c) If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above from a designated place, offer equivalent access to copy the above
specified materials from the same place. specified materials from the same place.
e) Verify that the user has already received a copy of these d) Verify that the user has already received a copy of these
materials or that you have already sent this user a copy. materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for Library" must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception, reproducing the executable from it. However, as a special exception,
the materials to be distributed need not include anything that is the source code distributed need not include anything that is normally
normally distributed (in either source or binary form) with the major distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies which the executable runs, unless that component itself accompanies
the executable. the executable.
@ -368,7 +362,7 @@ Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein. restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties with You are not responsible for enforcing compliance by third parties to
this License. this License.
11. If, as a consequence of a court judgment or allegation of patent 11. If, as a consequence of a court judgment or allegation of patent
@ -411,7 +405,7 @@ excluded. In such case, this License incorporates the limitation as if
written in the body of this License. written in the body of this License.
13. The Free Software Foundation may publish revised and/or new 13. The Free Software Foundation may publish revised and/or new
versions of the Lesser General Public License from time to time. versions of the Library General Public License from time to time.
Such new versions will be similar in spirit to the present version, Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns. but may differ in detail to address new problems or concerns.
@ -457,7 +451,7 @@ DAMAGES.
END OF TERMS AND CONDITIONS END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Libraries Appendix: How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest If you develop a new library, and you want it to be of the greatest
possible use to the public, we recommend making it free software that possible use to the public, we recommend making it free software that
@ -474,18 +468,18 @@ convey the exclusion of warranty; and each file should have at least the
Copyright (C) <year> <name of author> Copyright (C) <year> <name of author>
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details. Library General Public License for more details.
You should have received a copy of the GNU Lesser General Public You should have received a copy of the GNU Library General Public
License along with this library; if not, write to the Free Software License along with this library; if not, write to the Free
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Also add information on how to contact you by electronic and paper mail. Also add information on how to contact you by electronic and paper mail.
@ -500,5 +494,3 @@ necessary. Here is a sample; alter the names:
Ty Coon, President of Vice Ty Coon, President of Vice
That's all there is to it! That's all there is to it!