be conveniently linked with application programs (which use some of those func-
t
ions and data) to form executables
.
The "Library", below, refers to any such software library or work which has been
d
istributed under these terms.
A
"work based on the Library" means either the
Lib
rary or any
d
er
i
vat
i
ve wor
k
un
d
er copyr
i
g
h
t
l
aw: t
h
at
i
s to say, a wor
k
conta
i
n
i
ng
t
he Library or a portion of it, either verbatim or with modifi cations and/or trans-
l
ated straightforwardly into another language. (Hereinafter, translation is included
without limitation in the term "modifi cation".)
"Source code" for a work means the preferred form of the work for making modi-
fi cations to it. For a library, complete source code means all the source code fo
r
all modules it contains,
p
lus an
y
associated interface defi nition fi les,
p
lus the scri
p
ts
used to control com
p
ilation and installation of the librar
y.
Activities other than co
py
in
g
, distribution and modifi cation are not covered b
y
this
License; the
y
are outside its sco
p
e. The act of runnin
g
a
p
ro
g
ram usin
g
the Librar
y
i
s not restricted, and out
p
ut from such a
p
ro
g
ram is covered onl
y
if its contents
constitute a work based on the Librar
y
(
inde
p
endent of the use of the Librar
y
in
a tool for writin
g
it
)
. Whether that is true de
p
ends on what the Librar
y
does and
w
h
at t
h
e
p
ro
g
ram t
h
at uses t
h
e
Lib
rar
y
d
oes
.
1. You ma
y
co
py
and distribute verbatim co
p
ies of the Librar
y
's com
p
lete source
c
o
d
e as
y
ou rece
i
ve
i
t,
i
n an
y
me
di
um,
p
rov
id
e
d
t
h
at
y
ou cons
pi
cuous
ly
an
d
a
p
-
p
ro
p
r
i
ate
ly
p
u
bli
s
h
on eac
h
co
py
an a
pp
ro
p
r
i
ate co
py
r
igh
t not
i
ce an
d
di
sc
l
a
i
me
r
o
f warrant
y
; kee
p
intact all the notices that refer to this License and to the
absence of an
y
warrant
y
; and distribute a co
py
of this License alon
g
with the
Lib
rar
y.
You ma
y
char
g
e a fee for the
p
h
y
sical act of transferrin
g
a co
py
, and
y
ou ma
y
at
y
our o
p
tion offer warrant
y
p
rotection in exchan
g
e for a fee
.
2. You ma
y
modif
y
y
our co
py
or co
p
ies of the Librar
y
or an
y
p
ortion of it, thus
formin
g
a work based on the Librar
y
, and co
py
and distribute such modifi cations
o
r work under the terms of Section 1 above,
p
rovided that
y
ou also meet all o
f
th
ese con
di
t
i
ons
:
a
)
The modifi ed work must itself be a software librar
y.
b
)
You must cause the fi les modifi ed to carr
y
p
rominent notices statin
g
that
y
ou
chan
g
ed the fi les and the date of an
y
chan
g
e
.
c
)
You must cause the whole of the work to be licensed at no char
g
e to all third
p
arties under the terms of this License
.
d)
If a facilit
y
in the modifi ed Librar
y
refers to a function or a table of data to
be su
pp
lied b
y
an a
pp
lication
p
ro
g
ram that uses the facilit
y
, other than as an
ar
g
ument
p
assed when the facilit
y
is invoked, then
y
ou must make a
g
ood faith
effort to ensure that, in the event an a
pp
lication does not su
pp
l
y
such function o
r
t
able, the facilit
y
still o
p
erates, and
p
erforms whatever
p
art of its
p
ur
p
ose remains
meanin
g
ful
.
(
For exam
p
le, a function in a librar
y
to com
p
ute s
q
uare roots has a
p
ur
p
ose that
i
s entirel
y
well-defi ned inde
p
endent of the a
pp
lication. Therefore, Subsection 2d
re
q
uires that an
y
a
pp
lication-su
pp
lied function or table used b
y
this function must
be o
p
tional: if the a
pp
lication does not su
pp
l
y
it, the s
q
uare root function must
still com
p
ute s
q
uare roots.
)
T
hese re
q
uirements a
pp
l
y
to the modifi ed work as a whole. If identifi able sections
of that work are not derived from the Librar
y
, and can be reasonabl
y
considered
i
n
d
e
p
en
d
ent an
d
se
p
arate wor
k
s
i
n t
h
emse
l
ves, t
h
en t
hi
s
Li
cense, an
d
i
ts terms,
d
o
not a
pply
to t
h
ose sect
i
ons w
h
en
y
ou
di
str
ib
ute t
h
em as se
p
arate wor
k
s.
B
ut w
h
en
y
ou distribute the same sections as
p
art of a whole which is a work based on the
Librar
y
, the distribution of the whole must be on the terms of this License, whose
p
ermissions for other licensees extend to the entire whole, and thus to each and
ever
y
p
art re
g
ardless of who wrote it
.
T
hus, it is not the intent of this section to claim ri
g
hts or contest
y
our ri
g
hts to
wor
k
wr
i
tten ent
i
re
ly
by
y
ou; rat
h
er, t
h
e
i
ntent
i
s to exerc
i
se t
h
e r
igh
t to contro
l
t
h
e
d
istribution of derivative or collective works based on the Librar
y.
In addition, mere a
gg
re
g
ation of another work not based on the Librar
y
with the
Librar
y
(
or with a work based on the Librar
y)
on a volume of a stora
g
e or distribu-
t
ion medium does not brin
g
the other work under the sco
p
e of this License
.
3. You ma
y
o
p
t to a
pp
l
y
the terms of the ordinar
y
GNU General Public License
i
nstead of this License to a
g
iven co
py
of the Librar
y
. To do this,
y
ou must alte
r
all the notices that refer to this License, so that the
y
refer to the ordinar
y
GNU
G
eneral Public License, version 2, instead of to this License.
(
If a newer version
t
han version 2 of the ordinar
y
GNU General Public License has a
pp
eared, then
y
ou can s
p
ecif
y
that version instead if
y
ou wish.
)
Do not make an
y
other chan
g
e
i
n t
h
ese not
i
ces
.
Once this chan
g
e is made in a
g
iven co
py
, it is irreversible for that co
py
, so the or-
d
inar
y
GNU General Public License a
pp
lies to all subse
q
uent co
p
ies and derivative
works made from that co
py.
This o
p
tion is useful when
y
ou wish to co
py
p
art of the code of the Librar
y
into a
p
ro
g
ram t
h
at
i
s not a
lib
rar
y.
4. You ma
y
co
py
and distribute the Librar
y
(
or a
p
ortion or derivative of it, unde
r
S
ection 2
)
in ob
j
ect code or executable form under the terms of Sections 1
and 2 above
p
rovided that
y
ou accom
p
an
y
it with the com
p
lete corres
p
ondin
g
machine-readable source code
,
which must be distributed under the terms o
f
S
ections 1 and 2 above on a medium customaril
y
used for software interchan
g
e
.
If distribution of ob
j
ect code is made b
y
offerin
g
access to co
py
from a desi
g
nated
p
lace, then offerin
g
e
q
uivalent access to co
py
the source code from the same
p
lace
satisfi es the re
q
uirement to distribute the source code, even thou
g
h third
p
arties
are not com
p
e
ll
e
d
to co
py
t
h
e source a
l
on
g
w
i
t
h
t
h
e o
bj
ect co
d
e
.
5. A
p
ro
g
ram that contains no derivative of an
y
p
ortion of the Librar
y
, but is
d
es
ig
ne
d
to wor
k
w
i
t
h
t
h
e
Lib
rar
y
by
b
e
i
n
g
com
pil
e
d
or
li
n
k
e
d
w
i
t
h
i
t,
i
s ca
ll
e
d
a
"work that uses the Librar
y
". Such a work, in isolation, is not a derivative work o
f
t
he Librar
y
, and therefore falls outside the sco
p
e of this License
.
However, linkin
g
a
"
work that uses the Librar
y"
with the Librar
y
creates an execut-
able that is a derivative of the Librar
y
(
because it contains
p
ortions of the Librar
y),
rather than a "work that uses the librar
y
". The executable is therefore covered b
y
t
his License. Section 6 states terms for distribution of such executables
.
When a "work that uses the Librar
y
" uses material from a header fi le that is
p
art
of the Librar
y
, the ob
j
ect code for the work ma
y
be a derivative work of the
Library even though the source code is not. Whether this is true is especially signifi -
c
ant if the work can be linked without the Library, or if the work is itself a library.
T
he threshold for this to be true is not precisely defi ned by law
.
If such an object fi le uses only numerical parameters, data structure layouts and
accessors, and small macros and small inline functions (ten lines or less in length)
,
t
hen the use of the object fi le is unrestricted, regardless of whether it is legally
a derivative work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may distribute the object
c
ode for the work under the terms of Section 6. Any executables containing that
work also fall under Section 6, whether or not the
y
are linked directl
y
with the
Librar
y
itself
.
6. As an exce
p
tion to the Sections above,
y
ou ma
y
also combine or link a "work
t
hat uses the Librar
y"
with the Librar
y
to
p
roduce a work containin
g
p
ortions
o
f the Librar
y
, and distribute that work under terms of
y
our choice,
p
rovided
t
hat the terms
p
ermit modifi cation of the work for the customer's own use and
reverse en
g
ineerin
g
for debu
gg
in
g
such modifi cations
.
You must
g
ive
p
rominent notice with each co
py
of the work that the Librar
y
is
use
d
i
n
i
t an
d
t
h
at t
h
e
Lib
rar
y
an
d
i
ts use are covere
d
by
t
hi
s
Li
cense.
Y
ou must
su
pp
l
y
a co
py
of this License. If the work durin
g
execution dis
p
la
y
s co
py
ri
g
ht
notices,
y
ou must include the co
py
ri
g
ht notice for the Librar
y
amon
g
them, as well
as a reference directin
g
the user to the co
py
of this License. Also,
y
ou must do one
o
f these thin
g
s
:
a
)
Accom
p
an
y
the work with the com
p
lete corres
p
ondin
g
machine-readable
s
ource code for the Librar
y
includin
g
whatever chan
g
es were used in the work
(
which must be distributed under Sections 1 and 2 above
)
; and, if the work is an
executable linked with the Librar
y
, with the com
p
lete machine-readable
"
work
t
hat uses the Librar
y
", as ob
j
ect code and/or source code, so that the user can
modif
y
the Librar
y
and then relink to
p
roduce a modifi ed executable containin
g
t
he modifi ed Librar
y
.
(
It is understood that the user who chan
g
es the contents
o
f defi nitions fi les in the Librar
y
will not necessaril
y
be able to recom
p
ile the
a
pp
lication to use the modifi ed defi nitions.
)
b)
Use a suitable shared librar
y
mechanism for linkin
g
with the Librar
y
. A suitable
mechanism is one that
(
1
)
uses at run time a co
py
of the librar
y
alread
y
p
resent
o
n the user's com
p
uter s
y
stem, rather than co
py
in
g
librar
y
functions into the
executable, and
(
2
)
will o
p
erate
p
ro
p
erl
y
with a modifi ed version of the librar
y
, if
t
he user installs one, as lon
g
as the modifi ed version is interface-com
p
atible with
th
e vers
i
on t
h
at t
h
e wor
k
was ma
d
e w
i
t
h.
c)
Accom
p
an
y
the work with a written offer, valid for at least three
y
ears, to
g
ive
t
he same user the materials s
p
ecifi ed in Subsection 6a, above, for a char
g
e no
more than the cost of
p
erformin
g
this distribution
.
d)
If distribution of the work is made b
y
offerin
g
access to co
py
from a desi
g
-
n
ated
p
lace, offer e
q
uivalent access to co
py
the above s
p
ecifi ed materials from
th
e same
pl
ace
.
e
)
Ver if
y
that the user has alread
y
received a co
py
of these materials or that
y
ou
h
ave a
l
rea
dy
sent t
hi
s user a co
py.
For an executable, the re
q
uired form of the "work that uses the Librar
y
" must
i
nclude an
y
data and utilit
y
p
ro
g
rams needed for re
p
roducin
g
the executable from
i
t.
H
owever, as a s
p
ec
i
a
l
exce
p
t
i
on, t
h
e mater
i
a
l
s to
b
e
di
str
ib
ute
d
nee
d
not
i
nc
l
u
d
e
an
y
thin
g
that is normall
y
distributed
(
in either source or binar
y
form
)
with the
ma
j
or com
p
onents
(
com
p
iler, kernel, and so on
)
of the o
p
eratin
g
s
y
stem on which
t
he executable runs, unless that com
p
onent itself accom
p
anies the executable
.
It ma
y
ha
pp
en that this re
q
uirement contradicts the license restrictions of othe
r
p
ro
p
rietar
y
libraries that do not normall
y
accom
p
an
y
the o
p
eratin
g
s
y
stem. Such
a contra
di
ct
i
on means
y
ou cannot use
b
ot
h
t
h
em an
d
t
h
e
Lib
rar
y
to
g
et
h
er
i
n an
executa
bl
e t
h
at
y
ou
di
str
ib
ute
.
7. You ma
y
p
lace librar
y
facilities that are a work based on the Librar
y
side-b
y
-side
i
n a sin
g
le librar
y
to
g
ether with other librar
y
facilities not covered b
y
this License
,
an
d
di
str
ib
ute suc
h
a com
bi
ne
d
lib
rar
y
,
p
rov
id
e
d
t
h
at t
h
e se
p
arate
di
str
ib
ut
i
on
o
f the work based on the Librar
y
and of the other librar
y
facilities is otherwise
p
erm
i
tte
d
, an
d
p
rov
id
e
d
t
h
at
y
ou
d
o t
h
ese two t
hi
n
g
s
:
a
)
Accom
p
an
y
the combined librar
y
with a co
py
of the same work based on
t
he Librar
y
, uncombined with an
y
other librar
y
facilities. This must be distributed
u
nder the terms of the Sections above
.
b)
Give
p
rominent notice with the combined librar
y
of the fact that
p
art of it
i
s a work based on the Librar
y
, and ex
p
lainin
g
where to fi nd the accom
p
an
y
in
g
u
ncombined form of the same work
.
8. You ma
y
not co
py
, modif
y
, sublicense, link with, or distribute the Librar
y
exce
p
t
as ex
p
ressl
y
p
rovided under this License. An
y
attem
p
t otherwise to co
py
, modif
y,
su
bli
cense,
li
n
k
w
i
t
h
, or
di
str
ib
ute t
h
e
Lib
rar
y
i
s vo
id
, an
d
w
ill
automat
i
ca
lly
term
i
-
nate
y
our r
igh
ts un
d
er t
hi
s
Li
cense.
H
owever,
p
art
i
es w
h
o
h
ave rece
i
ve
d
co
pi
es
,
o
r ri
g
hts, from
y
ou under this License will not have their licenses terminated so
l
on
g
as such
p
arties remain in full com
p
liance
.
9. You are not re
q
uired to acce
p
t this License, since
y
ou have not si
g
ned it. How-
ever, nothin
g
else
g
rants
y
ou
p
ermission to modif
y
or distribute the Librar
y
or its
d
erivative works. These actions are
p
rohibited b
y
law if
y
ou do not acce
p
t this
License. Therefore, b
y
modif
y
in
g
or distributin
g
the Librar
y
(
or an
y
work based
o
n the Librar
y)
,
y
ou indicate
y
our acce
p
tance of this License to do so, and all its
t
erms and conditions for co
py
in
g
, distributin
g
or modif
y
in
g
the Librar
y
or works
b
ase
d
on
i
t
.
10. Each time
y
ou redistribute the Librar
y
(
or an
y
work based on the Librar
y),
t
he reci
p
ient automaticall
y
receives a license from the ori
g
inal licensor to co
py,
d
istribute, link with or modif
y
the Librar
y
sub
j
ect to these terms and condi-
t
ions. You ma
y
not im
p
ose an
y
further restrictions on the reci
p
ients' exercise
o
f the ri
g
hts
g
ranted herein. You are not res
p
onsible for enforcin
g
com
p
liance
by
t
hi
r
d
p
art
i
es w
i
t
h
t
hi
s
Li
cense
.
11. If, as a conse
q
uence of a court
j
ud
g
ment or alle
g
ation of
p
atent infrin
g
ement
o
r for an
y
other reason
(
not limited to
p
atent issues
)
, conditions are im
p
osed
o
n
y
ou
(
whether b
y
court order, a
g
reement or otherwise
)
that contradict the
c
onditions of this License, the
y
do not excuse
y
ou from the conditions of this
License. If
y
ou cannot distribute so as to satisf
y
simultaneousl
y
y
our obli
g
ations