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