2
LICENSE
Exhibit B
LGPL
GNU LESSER GENERAL PUBLIC LICENSE
Version 2. 1, February 1999
Copyright (C) 1991, 1999 Fr ee Software Foundat ion, Inc.
51 Franklin St reet, Fifth Floor, Boston, MA 02110-1301 U SA
Everyone is permi tted to copy and dist ribute verbatim copies of this lice nse document, bu t changing it is not allo wed.
[This is the first re leased version of the Lesser GPL. It also counts as the succe ssor of the G NU Library Pub lic License,
version 2, hence the version number 2. 1.]
Preamble
The licens es for most so ftware are d esigned to take away y our freedom to share and change it. By contrast, t he GNU
General Public Licenses are intended to guarantee your freedom to share and change fre e software--to make sure the
software is fr ee for all its users.
This license, the Lesser General Public Lic ense, applies to some specially designated software packages--typically
libraries- -of the Free Soft ware Foundati on and other au thors who decide to use it. You can us e it too, but we s uggest
you first think ca refully about whe ther this license or the ordinary Genera l Public Licen se is the better strateg y to use in
any particular case, based on t he explanations below.
When we speak of free software, we are re ferring to freedom of use, not price. Our General Public Lic enses are designed
to make sure tha t you have the f reedom to distri bute copies of free software (and charge fo r this service i f you wish);
that you receive so urce code or can get it if you want it; that you can change the so ftware and use p ieces of it in n ew
free programs; and that you are informed that you can do these things.
To protect your rights, we need to make restri ctions that forbid distributors to deny you these rig hts or to ask you to
surrender these rig hts. These restrictio ns translate to certai n responsibilities for you if you distribute cop ies of the library
or if you modify it.
For example, if you di stribute copies of th e library, whether gratis or for a fee, you must gi ve the recipients all the rights
that we gave you. Y ou must make sure tha t they, too, re ceive or can get t he source code. If you link other code wi th the
library, y ou must provid e complete ob ject files to the recipi ents, so tha t they can rel ink them wi th the library after
making changes to the library and recompiling it. And you must show them these terms so they know their rights.
We protec t your rights with a two- step method: (1) we copy right the library, an d (2) we offer you this l icense, whic h
gives you legal permission to copy, distribute and/or modify the library.
To protect ea ch distributor, w e want to make it ver y clear that ther e is no warranty f or the free libra ry. Also, if the lib rary
is modified by someone els e and passed on, t he recipient s should know that what they have is not the ori ginal version,
so that the origina l author's reput ation will not be affe cted by problem s that might be introd uced by others.
Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure tha t a
company can not effecti vely restrict the users of a free program by obtainin g a restrict ive license from a patent holder.
Therefore, w e insist that a ny patent lice nse obtained fo r a version of t he library must be consiste nt with the full freedom
of use specified in this lice nse.
Most GNU soft ware, inc luding some libraries , is covered by the ordi nary GNU Gen eral Public License. This licens e, the
GNU Lesser General Public License, applies to cer tain designated libraries, and is quite different from the ordinary
General Publi c License. We use this licen se for certai n libraries in or der to permit linking thos e libraries int o non-free
program s.
When a program is linked with a library, w hether statically or using a shared library, the combination of th e two is legally
speaking a comb ined work, a der ivative of the o riginal library. The ordinary G eneral Public Lic ense therefore permits
such linking only if the entire combinat ion fits its criteri a of freedom. The Lesser Gene ral Public License pe rmits more lax
criteria for linking other code wi th the library .
We call thi s license the "L esser" General P ublic Licens e because it does Less to protect the user's freedom than the
ordinary Genera l Public Lice nse. It also pr ovides other free sof tware developers Less of an adva ntage over competi ng
non-free programs. T hese disadvantages are the reason we use the ordinary Gene ral Public License f or many libraries.
However, the Les ser license pro vides advantages in certain special cir cumstances.
For example, on rar e occasions, there may be a s pecial need to encoura ge the widest possible use of a ce rtain library, so
that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library . A more
frequent case is t hat a free library does the same job as widely used non-fre e libraries. In thi s case, there is l ittle to gain
by limiting th e free library to free software only, so we use the Lesser General Public Li cense.
In other cases, permission to use a particular library in non-f ree programs enabl es a greater number of peop le to use a
large body of free software. Fo r example, permission to use the GNU C Library in non-free pr ograms enables many more
people to use the whole GNU o perating system, as well as it s variant, the GNU/ Linux operating system.
Although the Lesser Genera l Public License is Less prote ctive of the users' freedom, it does ensure that the user of a
program that is linked wi th the Librar y has the free dom and the wher ewithal to ru n that program using a modifi ed
version of the Library.
The precise terms and cond itions for co pying, dist ribution and mo dification follow. Pay c lose attentio n to the dif ference
between a "work based on the lib rary" and a "work that uses the library ". The former contains code derived from the
library, wh ereas the latter must be combin ed with the libr ary in order to run.
GNU LESSER GENERAL PUBLIC LICENSE
TERMS AND CONDITIO NS FOR COPYING, DIST RIBUTION AND MODIFIC ATION
0. This Li cense Agreement applies to a ny software li brary or oth er program wh ich contains a notice placed by the
copyright holder or other autho rized party saying it may be distribut ed under the terms of this Lesser General Public
License (also c alled "this Licen se"). Each lice nsee is addressed as "you".
A "library" means a collection o f software functi ons and/or data pr epared so as to be conveniently linked with
application programs (whic h use some of those fu nctions and data) t o form execut ables.
The "Library", below, refers to any such software library or work which has been distributed under these terms. A
"work based on the Library " means either the Librar y or any derivative work un der copyright law: that is to say, a work
containing the Library or a portion of it, either verbatim o r with modifications and/or translated straightforwardly int o
another la nguage. (Her einafter, tr anslation is included with out limitati on in the te rm "modificat ion".)
"Source code" for a work means the preferre d form of the work for making modificat ions to it. For a library, complete
source code means a ll the source cod e for all mod ules it contains, plus any associat ed interface defin ition files, pl us
the scripts u sed to contr ol compilation and installat ion of the libr ary.
Activities oth er than copying , distribution an d modification ar e not covered by thi s License; they are outside its scope .
The act of running a program using the Library is not restric ted, and output from such a program is cove red only if its
contents con stitute a wor k based on th e Library ( independent of the use of th e Library in a tool for wr iting it).
Whether that is true depends on what the Library does and what the program that uses the Library does.
1. You may copy and distribute verbatim co pies of the Library's compl ete source code as you receive it, in any medium,
provided that you conspicuously and appropriately publish on each copy an appropr iate copyright notice and
disclaim er of warranty; keep intact all th e notices that refer to this License and to the abse nce of any warrant y; and
distribute a c opy of this License alon g with the Li brary.
You may charge a fe e for the physical act o f transferring a copy, a nd you may at your option o ffer warranty protection
in exchange for a fee.
2. You may modif y your copy or copies of the Library or any por tion of it, t hus forming a wo rk based on the Lib rary, and
copy and distribute such mo difications or work under the te rms of Section 1 above, pro vided that you also meet all of
these condit ions:
a) The modified work must it self be a software library.
b) You must cause the files modified to carry p rominent notices stating that you chang ed the files and the date of any
change.
c) You must cause th e whole of the work t o be licensed at no c harge to all third p arties under the ter ms of this Licens e.
d) If a facility in the modifi ed Library refers to a functio n or a table of data to be supplie d by an application prog ram
that uses th e facility, othe r than as an argume nt passed when the facility is invoked, then yo u must make a goo d
faith effor t to ensure tha t, in the e vent an applic ation does not supply such fun ction or table, the facilit y still
operates, and performs whateve r part of its purpose remains me aningful.
(For example, a function in a library to c ompute square roots has a purpose th at is entirel y well-defined
independent of the application. Therefore, Subsec tion 2d requires that any application-supplied function or table
used by this function must b e optional: i f the applicati on does not supp ly it, the squa re root functio n must still
compute square roots.)
These requirem ents apply to the modified work as a whole. If identifi able sections o f that work ar e not derived fr om
the Library, and can be reasonably consi dered independen t and separate works in th emselves, then thi s License, and
its terms, do not apply to those secti ons when you distribute the m as separate wor ks. But when you distribute the
same sections as part of a w hole which is a work based o n the Library, the distributi on of the who le must be on t he
terms of this License, whose per missions for other li censees ex tend to the en tire whol e, and thus to each and every
part regardless of who wrote it.
Thus, it is no t the intent o f this sectio n to claim rights or contest yo ur rights t o work written e ntirely by yo u; rather, the
intent is to exercise the right to control the distribut ion of derivative o r collective wo rks based on the L ibrary.
In addition, mere aggregatio n of another work not based on the L ibrary with the Library (or wi th a work based on the
Library) on a volume of a storag e or distribution medium does not bring the other work under the scope of this
License.
3. You may opt to apply the ter ms of the ordinary GNU Gener al Public License instea d of this License to a given co py of
the Library. To do this, you must alter all the no tices that refe r to this License, so that they refe r to the ordinary GN U
General Public License, version 2, in stead of to this License. (If a newer version than version 2 of the ordinary GNU
General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other
change in these notice s.
Once this change is made in a given co py, it is irreversib le for that copy, so the or dinary GNU General Public Li cense
applies to all subsequent copi es and derivative works made from that copy.
This optio n is useful when you wish to copy part of th e code of the Lib rary into a program th at is not a librar y.
4. You may copy and distribute the Library (or a portion or derivati ve of it, under Section 2) in object code or executable
form under t he terms of Sect ions 1 and 2 above provided that you accompany i t with the co mplete correspon ding
machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software inte rchange.
If distribution of obj ect code is made by offer ing access to copy from a designated place, the n offering equivalent access to
copy the source code from the same place satisfi es the requirement to distribute the source code, even though thir d parties
are not compelled to copy the source along with the object code.
5. A program that contains no derivati ve of any portion of the Library, but is desi gned to work wi th the Library by being
compiled or l inked with it, is called a "wo rk that uses the L ibrary". Such a work, in isola tion, is not a de rivative work of
the Library , and therefore falls outside the scope of th is License.
However, linking a "work that uses the Library" with the Library creates an executab le that is a derivative of the Library
(because it contains portions of the Library), rather than a "work that uses the library". The executable is therefo re
covered by thi s License. Sect ion 6 states t erms for distri bution of such executables.
When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the
work may be a derivative work of the Library even though the so urce code is not . Whether this is true is espec ially
significant if the work can be linke d without the Library , or if the work is itself a library. The thresho ld for this to be true
is not precisely defined by law.
If such an object file uses only nu merical parameters, data structure layouts and accesso rs, and small macros and
small inli ne functi ons (te n lines or le ss in leng th), then the use of the object fi le is unr estricte d, regardl ess of whe ther it
is legally a der ivative work. (Executa bles containing this object code plus portions of the L ibrary will still fa ll under
Section 6.)
Otherwise, if the work is a derivative of the Library, you may distrib ute the object code for the work under the terms of
Section 6. Any e xecutables conta ining that work al so fall under Section 6, whether or not t hey are linked dire ctly with
the Library itse lf.
6. As an exc eption to the Sect ions above, yo u may also combine o r link a "work t hat uses the Libr ary" with the L ibrary to
produce a work containing po rtions of the Library, and distribute that work under terms of your choice, prov ided that
the terms perm it modification of the work f or the customer's own use and reverse engineering for debugging such
modifications.
You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its
use are cover ed by this Lic ense. You must sup ply a copy of this Licens e. If the work during execution displays
copyright notic es, you must include t he copyright no tice for the Library among t hem, as well as a reference directing
the user to t he copy of this License. Also, you m ust do one of t hese things:
a) Accompa ny the work with the co mplete corre sponding m achine-read able source c ode for the Lib rary inclu ding
whatever cha nges were used in the work (which must be di stributed under Sections 1 and 2 above); and, if the work
is an executab le linked with the Lib rary, with the com plete machine-r eadable "work that uses t he Library", as obj ect
code and/or so urce code, so t hat the user can modify the Li brary and then relink to produc e a modified e xecutable
containing the modi fied Library. (It is underst ood that the user who changes the cont ents of definitions files in the
Library w ill not nece ssarily be ab le to recompile the applic ation to use the modified de finitions.)
b) Use a suitable shar ed library mechanism for linking with t he Library. A suitable m echanism is one that (1) uses at
run time a copy of the library already present on the user's computer system, rath er than copying libra ry functions
into the ex ecutable, and ( 2) will operat e properly with a modified ver sion of the lib rary, if the use r installs one, a s
long as the modified versi on is interface -compatible wi th the version that the work was made with.
c) Accompany the work with a written offer, valid for at least three ye ars, to give the same user the materials specifie d
in Subsection 6a, above , for a charge no more than th e cost of performing th is distribution.
d) If distribu tion of the wor k is made by off ering access to co py from a designat ed place, offer equivalent access to
copy the above specified mate rials from the sa me place.
e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy.
For an executa ble, the require d form of the "work that uses the Li brary" must incl ude any data and utility programs
needed for reproducing the executable from it. However, as a special exc eption, the ma terials to be distributed need
not include anything that is normally distr ibuted (in either source or binary form) wit h the major components
(compiler, ke rnel, and so on) of t he operating syst em on which the executable runs, un less that component itself
accompanies the executable.
It may happ en that this requirement con tradicts the l icense restrictions of ot her proprietary libraries that do no t
normally accomp any the operating system. Such a contradiction means y ou cannot use both them and the Lib rary
together in an exe cutable that you distribu te.
7. You may place library facilities that are a w ork based on the Librar y side-by-side in a sing le library together wi th other
library facili ties not cover ed by this License, a nd distribute such a co mbined library, provided that the separate
distributi on of the work based on the Lib rary and of th e other librar y facilities i s otherwise per mitted, and p rovided
that you do these two th ings:
a) Accompany the combined library wi th a copy of the same work based on the Library, uncomb ined with any other
library faciliti es. This must be distributed un der the terms of the Secti ons above.
b) Give promi nent noti ce with t he combin ed library of the fact that part of it is a work b ased on the Library, and
explaining where to find the accom panying un combined form of the sam e work.
8. You may not copy, modify, subli cense, link with, or distribu te the Library except as expr essly provided under this
License. Any atte mpt otherwise to copy , modify, sublicense, l ink with, or distribute th e Library is void, and will
automatically terminate your rig hts under this License. However, parties who have re ceived copies, or rights, from
you under this License w ill not have their licenses te rminated so long as such parties rema in in full complianc e.
9. You are not required to accep t this Licens e, since you have n ot signed it. H owever, nothing e lse grants you
permission to modify or dist ribute the Lib rary or its deri vative works. These acti ons are prohibi ted by law if yo u do not
accept this Lic ense. Therefore, b y modifying or distribut ing the Library (or any work based on the Library), you
indicate your acceptance of th is License to do so, and all its terms and conditio ns for copying, distributing or
modifying the L ibrary or works based on it.
10. Each time you redistribute the Library (or any work based on the Library), the rec ipient automatically rece ives a
license from the origina l licensor t o copy, distri bute, link with or modify the Library su bject to thes e terms and
conditions. You may not impose any furt her restrictions o n the recipients' e xercise of the r ights granted here in. You
are not respons ible for enforcing compliance by third par ties with this Lice nse.