Warning, /frameworks/solid/LICENSES/LGPL-2.1-or-later.txt is written in an unsupported language. File is not indexed.
0001 GNU LESSER GENERAL PUBLIC LICENSE 0002 0003 Version 2.1, February 1999 0004 0005 Copyright (C) 1991, 1999 Free Software Foundation, Inc. 0006 0007 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 0008 0009 Everyone is permitted to copy and distribute verbatim copies of this license 0010 document, but changing it is not allowed. 0011 0012 [This is the first released version of the Lesser GPL. It also counts as the 0013 successor of the GNU Library Public License, version 2, hence the version 0014 number 2.1.] 0015 0016 Preamble 0017 0018 The licenses for most software are designed to take away your freedom to share 0019 and change it. By contrast, the GNU General Public Licenses are intended to 0020 guarantee your freedom to share and change free software--to make sure the 0021 software is free for all its users. 0022 0023 This license, the Lesser General Public License, applies to some specially 0024 designated software packages--typically libraries--of the Free Software Foundation 0025 and other authors who decide to use it. You can use it too, but we suggest 0026 you first think carefully about whether this license or the ordinary General 0027 Public License is the better strategy to use in any particular case, based 0028 on the explanations below. 0029 0030 When we speak of free software, we are referring to freedom of use, not price. 0031 Our General Public Licenses are designed to make sure that you have the freedom 0032 to distribute copies of free software (and charge for this service if you 0033 wish); that you receive source code or can get it if you want it; that you 0034 can change the software and use pieces of it in new free programs; and that 0035 you are informed that you can do these things. 0036 0037 To protect your rights, we need to make restrictions that forbid distributors 0038 to deny you these rights or to ask you to surrender these rights. These restrictions 0039 translate to certain responsibilities for you if you distribute copies of 0040 the library or if you modify it. 0041 0042 For example, if you distribute copies of the library, whether gratis or for 0043 a fee, you must give the recipients all the rights that we gave you. You must 0044 make sure that they, too, receive or can get the source code. If you link 0045 other code with the library, you must provide complete object files to the 0046 recipients, so that they can relink them with the library after making changes 0047 to the library and recompiling it. And you must show them these terms so they 0048 know their rights. 0049 0050 We protect your rights with a two-step method: (1) we copyright the library, 0051 and (2) we offer you this license, which gives you legal permission to copy, 0052 distribute and/or modify the library. 0053 0054 To protect each distributor, we want to make it very clear that there is no 0055 warranty for the free library. Also, if the library is modified by someone 0056 else and passed on, the recipients should know that what they have is not 0057 the original version, so that the original author's reputation will not be 0058 affected by problems that might be introduced by others. 0059 0060 Finally, software patents pose a constant threat to the existence of any free 0061 program. We wish to make sure that a company cannot effectively restrict the 0062 users of a free program by obtaining a restrictive license from a patent holder. 0063 Therefore, we insist that any patent license obtained for a version of the 0064 library must be consistent with the full freedom of use specified in this 0065 license. 0066 0067 Most GNU software, including some libraries, is covered by the ordinary GNU 0068 General Public License. This license, the GNU Lesser General Public License, 0069 applies to certain designated libraries, and is quite different from the ordinary 0070 General Public License. We use this license for certain libraries in order 0071 to permit linking those libraries into non-free programs. 0072 0073 When a program is linked with a library, whether statically or using a shared 0074 library, the combination of the two is legally speaking a combined work, a 0075 derivative of the original library. The ordinary General Public License therefore 0076 permits such linking only if the entire combination fits its criteria of freedom. 0077 The Lesser General Public License permits more lax criteria for linking other 0078 code with the library. 0079 0080 We call this license the "Lesser" General Public License because it does Less 0081 to protect the user's freedom than the ordinary General Public License. It 0082 also provides other free software developers Less of an advantage over competing 0083 non-free programs. These disadvantages are the reason we use the ordinary 0084 General Public License for many libraries. However, the Lesser license provides 0085 advantages in certain special circumstances. 0086 0087 For example, on rare occasions, there may be a special need to encourage the 0088 widest possible use of a certain library, so that it becomes a de-facto standard. 0089 To achieve this, non-free programs must be allowed to use the library. A more 0090 frequent case is that a free library does the same job as widely used non-free 0091 libraries. In this case, there is little to gain by limiting the free library 0092 to free software only, so we use the Lesser General Public License. 0093 0094 In other cases, permission to use a particular library in non-free programs 0095 enables a greater number of people to use a large body of free software. For 0096 example, permission to use the GNU C Library in non-free programs enables 0097 many more people to use the whole GNU operating system, as well as its variant, 0098 the GNU/Linux operating system. 0099 0100 Although the Lesser General Public License is Less protective of the users' 0101 freedom, it does ensure that the user of a program that is linked with the 0102 Library has the freedom and the wherewithal to run that program using a modified 0103 version of the Library. 0104 0105 The precise terms and conditions for copying, distribution and modification 0106 follow. Pay close attention to the difference between a "work based on the 0107 library" and a "work that uses the library". The former contains code derived 0108 from the library, whereas the latter must be combined with the library in 0109 order to run. 0110 0111 TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0112 0113 0. This License Agreement applies to any software library or other program 0114 which contains a notice placed by the copyright holder or other authorized 0115 party saying it may be distributed under the terms of this Lesser General 0116 Public License (also called "this License"). Each licensee is addressed as 0117 "you". 0118 0119 A "library" means a collection of software functions and/or data prepared 0120 so as to be conveniently linked with application programs (which use some 0121 of those functions and data) to form executables. 0122 0123 The "Library", below, refers to any such software library or work which has 0124 been distributed under these terms. A "work based on the Library" means either 0125 the Library or any derivative work under copyright law: that is to say, a 0126 work containing the Library or a portion of it, either verbatim or with modifications 0127 and/or translated straightforwardly into another language. (Hereinafter, translation 0128 is included without limitation in the term "modification".) 0129 0130 "Source code" for a work means the preferred form of the work for making modifications 0131 to it. For a library, complete source code means all the source code for all 0132 modules it contains, plus any associated interface definition files, plus 0133 the scripts used to control compilation and installation of the library. 0134 0135 Activities other than copying, distribution and modification are not covered 0136 by this License; they are outside its scope. The act of running a program 0137 using the Library is not restricted, and output from such a program is covered 0138 only if its contents constitute a work based on the Library (independent of 0139 the use of the Library in a tool for writing it). Whether that is true depends 0140 on what the Library does and what the program that uses the Library does. 0141 0142 1. You may copy and distribute verbatim copies of the Library's complete source 0143 code as you receive it, in any medium, provided that you conspicuously and 0144 appropriately publish on each copy an appropriate copyright notice and disclaimer 0145 of warranty; keep intact all the notices that refer to this License and to 0146 the absence of any warranty; and distribute a copy of this License along with 0147 the Library. 0148 0149 You may charge a fee for the physical act of transferring a copy, and you 0150 may at your option offer warranty protection in exchange for a fee. 0151 0152 2. You may modify your copy or copies of the Library or any portion of it, 0153 thus forming a work based on the Library, and copy and distribute such modifications 0154 or work under the terms of Section 1 above, provided that you also meet all 0155 of these conditions: 0156 0157 a) The modified work must itself be a software library. 0158 0159 b) You must cause the files modified to carry prominent notices stating that 0160 you changed the files and the date of any change. 0161 0162 c) You must cause the whole of the work to be licensed at no charge to all 0163 third parties under the terms of this License. 0164 0165 d) If a facility in the modified Library refers to a function or a table of 0166 data to be supplied by an application program that uses the facility, other 0167 than as an argument passed when the facility is invoked, then you must make 0168 a good faith effort to ensure that, in the event an application does not supply 0169 such function or table, the facility still operates, and performs whatever 0170 part of its purpose remains meaningful. 0171 0172 (For example, a function in a library to compute square roots has a purpose 0173 that is entirely well-defined independent of the application. Therefore, Subsection 0174 2d requires that any application-supplied function or table used by this function 0175 must be optional: if the application does not supply it, the square root function 0176 must still compute square roots.) 0177 0178 These requirements apply to the modified work as a whole. If identifiable 0179 sections of that work are not derived from the Library, and can be reasonably 0180 considered independent and separate works in themselves, then this License, 0181 and its terms, do not apply to those sections when you distribute them as 0182 separate works. But when you distribute the same sections as part of a whole 0183 which is a work based on the Library, the distribution of the whole must be 0184 on the terms of this License, whose permissions for other licensees extend 0185 to the entire whole, and thus to each and every part regardless of who wrote 0186 it. 0187 0188 Thus, it is not the intent of this section to claim rights or contest your 0189 rights to work written entirely by you; rather, the intent is to exercise 0190 the right to control the distribution of derivative or collective works based 0191 on the Library. 0192 0193 In addition, mere aggregation of another work not based on the Library with 0194 the Library (or with a work based on the Library) on a volume of a storage 0195 or distribution medium does not bring the other work under the scope of this 0196 License. 0197 0198 3. You may opt to apply the terms of the ordinary GNU General Public License 0199 instead of this License to a given copy of the Library. To do this, you must 0200 alter all the notices that refer to this License, so that they refer to the 0201 ordinary GNU General Public License, version 2, instead of to this License. 0202 (If a newer version than version 2 of the ordinary GNU General Public License 0203 has appeared, then you can specify that version instead if you wish.) Do not 0204 make any other change in these notices. 0205 0206 Once this change is made in a given copy, it is irreversible for that copy, 0207 so the ordinary GNU General Public License applies to all subsequent copies 0208 and derivative works made from that copy. 0209 0210 This option is useful when you wish to copy part of the code of the Library 0211 into a program that is not a library. 0212 0213 4. You may copy and distribute the Library (or a portion or derivative of 0214 it, under Section 2) in object code or executable form under the terms of 0215 Sections 1 and 2 above provided that you accompany it with the complete corresponding 0216 machine-readable source code, which must be distributed under the terms of 0217 Sections 1 and 2 above on a medium customarily used for software interchange. 0218 0219 If distribution of object code is made by offering access to copy from a designated 0220 place, then offering equivalent access to copy the source code from the same 0221 place satisfies the requirement to distribute the source code, even though 0222 third parties are not compelled to copy the source along with the object code. 0223 0224 5. A program that contains no derivative of any portion of the Library, but 0225 is designed to work with the Library by being compiled or linked with it, 0226 is called a "work that uses the Library". Such a work, in isolation, is not 0227 a derivative work of the Library, and therefore falls outside the scope of 0228 this License. 0229 0230 However, linking a "work that uses the Library" with the Library creates an 0231 executable that is a derivative of the Library (because it contains portions 0232 of the Library), rather than a "work that uses the library". The executable 0233 is therefore covered by this License. Section 6 states terms for distribution 0234 of such executables. 0235 0236 When a "work that uses the Library" uses material from a header file that 0237 is part of the Library, the object code for the work may be a derivative work 0238 of the Library even though the source code is not. Whether this is true is 0239 especially significant if the work can be linked without the Library, or if 0240 the work is itself a library. The threshold for this to be true is not precisely 0241 defined by law. 0242 0243 If such an object file uses only numerical parameters, data structure layouts 0244 and accessors, and small macros and small inline functions (ten lines or less 0245 in length), then the use of the object file is unrestricted, regardless of 0246 whether it is legally a derivative work. (Executables containing this object 0247 code plus portions of the Library will still fall under Section 6.) 0248 0249 Otherwise, if the work is a derivative of the Library, you may distribute 0250 the object code for the work under the terms of Section 6. Any executables 0251 containing that work also fall under Section 6, whether or not they are linked 0252 directly with the Library itself. 0253 0254 6. As an exception to the Sections above, you may also combine or link a "work 0255 that uses the Library" with the Library to produce a work containing portions 0256 of the Library, and distribute that work under terms of your choice, provided 0257 that the terms permit modification of the work for the customer's own use 0258 and reverse engineering for debugging such modifications. 0259 0260 You must give prominent notice with each copy of the work that the Library 0261 is used in it and that the Library and its use are covered by this License. 0262 You must supply a copy of this License. If the work during execution displays 0263 copyright notices, you must include the copyright notice for the Library among 0264 them, as well as a reference directing the user to the copy of this License. 0265 Also, you must do one of these things: 0266 0267 a) Accompany the work with the complete corresponding machine-readable source 0268 code for the Library including whatever changes were used in the work (which 0269 must be distributed under Sections 1 and 2 above); and, if the work is an 0270 executable linked with the Library, with the complete machine-readable "work 0271 that uses the Library", as object code and/or source code, so that the user 0272 can modify the Library and then relink to produce a modified executable containing 0273 the modified Library. (It is understood that the user who changes the contents 0274 of definitions files in the Library will not necessarily be able to recompile 0275 the application to use the modified definitions.) 0276 0277 b) Use a suitable shared library mechanism for linking with the Library. A 0278 suitable mechanism is one that (1) uses at run time a copy of the library 0279 already present on the user's computer system, rather than copying library 0280 functions into the executable, and (2) will operate properly with a modified 0281 version of the library, if the user installs one, as long as the modified 0282 version is interface-compatible with the version that the work was made with. 0283 0284 c) Accompany the work with a written offer, valid for at least three years, 0285 to give the same user the materials specified in Subsection 6a, above, for 0286 a charge no more than the cost of performing this distribution. 0287 0288 d) If distribution of the work is made by offering access to copy from a designated 0289 place, offer equivalent access to copy the above specified materials from 0290 the same place. 0291 0292 e) Verify that the user has already received a copy of these materials or 0293 that you have already sent this user a copy. 0294 0295 For an executable, the required form of the "work that uses the Library" must 0296 include any data and utility programs needed for reproducing the executable 0297 from it. However, as a special exception, the materials to be distributed 0298 need not include anything that is normally distributed (in either source or 0299 binary form) with the major components (compiler, kernel, and so on) of the 0300 operating system on which the executable runs, unless that component itself 0301 accompanies the executable. 0302 0303 It may happen that this requirement contradicts the license restrictions of 0304 other proprietary libraries that do not normally accompany the operating system. 0305 Such a contradiction means you cannot use both them and the Library together 0306 in an executable that you distribute. 0307 0308 7. You may place library facilities that are a work based on the Library side-by-side 0309 in a single library together with other library facilities not covered by 0310 this License, and distribute such a combined library, provided that the separate 0311 distribution of the work based on the Library and of the other library facilities 0312 is otherwise permitted, and provided that you do these two things: 0313 0314 a) Accompany the combined library with a copy of the same work based on the 0315 Library, uncombined with any other library facilities. This must be distributed 0316 under the terms of the Sections above. 0317 0318 b) Give prominent notice with the combined library of the fact that part of 0319 it is a work based on the Library, and explaining where to find the accompanying 0320 uncombined form of the same work. 0321 0322 8. You may not copy, modify, sublicense, link with, or distribute the Library 0323 except as expressly provided under this License. Any attempt otherwise to 0324 copy, modify, sublicense, link with, or distribute the Library is void, and 0325 will automatically terminate your rights under this License. However, parties 0326 who have received copies, or rights, from you under this License will not 0327 have their licenses terminated so long as such parties remain in full compliance. 0328 0329 9. You are not required to accept this License, since you have not signed 0330 it. However, nothing else grants you permission to modify or distribute the 0331 Library or its derivative works. These actions are prohibited by law if you 0332 do not accept this License. Therefore, by modifying or distributing the Library 0333 (or any work based on the Library), you indicate your acceptance of this License 0334 to do so, and all its terms and conditions for copying, distributing or modifying 0335 the Library or works based on it. 0336 0337 10. Each time you redistribute the Library (or any work based on the Library), 0338 the recipient automatically receives a license from the original licensor 0339 to copy, distribute, link with or modify the Library subject to these terms 0340 and conditions. You may not impose any further restrictions on the recipients' 0341 exercise of the rights granted herein. You are not responsible for enforcing 0342 compliance by third parties with this License. 0343 0344 11. If, as a consequence of a court judgment or allegation of patent infringement 0345 or for any other reason (not limited to patent issues), conditions are imposed 0346 on you (whether by court order, agreement or otherwise) that contradict the 0347 conditions of this License, they do not excuse you from the conditions of 0348 this License. If you cannot distribute so as to satisfy simultaneously your 0349 obligations under this License and any other pertinent obligations, then as 0350 a consequence you may not distribute the Library at all. For example, if a 0351 patent license would not permit royalty-free redistribution of the Library 0352 by all those who receive copies directly or indirectly through you, then the 0353 only way you could satisfy both it and this License would be to refrain entirely 0354 from distribution of the Library. 0355 0356 If any portion of this section is held invalid or unenforceable under any 0357 particular circumstance, the balance of the section is intended to apply, 0358 and the section as a whole is intended to apply in other circumstances. 0359 0360 It is not the purpose of this section to induce you to infringe any patents 0361 or other property right claims or to contest validity of any such claims; 0362 this section has the sole purpose of protecting the integrity of the free 0363 software distribution system which is implemented by public license practices. 0364 Many people have made generous contributions to the wide range of software 0365 distributed through that system in reliance on consistent application of that 0366 system; it is up to the author/donor to decide if he or she is willing to 0367 distribute software through any other system and a licensee cannot impose 0368 that choice. 0369 0370 This section is intended to make thoroughly clear what is believed to be a 0371 consequence of the rest of this License. 0372 0373 12. If the distribution and/or use of the Library is restricted in certain 0374 countries either by patents or by copyrighted interfaces, the original copyright 0375 holder who places the Library under this License may add an explicit geographical 0376 distribution limitation excluding those countries, so that distribution is 0377 permitted only in or among countries not thus excluded. In such case, this 0378 License incorporates the limitation as if written in the body of this License. 0379 0380 13. The Free Software Foundation may publish revised and/or new versions of 0381 the Lesser General Public License from time to time. Such new versions will 0382 be similar in spirit to the present version, but may differ in detail to address 0383 new problems or concerns. 0384 0385 Each version is given a distinguishing version number. If the Library specifies 0386 a version number of this License which applies to it and "any later version", 0387 you have the option of following the terms and conditions either of that version 0388 or of any later version published by the Free Software Foundation. If the 0389 Library does not specify a license version number, you may choose any version 0390 ever published by the Free Software Foundation. 0391 0392 14. If you wish to incorporate parts of the Library into other free programs 0393 whose distribution conditions are incompatible with these, write to the author 0394 to ask for permission. For software which is copyrighted by the Free Software 0395 Foundation, write to the Free Software Foundation; we sometimes make exceptions 0396 for this. Our decision will be guided by the two goals of preserving the free 0397 status of all derivatives of our free software and of promoting the sharing 0398 and reuse of software generally. 0399 0400 NO WARRANTY 0401 0402 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR 0403 THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE 0404 STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY 0405 "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, 0406 BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 0407 FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE 0408 OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME 0409 THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 0410 0411 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 0412 WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE 0413 THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY 0414 GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE 0415 OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA 0416 OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES 0417 OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH 0418 HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 0419 END OF TERMS AND CONDITIONS 0420 0421 How to Apply These Terms to Your New Libraries 0422 0423 If you develop a new library, and you want it to be of the greatest possible 0424 use to the public, we recommend making it free software that everyone can 0425 redistribute and change. You can do so by permitting redistribution under 0426 these terms (or, alternatively, under the terms of the ordinary General Public 0427 License). 0428 0429 To apply these terms, attach the following notices to the library. It is safest 0430 to attach them to the start of each source file to most effectively convey 0431 the exclusion of warranty; and each file should have at least the "copyright" 0432 line and a pointer to where the full notice is found. 0433 0434 <one line to give the library's name and an idea of what it does.> 0435 0436 Copyright (C) <year> <name of author> 0437 0438 This library is free software; you can redistribute it and/or modify it under 0439 the terms of the GNU Lesser General Public License as published by the Free 0440 Software Foundation; either version 2.1 of the License, or (at your option) 0441 any later version. 0442 0443 This library is distributed in the hope that it will be useful, but WITHOUT 0444 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 0445 FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 0446 details. 0447 0448 You should have received a copy of the GNU Lesser General Public License along 0449 with this library; if not, write to the Free Software Foundation, Inc., 51 0450 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 0451 0452 Also add information on how to contact you by electronic and paper mail. 0453 0454 You should also get your employer (if you work as a programmer) or your school, 0455 if any, to sign a "copyright disclaimer" for the library, if necessary. Here 0456 is a sample; alter the names: 0457 0458 Yoyodyne, Inc., hereby disclaims all copyright interest in 0459 0460 the library `Frob' (a library for tweaking knobs) written 0461 0462 by James Random Hacker. 0463 0464 < signature of Ty Coon > , 1 April 1990 0465 0466 Ty Coon, President of Vice 0467 0468 That's all there is to it!