1*638691a0SAndroid Build Coastguard Worker GNU LESSER GENERAL PUBLIC LICENSE 2*638691a0SAndroid Build Coastguard Worker Version 2.1, February 1999 3*638691a0SAndroid Build Coastguard Worker 4*638691a0SAndroid Build Coastguard Worker Copyright � 1991, 1999 Free Software Foundation, Inc. 5*638691a0SAndroid Build Coastguard Worker 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 6*638691a0SAndroid Build Coastguard Worker Everyone is permitted to copy and distribute verbatim copies 7*638691a0SAndroid Build Coastguard Worker of this license document, but changing it is not allowed. 8*638691a0SAndroid Build Coastguard Worker 9*638691a0SAndroid Build Coastguard Worker[This is the first released version of the Lesser GPL. It also counts 10*638691a0SAndroid Build Coastguard Worker as the successor of the GNU Library Public License, version 2, hence 11*638691a0SAndroid Build Coastguard Worker the version number 2.1.] 12*638691a0SAndroid Build Coastguard Worker 13*638691a0SAndroid Build Coastguard Worker Preamble 14*638691a0SAndroid Build Coastguard Worker 15*638691a0SAndroid Build Coastguard Worker The licenses for most software are designed to take away your 16*638691a0SAndroid Build Coastguard Workerfreedom to share and change it. By contrast, the GNU General Public 17*638691a0SAndroid Build Coastguard WorkerLicenses are intended to guarantee your freedom to share and change 18*638691a0SAndroid Build Coastguard Workerfree software--to make sure the software is free for all its users. 19*638691a0SAndroid Build Coastguard Worker 20*638691a0SAndroid Build Coastguard Worker This license, the Lesser General Public License, applies to some 21*638691a0SAndroid Build Coastguard Workerspecially designated software packages--typically libraries--of the 22*638691a0SAndroid Build Coastguard WorkerFree Software Foundation and other authors who decide to use it. You 23*638691a0SAndroid Build Coastguard Workercan use it too, but we suggest you first think carefully about whether 24*638691a0SAndroid Build Coastguard Workerthis license or the ordinary General Public License is the better 25*638691a0SAndroid Build Coastguard Workerstrategy to use in any particular case, based on the explanations below. 26*638691a0SAndroid Build Coastguard Worker 27*638691a0SAndroid Build Coastguard Worker When we speak of free software, we are referring to freedom of use, 28*638691a0SAndroid Build Coastguard Workernot price. Our General Public Licenses are designed to make sure that 29*638691a0SAndroid Build Coastguard Workeryou have the freedom to distribute copies of free software (and charge 30*638691a0SAndroid Build Coastguard Workerfor this service if you wish); that you receive source code or can get 31*638691a0SAndroid Build Coastguard Workerit if you want it; that you can change the software and use pieces of 32*638691a0SAndroid Build Coastguard Workerit in new free programs; and that you are informed that you can do 33*638691a0SAndroid Build Coastguard Workerthese things. 34*638691a0SAndroid Build Coastguard Worker 35*638691a0SAndroid Build Coastguard Worker To protect your rights, we need to make restrictions that forbid 36*638691a0SAndroid Build Coastguard Workerdistributors to deny you these rights or to ask you to surrender these 37*638691a0SAndroid Build Coastguard Workerrights. These restrictions translate to certain responsibilities for 38*638691a0SAndroid Build Coastguard Workeryou if you distribute copies of the library or if you modify it. 39*638691a0SAndroid Build Coastguard Worker 40*638691a0SAndroid Build Coastguard Worker For example, if you distribute copies of the library, whether gratis 41*638691a0SAndroid Build Coastguard Workeror for a fee, you must give the recipients all the rights that we gave 42*638691a0SAndroid Build Coastguard Workeryou. You must make sure that they, too, receive or can get the source 43*638691a0SAndroid Build Coastguard Workercode. If you link other code with the library, you must provide 44*638691a0SAndroid Build Coastguard Workercomplete object files to the recipients, so that they can relink them 45*638691a0SAndroid Build Coastguard Workerwith the library after making changes to the library and recompiling 46*638691a0SAndroid Build Coastguard Workerit. And you must show them these terms so they know their rights. 47*638691a0SAndroid Build Coastguard Worker 48*638691a0SAndroid Build Coastguard Worker We protect your rights with a two-step method: (1) we copyright the 49*638691a0SAndroid Build Coastguard Workerlibrary, and (2) we offer you this license, which gives you legal 50*638691a0SAndroid Build Coastguard Workerpermission to copy, distribute and/or modify the library. 51*638691a0SAndroid Build Coastguard Worker 52*638691a0SAndroid Build Coastguard Worker To protect each distributor, we want to make it very clear that 53*638691a0SAndroid Build Coastguard Workerthere is no warranty for the free library. Also, if the library is 54*638691a0SAndroid Build Coastguard Workermodified by someone else and passed on, the recipients should know 55*638691a0SAndroid Build Coastguard Workerthat what they have is not the original version, so that the original 56*638691a0SAndroid Build Coastguard Workerauthor's reputation will not be affected by problems that might be 57*638691a0SAndroid Build Coastguard Workerintroduced by others. 58*638691a0SAndroid Build Coastguard Worker 59*638691a0SAndroid Build Coastguard Worker Finally, software patents pose a constant threat to the existence of 60*638691a0SAndroid Build Coastguard Workerany free program. We wish to make sure that a company cannot 61*638691a0SAndroid Build Coastguard Workereffectively restrict the users of a free program by obtaining a 62*638691a0SAndroid Build Coastguard Workerrestrictive license from a patent holder. Therefore, we insist that 63*638691a0SAndroid Build Coastguard Workerany patent license obtained for a version of the library must be 64*638691a0SAndroid Build Coastguard Workerconsistent with the full freedom of use specified in this license. 65*638691a0SAndroid Build Coastguard Worker 66*638691a0SAndroid Build Coastguard Worker Most GNU software, including some libraries, is covered by the 67*638691a0SAndroid Build Coastguard Workerordinary GNU General Public License. This license, the GNU Lesser 68*638691a0SAndroid Build Coastguard WorkerGeneral Public License, applies to certain designated libraries, and 69*638691a0SAndroid Build Coastguard Workeris quite different from the ordinary General Public License. We use 70*638691a0SAndroid Build Coastguard Workerthis license for certain libraries in order to permit linking those 71*638691a0SAndroid Build Coastguard Workerlibraries into non-free programs. 72*638691a0SAndroid Build Coastguard Worker 73*638691a0SAndroid Build Coastguard Worker When a program is linked with a library, whether statically or using 74*638691a0SAndroid Build Coastguard Workera shared library, the combination of the two is legally speaking a 75*638691a0SAndroid Build Coastguard Workercombined work, a derivative of the original library. The ordinary 76*638691a0SAndroid Build Coastguard WorkerGeneral Public License therefore permits such linking only if the 77*638691a0SAndroid Build Coastguard Workerentire combination fits its criteria of freedom. The Lesser General 78*638691a0SAndroid Build Coastguard WorkerPublic License permits more lax criteria for linking other code with 79*638691a0SAndroid Build Coastguard Workerthe library. 80*638691a0SAndroid Build Coastguard Worker 81*638691a0SAndroid Build Coastguard Worker We call this license the "Lesser" General Public License because it 82*638691a0SAndroid Build Coastguard Workerdoes Less to protect the user's freedom than the ordinary General 83*638691a0SAndroid Build Coastguard WorkerPublic License. It also provides other free software developers Less 84*638691a0SAndroid Build Coastguard Workerof an advantage over competing non-free programs. These disadvantages 85*638691a0SAndroid Build Coastguard Workerare the reason we use the ordinary General Public License for many 86*638691a0SAndroid Build Coastguard Workerlibraries. However, the Lesser license provides advantages in certain 87*638691a0SAndroid Build Coastguard Workerspecial circumstances. 88*638691a0SAndroid Build Coastguard Worker 89*638691a0SAndroid Build Coastguard Worker For example, on rare occasions, there may be a special need to 90*638691a0SAndroid Build Coastguard Workerencourage the widest possible use of a certain library, so that it becomes 91*638691a0SAndroid Build Coastguard Workera de-facto standard. To achieve this, non-free programs must be 92*638691a0SAndroid Build Coastguard Workerallowed to use the library. A more frequent case is that a free 93*638691a0SAndroid Build Coastguard Workerlibrary does the same job as widely used non-free libraries. In this 94*638691a0SAndroid Build Coastguard Workercase, there is little to gain by limiting the free library to free 95*638691a0SAndroid Build Coastguard Workersoftware only, so we use the Lesser General Public License. 96*638691a0SAndroid Build Coastguard Worker 97*638691a0SAndroid Build Coastguard Worker In other cases, permission to use a particular library in non-free 98*638691a0SAndroid Build Coastguard Workerprograms enables a greater number of people to use a large body of 99*638691a0SAndroid Build Coastguard Workerfree software. For example, permission to use the GNU C Library in 100*638691a0SAndroid Build Coastguard Workernon-free programs enables many more people to use the whole GNU 101*638691a0SAndroid Build Coastguard Workeroperating system, as well as its variant, the GNU/Linux operating 102*638691a0SAndroid Build Coastguard Workersystem. 103*638691a0SAndroid Build Coastguard Worker 104*638691a0SAndroid Build Coastguard Worker Although the Lesser General Public License is Less protective of the 105*638691a0SAndroid Build Coastguard Workerusers' freedom, it does ensure that the user of a program that is 106*638691a0SAndroid Build Coastguard Workerlinked with the Library has the freedom and the wherewithal to run 107*638691a0SAndroid Build Coastguard Workerthat program using a modified version of the Library. 108*638691a0SAndroid Build Coastguard Worker 109*638691a0SAndroid Build Coastguard Worker The precise terms and conditions for copying, distribution and 110*638691a0SAndroid Build Coastguard Workermodification follow. Pay close attention to the difference between a 111*638691a0SAndroid Build Coastguard Worker"work based on the library" and a "work that uses the library". The 112*638691a0SAndroid Build Coastguard Workerformer contains code derived from the library, whereas the latter must 113*638691a0SAndroid Build Coastguard Workerbe combined with the library in order to run. 114*638691a0SAndroid Build Coastguard Worker 115*638691a0SAndroid Build Coastguard Worker GNU LESSER GENERAL PUBLIC LICENSE 116*638691a0SAndroid Build Coastguard Worker TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 117*638691a0SAndroid Build Coastguard Worker 118*638691a0SAndroid Build Coastguard Worker 0. This License Agreement applies to any software library or other 119*638691a0SAndroid Build Coastguard Workerprogram which contains a notice placed by the copyright holder or 120*638691a0SAndroid Build Coastguard Workerother authorized party saying it may be distributed under the terms of 121*638691a0SAndroid Build Coastguard Workerthis Lesser General Public License (also called "this License"). 122*638691a0SAndroid Build Coastguard WorkerEach licensee is addressed as "you". 123*638691a0SAndroid Build Coastguard Worker 124*638691a0SAndroid Build Coastguard Worker A "library" means a collection of software functions and/or data 125*638691a0SAndroid Build Coastguard Workerprepared so as to be conveniently linked with application programs 126*638691a0SAndroid Build Coastguard Worker(which use some of those functions and data) to form executables. 127*638691a0SAndroid Build Coastguard Worker 128*638691a0SAndroid Build Coastguard Worker The "Library", below, refers to any such software library or work 129*638691a0SAndroid Build Coastguard Workerwhich has been distributed under these terms. A "work based on the 130*638691a0SAndroid Build Coastguard WorkerLibrary" means either the Library or any derivative work under 131*638691a0SAndroid Build Coastguard Workercopyright law: that is to say, a work containing the Library or a 132*638691a0SAndroid Build Coastguard Workerportion of it, either verbatim or with modifications and/or translated 133*638691a0SAndroid Build Coastguard Workerstraightforwardly into another language. (Hereinafter, translation is 134*638691a0SAndroid Build Coastguard Workerincluded without limitation in the term "modification".) 135*638691a0SAndroid Build Coastguard Worker 136*638691a0SAndroid Build Coastguard Worker "Source code" for a work means the preferred form of the work for 137*638691a0SAndroid Build Coastguard Workermaking modifications to it. For a library, complete source code means 138*638691a0SAndroid Build Coastguard Workerall the source code for all modules it contains, plus any associated 139*638691a0SAndroid Build Coastguard Workerinterface definition files, plus the scripts used to control compilation 140*638691a0SAndroid Build Coastguard Workerand installation of the library. 141*638691a0SAndroid Build Coastguard Worker 142*638691a0SAndroid Build Coastguard Worker Activities other than copying, distribution and modification are not 143*638691a0SAndroid Build Coastguard Workercovered by this License; they are outside its scope. The act of 144*638691a0SAndroid Build Coastguard Workerrunning a program using the Library is not restricted, and output from 145*638691a0SAndroid Build Coastguard Workersuch a program is covered only if its contents constitute a work based 146*638691a0SAndroid Build Coastguard Workeron the Library (independent of the use of the Library in a tool for 147*638691a0SAndroid Build Coastguard Workerwriting it). Whether that is true depends on what the Library does 148*638691a0SAndroid Build Coastguard Workerand what the program that uses the Library does. 149*638691a0SAndroid Build Coastguard Worker 150*638691a0SAndroid Build Coastguard Worker 1. You may copy and distribute verbatim copies of the Library's 151*638691a0SAndroid Build Coastguard Workercomplete source code as you receive it, in any medium, provided that 152*638691a0SAndroid Build Coastguard Workeryou conspicuously and appropriately publish on each copy an 153*638691a0SAndroid Build Coastguard Workerappropriate copyright notice and disclaimer of warranty; keep intact 154*638691a0SAndroid Build Coastguard Workerall the notices that refer to this License and to the absence of any 155*638691a0SAndroid Build Coastguard Workerwarranty; and distribute a copy of this License along with the 156*638691a0SAndroid Build Coastguard WorkerLibrary. 157*638691a0SAndroid Build Coastguard Worker 158*638691a0SAndroid Build Coastguard Worker You may charge a fee for the physical act of transferring a copy, 159*638691a0SAndroid Build Coastguard Workerand you may at your option offer warranty protection in exchange for a 160*638691a0SAndroid Build Coastguard Workerfee. 161*638691a0SAndroid Build Coastguard Worker 162*638691a0SAndroid Build Coastguard Worker 2. You may modify your copy or copies of the Library or any portion 163*638691a0SAndroid Build Coastguard Workerof it, thus forming a work based on the Library, and copy and 164*638691a0SAndroid Build Coastguard Workerdistribute such modifications or work under the terms of Section 1 165*638691a0SAndroid Build Coastguard Workerabove, provided that you also meet all of these conditions: 166*638691a0SAndroid Build Coastguard Worker 167*638691a0SAndroid Build Coastguard Worker a) The modified work must itself be a software library. 168*638691a0SAndroid Build Coastguard Worker 169*638691a0SAndroid Build Coastguard Worker b) You must cause the files modified to carry prominent notices 170*638691a0SAndroid Build Coastguard Worker stating that you changed the files and the date of any change. 171*638691a0SAndroid Build Coastguard Worker 172*638691a0SAndroid Build Coastguard Worker c) You must cause the whole of the work to be licensed at no 173*638691a0SAndroid Build Coastguard Worker charge to all third parties under the terms of this License. 174*638691a0SAndroid Build Coastguard Worker 175*638691a0SAndroid Build Coastguard Worker d) If a facility in the modified Library refers to a function or a 176*638691a0SAndroid Build Coastguard Worker table of data to be supplied by an application program that uses 177*638691a0SAndroid Build Coastguard Worker the facility, other than as an argument passed when the facility 178*638691a0SAndroid Build Coastguard Worker is invoked, then you must make a good faith effort to ensure that, 179*638691a0SAndroid Build Coastguard Worker in the event an application does not supply such function or 180*638691a0SAndroid Build Coastguard Worker table, the facility still operates, and performs whatever part of 181*638691a0SAndroid Build Coastguard Worker its purpose remains meaningful. 182*638691a0SAndroid Build Coastguard Worker 183*638691a0SAndroid Build Coastguard Worker (For example, a function in a library to compute square roots has 184*638691a0SAndroid Build Coastguard Worker a purpose that is entirely well-defined independent of the 185*638691a0SAndroid Build Coastguard Worker application. Therefore, Subsection 2d requires that any 186*638691a0SAndroid Build Coastguard Worker application-supplied function or table used by this function must 187*638691a0SAndroid Build Coastguard Worker be optional: if the application does not supply it, the square 188*638691a0SAndroid Build Coastguard Worker root function must still compute square roots.) 189*638691a0SAndroid Build Coastguard Worker 190*638691a0SAndroid Build Coastguard WorkerThese requirements apply to the modified work as a whole. If 191*638691a0SAndroid Build Coastguard Workeridentifiable sections of that work are not derived from the Library, 192*638691a0SAndroid Build Coastguard Workerand can be reasonably considered independent and separate works in 193*638691a0SAndroid Build Coastguard Workerthemselves, then this License, and its terms, do not apply to those 194*638691a0SAndroid Build Coastguard Workersections when you distribute them as separate works. But when you 195*638691a0SAndroid Build Coastguard Workerdistribute the same sections as part of a whole which is a work based 196*638691a0SAndroid Build Coastguard Workeron the Library, the distribution of the whole must be on the terms of 197*638691a0SAndroid Build Coastguard Workerthis License, whose permissions for other licensees extend to the 198*638691a0SAndroid Build Coastguard Workerentire whole, and thus to each and every part regardless of who wrote 199*638691a0SAndroid Build Coastguard Workerit. 200*638691a0SAndroid Build Coastguard Worker 201*638691a0SAndroid Build Coastguard WorkerThus, it is not the intent of this section to claim rights or contest 202*638691a0SAndroid Build Coastguard Workeryour rights to work written entirely by you; rather, the intent is to 203*638691a0SAndroid Build Coastguard Workerexercise the right to control the distribution of derivative or 204*638691a0SAndroid Build Coastguard Workercollective works based on the Library. 205*638691a0SAndroid Build Coastguard Worker 206*638691a0SAndroid Build Coastguard WorkerIn addition, mere aggregation of another work not based on the Library 207*638691a0SAndroid Build Coastguard Workerwith the Library (or with a work based on the Library) on a volume of 208*638691a0SAndroid Build Coastguard Workera storage or distribution medium does not bring the other work under 209*638691a0SAndroid Build Coastguard Workerthe scope of this License. 210*638691a0SAndroid Build Coastguard Worker 211*638691a0SAndroid Build Coastguard Worker 3. You may opt to apply the terms of the ordinary GNU General Public 212*638691a0SAndroid Build Coastguard WorkerLicense instead of this License to a given copy of the Library. To do 213*638691a0SAndroid Build Coastguard Workerthis, you must alter all the notices that refer to this License, so 214*638691a0SAndroid Build Coastguard Workerthat they refer to the ordinary GNU General Public License, version 2, 215*638691a0SAndroid Build Coastguard Workerinstead of to this License. (If a newer version than version 2 of the 216*638691a0SAndroid Build Coastguard Workerordinary GNU General Public License has appeared, then you can specify 217*638691a0SAndroid Build Coastguard Workerthat version instead if you wish.) Do not make any other change in 218*638691a0SAndroid Build Coastguard Workerthese notices. 219*638691a0SAndroid Build Coastguard Worker 220*638691a0SAndroid Build Coastguard Worker Once this change is made in a given copy, it is irreversible for 221*638691a0SAndroid Build Coastguard Workerthat copy, so the ordinary GNU General Public License applies to all 222*638691a0SAndroid Build Coastguard Workersubsequent copies and derivative works made from that copy. 223*638691a0SAndroid Build Coastguard Worker 224*638691a0SAndroid Build Coastguard Worker This option is useful when you wish to copy part of the code of 225*638691a0SAndroid Build Coastguard Workerthe Library into a program that is not a library. 226*638691a0SAndroid Build Coastguard Worker 227*638691a0SAndroid Build Coastguard Worker 4. You may copy and distribute the Library (or a portion or 228*638691a0SAndroid Build Coastguard Workerderivative of it, under Section 2) in object code or executable form 229*638691a0SAndroid Build Coastguard Workerunder the terms of Sections 1 and 2 above provided that you accompany 230*638691a0SAndroid Build Coastguard Workerit with the complete corresponding machine-readable source code, which 231*638691a0SAndroid Build Coastguard Workermust be distributed under the terms of Sections 1 and 2 above on a 232*638691a0SAndroid Build Coastguard Workermedium customarily used for software interchange. 233*638691a0SAndroid Build Coastguard Worker 234*638691a0SAndroid Build Coastguard Worker If distribution of object code is made by offering access to copy 235*638691a0SAndroid Build Coastguard Workerfrom a designated place, then offering equivalent access to copy the 236*638691a0SAndroid Build Coastguard Workersource code from the same place satisfies the requirement to 237*638691a0SAndroid Build Coastguard Workerdistribute the source code, even though third parties are not 238*638691a0SAndroid Build Coastguard Workercompelled to copy the source along with the object code. 239*638691a0SAndroid Build Coastguard Worker 240*638691a0SAndroid Build Coastguard Worker 5. A program that contains no derivative of any portion of the 241*638691a0SAndroid Build Coastguard WorkerLibrary, but is designed to work with the Library by being compiled or 242*638691a0SAndroid Build Coastguard Workerlinked with it, is called a "work that uses the Library". Such a 243*638691a0SAndroid Build Coastguard Workerwork, in isolation, is not a derivative work of the Library, and 244*638691a0SAndroid Build Coastguard Workertherefore falls outside the scope of this License. 245*638691a0SAndroid Build Coastguard Worker 246*638691a0SAndroid Build Coastguard Worker However, linking a "work that uses the Library" with the Library 247*638691a0SAndroid Build Coastguard Workercreates an executable that is a derivative of the Library (because it 248*638691a0SAndroid Build Coastguard Workercontains portions of the Library), rather than a "work that uses the 249*638691a0SAndroid Build Coastguard Workerlibrary". The executable is therefore covered by this License. 250*638691a0SAndroid Build Coastguard WorkerSection 6 states terms for distribution of such executables. 251*638691a0SAndroid Build Coastguard Worker 252*638691a0SAndroid Build Coastguard Worker When a "work that uses the Library" uses material from a header file 253*638691a0SAndroid Build Coastguard Workerthat is part of the Library, the object code for the work may be a 254*638691a0SAndroid Build Coastguard Workerderivative work of the Library even though the source code is not. 255*638691a0SAndroid Build Coastguard WorkerWhether this is true is especially significant if the work can be 256*638691a0SAndroid Build Coastguard Workerlinked without the Library, or if the work is itself a library. The 257*638691a0SAndroid Build Coastguard Workerthreshold for this to be true is not precisely defined by law. 258*638691a0SAndroid Build Coastguard Worker 259*638691a0SAndroid Build Coastguard Worker If such an object file uses only numerical parameters, data 260*638691a0SAndroid Build Coastguard Workerstructure layouts and accessors, and small macros and small inline 261*638691a0SAndroid Build Coastguard Workerfunctions (ten lines or less in length), then the use of the object 262*638691a0SAndroid Build Coastguard Workerfile is unrestricted, regardless of whether it is legally a derivative 263*638691a0SAndroid Build Coastguard Workerwork. (Executables containing this object code plus portions of the 264*638691a0SAndroid Build Coastguard WorkerLibrary will still fall under Section 6.) 265*638691a0SAndroid Build Coastguard Worker 266*638691a0SAndroid Build Coastguard Worker Otherwise, if the work is a derivative of the Library, you may 267*638691a0SAndroid Build Coastguard Workerdistribute the object code for the work under the terms of Section 6. 268*638691a0SAndroid Build Coastguard WorkerAny executables containing that work also fall under Section 6, 269*638691a0SAndroid Build Coastguard Workerwhether or not they are linked directly with the Library itself. 270*638691a0SAndroid Build Coastguard Worker 271*638691a0SAndroid Build Coastguard Worker 6. As an exception to the Sections above, you may also combine or 272*638691a0SAndroid Build Coastguard Workerlink a "work that uses the Library" with the Library to produce a 273*638691a0SAndroid Build Coastguard Workerwork containing portions of the Library, and distribute that work 274*638691a0SAndroid Build Coastguard Workerunder terms of your choice, provided that the terms permit 275*638691a0SAndroid Build Coastguard Workermodification of the work for the customer's own use and reverse 276*638691a0SAndroid Build Coastguard Workerengineering for debugging such modifications. 277*638691a0SAndroid Build Coastguard Worker 278*638691a0SAndroid Build Coastguard Worker You must give prominent notice with each copy of the work that the 279*638691a0SAndroid Build Coastguard WorkerLibrary is used in it and that the Library and its use are covered by 280*638691a0SAndroid Build Coastguard Workerthis License. You must supply a copy of this License. If the work 281*638691a0SAndroid Build Coastguard Workerduring execution displays copyright notices, you must include the 282*638691a0SAndroid Build Coastguard Workercopyright notice for the Library among them, as well as a reference 283*638691a0SAndroid Build Coastguard Workerdirecting the user to the copy of this License. Also, you must do one 284*638691a0SAndroid Build Coastguard Workerof these things: 285*638691a0SAndroid Build Coastguard Worker 286*638691a0SAndroid Build Coastguard Worker a) Accompany the work with the complete corresponding 287*638691a0SAndroid Build Coastguard Worker machine-readable source code for the Library including whatever 288*638691a0SAndroid Build Coastguard Worker changes were used in the work (which must be distributed under 289*638691a0SAndroid Build Coastguard Worker Sections 1 and 2 above); and, if the work is an executable linked 290*638691a0SAndroid Build Coastguard Worker with the Library, with the complete machine-readable "work that 291*638691a0SAndroid Build Coastguard Worker uses the Library", as object code and/or source code, so that the 292*638691a0SAndroid Build Coastguard Worker user can modify the Library and then relink to produce a modified 293*638691a0SAndroid Build Coastguard Worker executable containing the modified Library. (It is understood 294*638691a0SAndroid Build Coastguard Worker that the user who changes the contents of definitions files in the 295*638691a0SAndroid Build Coastguard Worker Library will not necessarily be able to recompile the application 296*638691a0SAndroid Build Coastguard Worker to use the modified definitions.) 297*638691a0SAndroid Build Coastguard Worker 298*638691a0SAndroid Build Coastguard Worker b) Use a suitable shared library mechanism for linking with the 299*638691a0SAndroid Build Coastguard Worker Library. A suitable mechanism is one that (1) uses at run time a 300*638691a0SAndroid Build Coastguard Worker copy of the library already present on the user's computer system, 301*638691a0SAndroid Build Coastguard Worker rather than copying library functions into the executable, and (2) 302*638691a0SAndroid Build Coastguard Worker will operate properly with a modified version of the library, if 303*638691a0SAndroid Build Coastguard Worker the user installs one, as long as the modified version is 304*638691a0SAndroid Build Coastguard Worker interface-compatible with the version that the work was made with. 305*638691a0SAndroid Build Coastguard Worker 306*638691a0SAndroid Build Coastguard Worker c) Accompany the work with a written offer, valid for at 307*638691a0SAndroid Build Coastguard Worker least three years, to give the same user the materials 308*638691a0SAndroid Build Coastguard Worker specified in Subsection 6a, above, for a charge no more 309*638691a0SAndroid Build Coastguard Worker than the cost of performing this distribution. 310*638691a0SAndroid Build Coastguard Worker 311*638691a0SAndroid Build Coastguard Worker d) If distribution of the work is made by offering access to copy 312*638691a0SAndroid Build Coastguard Worker from a designated place, offer equivalent access to copy the above 313*638691a0SAndroid Build Coastguard Worker specified materials from the same place. 314*638691a0SAndroid Build Coastguard Worker 315*638691a0SAndroid Build Coastguard Worker e) Verify that the user has already received a copy of these 316*638691a0SAndroid Build Coastguard Worker materials or that you have already sent this user a copy. 317*638691a0SAndroid Build Coastguard Worker 318*638691a0SAndroid Build Coastguard Worker For an executable, the required form of the "work that uses the 319*638691a0SAndroid Build Coastguard WorkerLibrary" must include any data and utility programs needed for 320*638691a0SAndroid Build Coastguard Workerreproducing the executable from it. However, as a special exception, 321*638691a0SAndroid Build Coastguard Workerthe materials to be distributed need not include anything that is 322*638691a0SAndroid Build Coastguard Workernormally distributed (in either source or binary form) with the major 323*638691a0SAndroid Build Coastguard Workercomponents (compiler, kernel, and so on) of the operating system on 324*638691a0SAndroid Build Coastguard Workerwhich the executable runs, unless that component itself accompanies 325*638691a0SAndroid Build Coastguard Workerthe executable. 326*638691a0SAndroid Build Coastguard Worker 327*638691a0SAndroid Build Coastguard Worker It may happen that this requirement contradicts the license 328*638691a0SAndroid Build Coastguard Workerrestrictions of other proprietary libraries that do not normally 329*638691a0SAndroid Build Coastguard Workeraccompany the operating system. Such a contradiction means you cannot 330*638691a0SAndroid Build Coastguard Workeruse both them and the Library together in an executable that you 331*638691a0SAndroid Build Coastguard Workerdistribute. 332*638691a0SAndroid Build Coastguard Worker 333*638691a0SAndroid Build Coastguard Worker 7. You may place library facilities that are a work based on the 334*638691a0SAndroid Build Coastguard WorkerLibrary side-by-side in a single library together with other library 335*638691a0SAndroid Build Coastguard Workerfacilities not covered by this License, and distribute such a combined 336*638691a0SAndroid Build Coastguard Workerlibrary, provided that the separate distribution of the work based on 337*638691a0SAndroid Build Coastguard Workerthe Library and of the other library facilities is otherwise 338*638691a0SAndroid Build Coastguard Workerpermitted, and provided that you do these two things: 339*638691a0SAndroid Build Coastguard Worker 340*638691a0SAndroid Build Coastguard Worker a) Accompany the combined library with a copy of the same work 341*638691a0SAndroid Build Coastguard Worker based on the Library, uncombined with any other library 342*638691a0SAndroid Build Coastguard Worker facilities. This must be distributed under the terms of the 343*638691a0SAndroid Build Coastguard Worker Sections above. 344*638691a0SAndroid Build Coastguard Worker 345*638691a0SAndroid Build Coastguard Worker b) Give prominent notice with the combined library of the fact 346*638691a0SAndroid Build Coastguard Worker that part of it is a work based on the Library, and explaining 347*638691a0SAndroid Build Coastguard Worker where to find the accompanying uncombined form of the same work. 348*638691a0SAndroid Build Coastguard Worker 349*638691a0SAndroid Build Coastguard Worker 8. You may not copy, modify, sublicense, link with, or distribute 350*638691a0SAndroid Build Coastguard Workerthe Library except as expressly provided under this License. Any 351*638691a0SAndroid Build Coastguard Workerattempt otherwise to copy, modify, sublicense, link with, or 352*638691a0SAndroid Build Coastguard Workerdistribute the Library is void, and will automatically terminate your 353*638691a0SAndroid Build Coastguard Workerrights under this License. However, parties who have received copies, 354*638691a0SAndroid Build Coastguard Workeror rights, from you under this License will not have their licenses 355*638691a0SAndroid Build Coastguard Workerterminated so long as such parties remain in full compliance. 356*638691a0SAndroid Build Coastguard Worker 357*638691a0SAndroid Build Coastguard Worker 9. You are not required to accept this License, since you have not 358*638691a0SAndroid Build Coastguard Workersigned it. However, nothing else grants you permission to modify or 359*638691a0SAndroid Build Coastguard Workerdistribute the Library or its derivative works. These actions are 360*638691a0SAndroid Build Coastguard Workerprohibited by law if you do not accept this License. Therefore, by 361*638691a0SAndroid Build Coastguard Workermodifying or distributing the Library (or any work based on the 362*638691a0SAndroid Build Coastguard WorkerLibrary), you indicate your acceptance of this License to do so, and 363*638691a0SAndroid Build Coastguard Workerall its terms and conditions for copying, distributing or modifying 364*638691a0SAndroid Build Coastguard Workerthe Library or works based on it. 365*638691a0SAndroid Build Coastguard Worker 366*638691a0SAndroid Build Coastguard Worker 10. Each time you redistribute the Library (or any work based on the 367*638691a0SAndroid Build Coastguard WorkerLibrary), the recipient automatically receives a license from the 368*638691a0SAndroid Build Coastguard Workeroriginal licensor to copy, distribute, link with or modify the Library 369*638691a0SAndroid Build Coastguard Workersubject to these terms and conditions. You may not impose any further 370*638691a0SAndroid Build Coastguard Workerrestrictions on the recipients' exercise of the rights granted herein. 371*638691a0SAndroid Build Coastguard WorkerYou are not responsible for enforcing compliance by third parties with 372*638691a0SAndroid Build Coastguard Workerthis License. 373*638691a0SAndroid Build Coastguard Worker 374*638691a0SAndroid Build Coastguard Worker 11. If, as a consequence of a court judgment or allegation of patent 375*638691a0SAndroid Build Coastguard Workerinfringement or for any other reason (not limited to patent issues), 376*638691a0SAndroid Build Coastguard Workerconditions are imposed on you (whether by court order, agreement or 377*638691a0SAndroid Build Coastguard Workerotherwise) that contradict the conditions of this License, they do not 378*638691a0SAndroid Build Coastguard Workerexcuse you from the conditions of this License. If you cannot 379*638691a0SAndroid Build Coastguard Workerdistribute so as to satisfy simultaneously your obligations under this 380*638691a0SAndroid Build Coastguard WorkerLicense and any other pertinent obligations, then as a consequence you 381*638691a0SAndroid Build Coastguard Workermay not distribute the Library at all. For example, if a patent 382*638691a0SAndroid Build Coastguard Workerlicense would not permit royalty-free redistribution of the Library by 383*638691a0SAndroid Build Coastguard Workerall those who receive copies directly or indirectly through you, then 384*638691a0SAndroid Build Coastguard Workerthe only way you could satisfy both it and this License would be to 385*638691a0SAndroid Build Coastguard Workerrefrain entirely from distribution of the Library. 386*638691a0SAndroid Build Coastguard Worker 387*638691a0SAndroid Build Coastguard WorkerIf any portion of this section is held invalid or unenforceable under any 388*638691a0SAndroid Build Coastguard Workerparticular circumstance, the balance of the section is intended to apply, 389*638691a0SAndroid Build Coastguard Workerand the section as a whole is intended to apply in other circumstances. 390*638691a0SAndroid Build Coastguard Worker 391*638691a0SAndroid Build Coastguard WorkerIt is not the purpose of this section to induce you to infringe any 392*638691a0SAndroid Build Coastguard Workerpatents or other property right claims or to contest validity of any 393*638691a0SAndroid Build Coastguard Workersuch claims; this section has the sole purpose of protecting the 394*638691a0SAndroid Build Coastguard Workerintegrity of the free software distribution system which is 395*638691a0SAndroid Build Coastguard Workerimplemented by public license practices. Many people have made 396*638691a0SAndroid Build Coastguard Workergenerous contributions to the wide range of software distributed 397*638691a0SAndroid Build Coastguard Workerthrough that system in reliance on consistent application of that 398*638691a0SAndroid Build Coastguard Workersystem; it is up to the author/donor to decide if he or she is willing 399*638691a0SAndroid Build Coastguard Workerto distribute software through any other system and a licensee cannot 400*638691a0SAndroid Build Coastguard Workerimpose that choice. 401*638691a0SAndroid Build Coastguard Worker 402*638691a0SAndroid Build Coastguard WorkerThis section is intended to make thoroughly clear what is believed to 403*638691a0SAndroid Build Coastguard Workerbe a consequence of the rest of this License. 404*638691a0SAndroid Build Coastguard Worker 405*638691a0SAndroid Build Coastguard Worker 12. If the distribution and/or use of the Library is restricted in 406*638691a0SAndroid Build Coastguard Workercertain countries either by patents or by copyrighted interfaces, the 407*638691a0SAndroid Build Coastguard Workeroriginal copyright holder who places the Library under this License may add 408*638691a0SAndroid Build Coastguard Workeran explicit geographical distribution limitation excluding those countries, 409*638691a0SAndroid Build Coastguard Workerso that distribution is permitted only in or among countries not thus 410*638691a0SAndroid Build Coastguard Workerexcluded. In such case, this License incorporates the limitation as if 411*638691a0SAndroid Build Coastguard Workerwritten in the body of this License. 412*638691a0SAndroid Build Coastguard Worker 413*638691a0SAndroid Build Coastguard Worker 13. The Free Software Foundation may publish revised and/or new 414*638691a0SAndroid Build Coastguard Workerversions of the Lesser General Public License from time to time. 415*638691a0SAndroid Build Coastguard WorkerSuch new versions will be similar in spirit to the present version, 416*638691a0SAndroid Build Coastguard Workerbut may differ in detail to address new problems or concerns. 417*638691a0SAndroid Build Coastguard Worker 418*638691a0SAndroid Build Coastguard WorkerEach version is given a distinguishing version number. If the Library 419*638691a0SAndroid Build Coastguard Workerspecifies a version number of this License which applies to it and 420*638691a0SAndroid Build Coastguard Worker"any later version", you have the option of following the terms and 421*638691a0SAndroid Build Coastguard Workerconditions either of that version or of any later version published by 422*638691a0SAndroid Build Coastguard Workerthe Free Software Foundation. If the Library does not specify a 423*638691a0SAndroid Build Coastguard Workerlicense version number, you may choose any version ever published by 424*638691a0SAndroid Build Coastguard Workerthe Free Software Foundation. 425*638691a0SAndroid Build Coastguard Worker 426*638691a0SAndroid Build Coastguard Worker 14. If you wish to incorporate parts of the Library into other free 427*638691a0SAndroid Build Coastguard Workerprograms whose distribution conditions are incompatible with these, 428*638691a0SAndroid Build Coastguard Workerwrite to the author to ask for permission. For software which is 429*638691a0SAndroid Build Coastguard Workercopyrighted by the Free Software Foundation, write to the Free 430*638691a0SAndroid Build Coastguard WorkerSoftware Foundation; we sometimes make exceptions for this. Our 431*638691a0SAndroid Build Coastguard Workerdecision will be guided by the two goals of preserving the free status 432*638691a0SAndroid Build Coastguard Workerof all derivatives of our free software and of promoting the sharing 433*638691a0SAndroid Build Coastguard Workerand reuse of software generally. 434*638691a0SAndroid Build Coastguard Worker 435*638691a0SAndroid Build Coastguard Worker NO WARRANTY 436*638691a0SAndroid Build Coastguard Worker 437*638691a0SAndroid Build Coastguard Worker 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO 438*638691a0SAndroid Build Coastguard WorkerWARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. 439*638691a0SAndroid Build Coastguard WorkerEXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR 440*638691a0SAndroid Build Coastguard WorkerOTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY 441*638691a0SAndroid Build Coastguard WorkerKIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE 442*638691a0SAndroid Build Coastguard WorkerIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 443*638691a0SAndroid Build Coastguard WorkerPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE 444*638691a0SAndroid Build Coastguard WorkerLIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME 445*638691a0SAndroid Build Coastguard WorkerTHE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 446*638691a0SAndroid Build Coastguard Worker 447*638691a0SAndroid Build Coastguard Worker 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN 448*638691a0SAndroid Build Coastguard WorkerWRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY 449*638691a0SAndroid Build Coastguard WorkerAND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU 450*638691a0SAndroid Build Coastguard WorkerFOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR 451*638691a0SAndroid Build Coastguard WorkerCONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE 452*638691a0SAndroid Build Coastguard WorkerLIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING 453*638691a0SAndroid Build Coastguard WorkerRENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A 454*638691a0SAndroid Build Coastguard WorkerFAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF 455*638691a0SAndroid Build Coastguard WorkerSUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH 456*638691a0SAndroid Build Coastguard WorkerDAMAGES. 457*638691a0SAndroid Build Coastguard Worker 458*638691a0SAndroid Build Coastguard Worker END OF TERMS AND CONDITIONS 459*638691a0SAndroid Build Coastguard Worker 460*638691a0SAndroid Build Coastguard Worker How to Apply These Terms to Your New Libraries 461*638691a0SAndroid Build Coastguard Worker 462*638691a0SAndroid Build Coastguard Worker If you develop a new library, and you want it to be of the greatest 463*638691a0SAndroid Build Coastguard Workerpossible use to the public, we recommend making it free software that 464*638691a0SAndroid Build Coastguard Workereveryone can redistribute and change. You can do so by permitting 465*638691a0SAndroid Build Coastguard Workerredistribution under these terms (or, alternatively, under the terms of the 466*638691a0SAndroid Build Coastguard Workerordinary General Public License). 467*638691a0SAndroid Build Coastguard Worker 468*638691a0SAndroid Build Coastguard Worker To apply these terms, attach the following notices to the library. It is 469*638691a0SAndroid Build Coastguard Workersafest to attach them to the start of each source file to most effectively 470*638691a0SAndroid Build Coastguard Workerconvey the exclusion of warranty; and each file should have at least the 471*638691a0SAndroid Build Coastguard Worker"copyright" line and a pointer to where the full notice is found. 472*638691a0SAndroid Build Coastguard Worker 473*638691a0SAndroid Build Coastguard Worker <one line to give the library's name and a brief idea of what it does.> 474*638691a0SAndroid Build Coastguard Worker Copyright � <year> <name of author> 475*638691a0SAndroid Build Coastguard Worker 476*638691a0SAndroid Build Coastguard Worker This library is free software; you can redistribute it and/or 477*638691a0SAndroid Build Coastguard Worker modify it under the terms of the GNU Lesser General Public 478*638691a0SAndroid Build Coastguard Worker License as published by the Free Software Foundation; either 479*638691a0SAndroid Build Coastguard Worker version 2.1 of the License, or (at your option) any later version. 480*638691a0SAndroid Build Coastguard Worker 481*638691a0SAndroid Build Coastguard Worker This library is distributed in the hope that it will be useful, 482*638691a0SAndroid Build Coastguard Worker but WITHOUT ANY WARRANTY; without even the implied warranty of 483*638691a0SAndroid Build Coastguard Worker MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 484*638691a0SAndroid Build Coastguard Worker Lesser General Public License for more details. 485*638691a0SAndroid Build Coastguard Worker 486*638691a0SAndroid Build Coastguard Worker You should have received a copy of the GNU Lesser General Public 487*638691a0SAndroid Build Coastguard Worker License along with this library; if not, write to the Free Software 488*638691a0SAndroid Build Coastguard Worker Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 489*638691a0SAndroid Build Coastguard Worker 490*638691a0SAndroid Build Coastguard WorkerAlso add information on how to contact you by electronic and paper mail. 491*638691a0SAndroid Build Coastguard Worker 492*638691a0SAndroid Build Coastguard WorkerYou should also get your employer (if you work as a programmer) or your 493*638691a0SAndroid Build Coastguard Workerschool, if any, to sign a "copyright disclaimer" for the library, if 494*638691a0SAndroid Build Coastguard Workernecessary. Here is a sample; alter the names: 495*638691a0SAndroid Build Coastguard Worker 496*638691a0SAndroid Build Coastguard Worker Yoyodyne, Inc., hereby disclaims all copyright interest in the 497*638691a0SAndroid Build Coastguard Worker library `Frob' (a library for tweaking knobs) written by James Random Hacker. 498*638691a0SAndroid Build Coastguard Worker 499*638691a0SAndroid Build Coastguard Worker <signature of Ty Coon>, 1 April 1990 500*638691a0SAndroid Build Coastguard Worker Ty Coon, President of Vice 501*638691a0SAndroid Build Coastguard Worker 502*638691a0SAndroid Build Coastguard WorkerThat's all there is to it! 503*638691a0SAndroid Build Coastguard Worker 504*638691a0SAndroid Build Coastguard Worker 505