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