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