18c2ecf20Sopenharmony_ciValid-License-Identifier: LGPL-2.0 28c2ecf20Sopenharmony_ciValid-License-Identifier: LGPL-2.0+ 38c2ecf20Sopenharmony_ciSPDX-URL: https://spdx.org/licenses/LGPL-2.0.html 48c2ecf20Sopenharmony_ciUsage-Guide: 58c2ecf20Sopenharmony_ci To use this license in source code, put one of the following SPDX 68c2ecf20Sopenharmony_ci tag/value pairs into a comment according to the placement 78c2ecf20Sopenharmony_ci guidelines in the licensing rules documentation. 88c2ecf20Sopenharmony_ci For 'GNU Library General Public License (LGPL) version 2.0 only' use: 98c2ecf20Sopenharmony_ci SPDX-License-Identifier: LGPL-2.0 108c2ecf20Sopenharmony_ci For 'GNU Library General Public License (LGPL) version 2.0 or any later 118c2ecf20Sopenharmony_ci version' use: 128c2ecf20Sopenharmony_ci SPDX-License-Identifier: LGPL-2.0+ 138c2ecf20Sopenharmony_ciLicense-Text: 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ciGNU LIBRARY GENERAL PUBLIC LICENSE 168c2ecf20Sopenharmony_ciVersion 2, June 1991 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_ciCopyright (C) 1991 Free Software Foundation, Inc. 198c2ecf20Sopenharmony_ci51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ciEveryone is permitted to copy and distribute verbatim copies of this 228c2ecf20Sopenharmony_cilicense document, but changing it is not allowed. 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_ci[This is the first released version of the library GPL. It is numbered 2 258c2ecf20Sopenharmony_cibecause it goes with version 2 of the ordinary GPL.] 268c2ecf20Sopenharmony_ci 278c2ecf20Sopenharmony_ciPreamble 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_ciThe licenses for most software are designed to take away your freedom to 308c2ecf20Sopenharmony_cishare and change it. By contrast, the GNU General Public Licenses are 318c2ecf20Sopenharmony_ciintended to guarantee your freedom to share and change free software--to 328c2ecf20Sopenharmony_cimake sure the software is free for all its users. 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_ciThis license, the Library General Public License, applies to some specially 358c2ecf20Sopenharmony_cidesignated Free Software Foundation software, and to any other libraries 368c2ecf20Sopenharmony_ciwhose authors decide to use it. You can use it for your libraries, too. 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_ciWhen we speak of free software, we are referring to freedom, not price. Our 398c2ecf20Sopenharmony_ciGeneral Public Licenses are designed to make sure that you have the freedom 408c2ecf20Sopenharmony_cito distribute copies of free software (and charge for this service if you 418c2ecf20Sopenharmony_ciwish), that you receive source code or can get it if you want it, that you 428c2ecf20Sopenharmony_cican change the software or use pieces of it in new free programs; and that 438c2ecf20Sopenharmony_ciyou know you can do these things. 448c2ecf20Sopenharmony_ci 458c2ecf20Sopenharmony_ciTo protect your rights, we need to make restrictions that forbid anyone to 468c2ecf20Sopenharmony_cideny you these rights or to ask you to surrender the rights. These 478c2ecf20Sopenharmony_cirestrictions translate to certain responsibilities for you if you 488c2ecf20Sopenharmony_cidistribute copies of the library, or if you modify it. 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_ciFor example, if you distribute copies of the library, whether gratis or for 518c2ecf20Sopenharmony_cia fee, you must give the recipients all the rights that we gave you. You 528c2ecf20Sopenharmony_cimust make sure that they, too, receive or can get the source code. If you 538c2ecf20Sopenharmony_cilink a program with the library, you must provide complete object files to 548c2ecf20Sopenharmony_cithe recipients so that they can relink them with the library, after making 558c2ecf20Sopenharmony_cichanges to the library and recompiling it. And you must show them these 568c2ecf20Sopenharmony_citerms so they know their rights. 578c2ecf20Sopenharmony_ci 588c2ecf20Sopenharmony_ciOur method of protecting your rights has two steps: (1) copyright the 598c2ecf20Sopenharmony_cilibrary, and (2) offer you this license which gives you legal permission to 608c2ecf20Sopenharmony_cicopy, distribute and/or modify the library. 618c2ecf20Sopenharmony_ci 628c2ecf20Sopenharmony_ciAlso, for each distributor's protection, we want to make certain that 638c2ecf20Sopenharmony_cieveryone understands that there is no warranty for this free library. If 648c2ecf20Sopenharmony_cithe library is modified by someone else and passed on, we want its 658c2ecf20Sopenharmony_cirecipients to know that what they have is not the original version, so that 668c2ecf20Sopenharmony_ciany problems introduced by others will not reflect on the original authors' 678c2ecf20Sopenharmony_cireputations. 688c2ecf20Sopenharmony_ci 698c2ecf20Sopenharmony_ciFinally, any free program is threatened constantly by software patents. We 708c2ecf20Sopenharmony_ciwish to avoid the danger that companies distributing free software will 718c2ecf20Sopenharmony_ciindividually obtain patent licenses, thus in effect transforming the 728c2ecf20Sopenharmony_ciprogram into proprietary software. To prevent this, we have made it clear 738c2ecf20Sopenharmony_cithat any patent must be licensed for everyone's free use or not licensed at 748c2ecf20Sopenharmony_ciall. 758c2ecf20Sopenharmony_ci 768c2ecf20Sopenharmony_ciMost GNU software, including some libraries, is covered by the ordinary GNU 778c2ecf20Sopenharmony_ciGeneral Public License, which was designed for utility programs. This 788c2ecf20Sopenharmony_cilicense, the GNU Library General Public License, applies to certain 798c2ecf20Sopenharmony_cidesignated libraries. This license is quite different from the ordinary 808c2ecf20Sopenharmony_cione; be sure to read it in full, and don't assume that anything in it is 818c2ecf20Sopenharmony_cithe same as in the ordinary license. 828c2ecf20Sopenharmony_ci 838c2ecf20Sopenharmony_ciThe reason we have a separate public license for some libraries is that 848c2ecf20Sopenharmony_cithey blur the distinction we usually make between modifying or adding to a 858c2ecf20Sopenharmony_ciprogram and simply using it. Linking a program with a library, without 868c2ecf20Sopenharmony_cichanging the library, is in some sense simply using the library, and is 878c2ecf20Sopenharmony_cianalogous to running a utility program or application program. However, in 888c2ecf20Sopenharmony_cia textual and legal sense, the linked executable is a combined work, a 898c2ecf20Sopenharmony_ciderivative of the original library, and the ordinary General Public License 908c2ecf20Sopenharmony_citreats it as such. 918c2ecf20Sopenharmony_ci 928c2ecf20Sopenharmony_ciBecause of this blurred distinction, using the ordinary General Public 938c2ecf20Sopenharmony_ciLicense for libraries did not effectively promote software sharing, because 948c2ecf20Sopenharmony_cimost developers did not use the libraries. We concluded that weaker 958c2ecf20Sopenharmony_ciconditions might promote sharing better. 968c2ecf20Sopenharmony_ci 978c2ecf20Sopenharmony_ciHowever, unrestricted linking of non-free programs would deprive the users 988c2ecf20Sopenharmony_ciof those programs of all benefit from the free status of the libraries 998c2ecf20Sopenharmony_cithemselves. This Library General Public License is intended to permit 1008c2ecf20Sopenharmony_cidevelopers of non-free programs to use free libraries, while preserving 1018c2ecf20Sopenharmony_ciyour freedom as a user of such programs to change the free libraries that 1028c2ecf20Sopenharmony_ciare incorporated in them. (We have not seen how to achieve this as regards 1038c2ecf20Sopenharmony_cichanges in header files, but we have achieved it as regards changes in the 1048c2ecf20Sopenharmony_ciactual functions of the Library.) The hope is that this will lead to faster 1058c2ecf20Sopenharmony_cidevelopment of free libraries. 1068c2ecf20Sopenharmony_ci 1078c2ecf20Sopenharmony_ciThe precise terms and conditions for copying, distribution and modification 1088c2ecf20Sopenharmony_cifollow. Pay close attention to the difference between a "work based on the 1098c2ecf20Sopenharmony_cilibrary" and a "work that uses the library". The former contains code 1108c2ecf20Sopenharmony_ciderived from the library, while the latter only works together with the 1118c2ecf20Sopenharmony_cilibrary. 1128c2ecf20Sopenharmony_ci 1138c2ecf20Sopenharmony_ciNote that it is possible for a library to be covered by the ordinary 1148c2ecf20Sopenharmony_ciGeneral Public License rather than by this special one. 1158c2ecf20Sopenharmony_ci 1168c2ecf20Sopenharmony_ciTERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 1178c2ecf20Sopenharmony_ci 1188c2ecf20Sopenharmony_ci0. This License Agreement applies to any software library which contains a 1198c2ecf20Sopenharmony_ci notice placed by the copyright holder or other authorized party saying 1208c2ecf20Sopenharmony_ci it may be distributed under the terms of this Library General Public 1218c2ecf20Sopenharmony_ci License (also called "this License"). Each licensee is addressed as 1228c2ecf20Sopenharmony_ci "you". 1238c2ecf20Sopenharmony_ci 1248c2ecf20Sopenharmony_ci A "library" means a collection of software functions and/or data 1258c2ecf20Sopenharmony_ci prepared so as to be conveniently linked with application programs 1268c2ecf20Sopenharmony_ci (which use some of those functions and data) to form executables. 1278c2ecf20Sopenharmony_ci 1288c2ecf20Sopenharmony_ci The "Library", below, refers to any such software library or work which 1298c2ecf20Sopenharmony_ci has been distributed under these terms. A "work based on the Library" 1308c2ecf20Sopenharmony_ci means either the Library or any derivative work under copyright law: 1318c2ecf20Sopenharmony_ci that is to say, a work containing the Library or a portion of it, either 1328c2ecf20Sopenharmony_ci verbatim or with modifications and/or translated straightforwardly into 1338c2ecf20Sopenharmony_ci another language. (Hereinafter, translation is included without 1348c2ecf20Sopenharmony_ci limitation in the term "modification".) 1358c2ecf20Sopenharmony_ci 1368c2ecf20Sopenharmony_ci "Source code" for a work means the preferred form of the work for making 1378c2ecf20Sopenharmony_ci modifications to it. For a library, complete source code means all the 1388c2ecf20Sopenharmony_ci source code for all modules it contains, plus any associated interface 1398c2ecf20Sopenharmony_ci definition files, plus the scripts used to control compilation and 1408c2ecf20Sopenharmony_ci installation of the library. 1418c2ecf20Sopenharmony_ci 1428c2ecf20Sopenharmony_ci Activities other than copying, distribution and modification are not 1438c2ecf20Sopenharmony_ci covered by this License; they are outside its scope. The act of running 1448c2ecf20Sopenharmony_ci a program using the Library is not restricted, and output from such a 1458c2ecf20Sopenharmony_ci program is covered only if its contents constitute a work based on the 1468c2ecf20Sopenharmony_ci Library (independent of the use of the Library in a tool for writing 1478c2ecf20Sopenharmony_ci it). Whether that is true depends on what the Library does and what the 1488c2ecf20Sopenharmony_ci program that uses the Library does. 1498c2ecf20Sopenharmony_ci 1508c2ecf20Sopenharmony_ci1. You may copy and distribute verbatim copies of the Library's complete 1518c2ecf20Sopenharmony_ci source code as you receive it, in any medium, provided that you 1528c2ecf20Sopenharmony_ci conspicuously and appropriately publish on each copy an appropriate 1538c2ecf20Sopenharmony_ci copyright notice and disclaimer of warranty; keep intact all the notices 1548c2ecf20Sopenharmony_ci that refer to this License and to the absence of any warranty; and 1558c2ecf20Sopenharmony_ci distribute a copy of this License along with the Library. 1568c2ecf20Sopenharmony_ci 1578c2ecf20Sopenharmony_ci You may charge a fee for the physical act of transferring a copy, and 1588c2ecf20Sopenharmony_ci you may at your option offer warranty protection in exchange for a fee. 1598c2ecf20Sopenharmony_ci 1608c2ecf20Sopenharmony_ci2. You may modify your copy or copies of the Library or any portion of it, 1618c2ecf20Sopenharmony_ci thus forming a work based on the Library, and copy and distribute such 1628c2ecf20Sopenharmony_ci modifications or work under the terms of Section 1 above, provided that 1638c2ecf20Sopenharmony_ci you also meet all of these conditions: 1648c2ecf20Sopenharmony_ci 1658c2ecf20Sopenharmony_ci a) The modified work must itself be a software library. 1668c2ecf20Sopenharmony_ci 1678c2ecf20Sopenharmony_ci b) You must cause the files modified to carry prominent notices stating 1688c2ecf20Sopenharmony_ci that you changed the files and the date of any change. 1698c2ecf20Sopenharmony_ci 1708c2ecf20Sopenharmony_ci c) You must cause the whole of the work to be licensed at no charge to 1718c2ecf20Sopenharmony_ci all third parties under the terms of this License. 1728c2ecf20Sopenharmony_ci 1738c2ecf20Sopenharmony_ci d) If a facility in the modified Library refers to a function or a table 1748c2ecf20Sopenharmony_ci of data to be supplied by an application program that uses the 1758c2ecf20Sopenharmony_ci facility, other than as an argument passed when the facility is 1768c2ecf20Sopenharmony_ci invoked, then you must make a good faith effort to ensure that, in 1778c2ecf20Sopenharmony_ci the event an application does not supply such function or table, the 1788c2ecf20Sopenharmony_ci facility still operates, and performs whatever part of its purpose 1798c2ecf20Sopenharmony_ci remains meaningful. 1808c2ecf20Sopenharmony_ci 1818c2ecf20Sopenharmony_ci (For example, a function in a library to compute square roots has a 1828c2ecf20Sopenharmony_ci purpose that is entirely well-defined independent of the 1838c2ecf20Sopenharmony_ci application. Therefore, Subsection 2d requires that any 1848c2ecf20Sopenharmony_ci application-supplied function or table used by this function must be 1858c2ecf20Sopenharmony_ci optional: if the application does not supply it, the square root 1868c2ecf20Sopenharmony_ci function must still compute square roots.) 1878c2ecf20Sopenharmony_ci 1888c2ecf20Sopenharmony_ci These requirements apply to the modified work as a whole. If 1898c2ecf20Sopenharmony_ci identifiable sections of that work are not derived from the Library, and 1908c2ecf20Sopenharmony_ci can be reasonably considered independent and separate works in 1918c2ecf20Sopenharmony_ci themselves, then this License, and its terms, do not apply to those 1928c2ecf20Sopenharmony_ci sections when you distribute them as separate works. But when you 1938c2ecf20Sopenharmony_ci distribute the same sections as part of a whole which is a work based on 1948c2ecf20Sopenharmony_ci the Library, the distribution of the whole must be on the terms of this 1958c2ecf20Sopenharmony_ci License, whose permissions for other licensees extend to the entire 1968c2ecf20Sopenharmony_ci whole, and thus to each and every part regardless of who wrote it. 1978c2ecf20Sopenharmony_ci 1988c2ecf20Sopenharmony_ci Thus, it is not the intent of this section to claim rights or contest 1998c2ecf20Sopenharmony_ci your rights to work written entirely by you; rather, the intent is to 2008c2ecf20Sopenharmony_ci exercise the right to control the distribution of derivative or 2018c2ecf20Sopenharmony_ci collective works based on the Library. 2028c2ecf20Sopenharmony_ci 2038c2ecf20Sopenharmony_ci In addition, mere aggregation of another work not based on the Library 2048c2ecf20Sopenharmony_ci with the Library (or with a work based on the Library) on a volume of a 2058c2ecf20Sopenharmony_ci storage or distribution medium does not bring the other work under the 2068c2ecf20Sopenharmony_ci scope of this License. 2078c2ecf20Sopenharmony_ci 2088c2ecf20Sopenharmony_ci3. You may opt to apply the terms of the ordinary GNU General Public 2098c2ecf20Sopenharmony_ci License instead of this License to a given copy of the Library. To do 2108c2ecf20Sopenharmony_ci this, you must alter all the notices that refer to this License, so that 2118c2ecf20Sopenharmony_ci they refer to the ordinary GNU General Public License, version 2, 2128c2ecf20Sopenharmony_ci instead of to this License. (If a newer version than version 2 of the 2138c2ecf20Sopenharmony_ci ordinary GNU General Public License has appeared, then you can specify 2148c2ecf20Sopenharmony_ci that version instead if you wish.) Do not make any other change in these 2158c2ecf20Sopenharmony_ci notices. 2168c2ecf20Sopenharmony_ci 2178c2ecf20Sopenharmony_ci Once this change is made in a given copy, it is irreversible for that 2188c2ecf20Sopenharmony_ci copy, so the ordinary GNU General Public License applies to all 2198c2ecf20Sopenharmony_ci subsequent copies and derivative works made from that copy. 2208c2ecf20Sopenharmony_ci 2218c2ecf20Sopenharmony_ci This option is useful when you wish to copy part of the code of the 2228c2ecf20Sopenharmony_ci Library into a program that is not a library. 2238c2ecf20Sopenharmony_ci 2248c2ecf20Sopenharmony_ci4. You may copy and distribute the Library (or a portion or derivative of 2258c2ecf20Sopenharmony_ci it, under Section 2) in object code or executable form under the terms 2268c2ecf20Sopenharmony_ci of Sections 1 and 2 above provided that you accompany it with the 2278c2ecf20Sopenharmony_ci complete corresponding machine-readable source code, which must be 2288c2ecf20Sopenharmony_ci distributed under the terms of Sections 1 and 2 above on a medium 2298c2ecf20Sopenharmony_ci customarily used for software interchange. 2308c2ecf20Sopenharmony_ci 2318c2ecf20Sopenharmony_ci If distribution of object code is made by offering access to copy from a 2328c2ecf20Sopenharmony_ci designated place, then offering equivalent access to copy the source 2338c2ecf20Sopenharmony_ci code from the same place satisfies the requirement to distribute the 2348c2ecf20Sopenharmony_ci source code, even though third parties are not compelled to copy the 2358c2ecf20Sopenharmony_ci source along with the object code. 2368c2ecf20Sopenharmony_ci 2378c2ecf20Sopenharmony_ci5. A program that contains no derivative of any portion of the Library, but 2388c2ecf20Sopenharmony_ci is designed to work with the Library by being compiled or linked with 2398c2ecf20Sopenharmony_ci it, is called a "work that uses the Library". Such a work, in isolation, 2408c2ecf20Sopenharmony_ci is not a derivative work of the Library, and therefore falls outside the 2418c2ecf20Sopenharmony_ci scope of this License. 2428c2ecf20Sopenharmony_ci 2438c2ecf20Sopenharmony_ci However, linking a "work that uses the Library" with the Library creates 2448c2ecf20Sopenharmony_ci an executable that is a derivative of the Library (because it contains 2458c2ecf20Sopenharmony_ci portions of the Library), rather than a "work that uses the 2468c2ecf20Sopenharmony_ci library". The executable is therefore covered by this License. Section 6 2478c2ecf20Sopenharmony_ci states terms for distribution of such executables. 2488c2ecf20Sopenharmony_ci 2498c2ecf20Sopenharmony_ci When a "work that uses the Library" uses material from a header file 2508c2ecf20Sopenharmony_ci that is part of the Library, the object code for the work may be a 2518c2ecf20Sopenharmony_ci derivative work of the Library even though the source code is 2528c2ecf20Sopenharmony_ci not. Whether this is true is especially significant if the work can be 2538c2ecf20Sopenharmony_ci linked without the Library, or if the work is itself a library. The 2548c2ecf20Sopenharmony_ci threshold for this to be true is not precisely defined by law. 2558c2ecf20Sopenharmony_ci 2568c2ecf20Sopenharmony_ci If such an object file uses only numerical parameters, data structure 2578c2ecf20Sopenharmony_ci layouts and accessors, and small macros and small inline functions (ten 2588c2ecf20Sopenharmony_ci lines or less in length), then the use of the object file is 2598c2ecf20Sopenharmony_ci unrestricted, regardless of whether it is legally a derivative 2608c2ecf20Sopenharmony_ci work. (Executables containing this object code plus portions of the 2618c2ecf20Sopenharmony_ci Library will still fall under Section 6.) 2628c2ecf20Sopenharmony_ci 2638c2ecf20Sopenharmony_ci Otherwise, if the work is a derivative of the Library, you may 2648c2ecf20Sopenharmony_ci distribute the object code for the work under the terms of Section 2658c2ecf20Sopenharmony_ci 6. Any executables containing that work also fall under Section 6, 2668c2ecf20Sopenharmony_ci whether or not they are linked directly with the Library itself. 2678c2ecf20Sopenharmony_ci 2688c2ecf20Sopenharmony_ci6. As an exception to the Sections above, you may also compile or link a 2698c2ecf20Sopenharmony_ci "work that uses the Library" with the Library to produce a work 2708c2ecf20Sopenharmony_ci containing portions of the Library, and distribute that work under terms 2718c2ecf20Sopenharmony_ci of your choice, provided that the terms permit modification of the work 2728c2ecf20Sopenharmony_ci for the customer's own use and reverse engineering for debugging such 2738c2ecf20Sopenharmony_ci modifications. 2748c2ecf20Sopenharmony_ci 2758c2ecf20Sopenharmony_ci You must give prominent notice with each copy of the work that the 2768c2ecf20Sopenharmony_ci Library is used in it and that the Library and its use are covered by 2778c2ecf20Sopenharmony_ci this License. You must supply a copy of this License. If the work during 2788c2ecf20Sopenharmony_ci execution displays copyright notices, you must include the copyright 2798c2ecf20Sopenharmony_ci notice for the Library among them, as well as a reference directing the 2808c2ecf20Sopenharmony_ci user to the copy of this License. Also, you must do one of these things: 2818c2ecf20Sopenharmony_ci 2828c2ecf20Sopenharmony_ci a) Accompany the work with the complete corresponding machine-readable 2838c2ecf20Sopenharmony_ci source code for the Library including whatever changes were used in 2848c2ecf20Sopenharmony_ci the work (which must be distributed under Sections 1 and 2 above); 2858c2ecf20Sopenharmony_ci and, if the work is an executable linked with the Library, with the 2868c2ecf20Sopenharmony_ci complete machine-readable "work that uses the Library", as object 2878c2ecf20Sopenharmony_ci code and/or source code, so that the user can modify the Library and 2888c2ecf20Sopenharmony_ci then relink to produce a modified executable containing the modified 2898c2ecf20Sopenharmony_ci Library. (It is understood that the user who changes the contents of 2908c2ecf20Sopenharmony_ci definitions files in the Library will not necessarily be able to 2918c2ecf20Sopenharmony_ci recompile the application to use the modified definitions.) 2928c2ecf20Sopenharmony_ci 2938c2ecf20Sopenharmony_ci b) Accompany the work with a written offer, valid for at least three 2948c2ecf20Sopenharmony_ci years, to give the same user the materials specified in Subsection 2958c2ecf20Sopenharmony_ci 6a, above, for a charge no more than the cost of performing this 2968c2ecf20Sopenharmony_ci distribution. 2978c2ecf20Sopenharmony_ci 2988c2ecf20Sopenharmony_ci c) If distribution of the work is made by offering access to copy from a 2998c2ecf20Sopenharmony_ci designated place, offer equivalent access to copy the above specified 3008c2ecf20Sopenharmony_ci materials from the same place. 3018c2ecf20Sopenharmony_ci 3028c2ecf20Sopenharmony_ci d) Verify that the user has already received a copy of these materials 3038c2ecf20Sopenharmony_ci or that you have already sent this user a copy. 3048c2ecf20Sopenharmony_ci 3058c2ecf20Sopenharmony_ci For an executable, the required form of the "work that uses the Library" 3068c2ecf20Sopenharmony_ci must include any data and utility programs needed for reproducing the 3078c2ecf20Sopenharmony_ci executable from it. However, as a special exception, the source code 3088c2ecf20Sopenharmony_ci distributed need not include anything that is normally distributed (in 3098c2ecf20Sopenharmony_ci either source or binary form) with the major components (compiler, 3108c2ecf20Sopenharmony_ci kernel, and so on) of the operating system on which the executable runs, 3118c2ecf20Sopenharmony_ci unless that component itself accompanies the executable. 3128c2ecf20Sopenharmony_ci 3138c2ecf20Sopenharmony_ci It may happen that this requirement contradicts the license restrictions 3148c2ecf20Sopenharmony_ci of other proprietary libraries that do not normally accompany the 3158c2ecf20Sopenharmony_ci operating system. Such a contradiction means you cannot use both them 3168c2ecf20Sopenharmony_ci and the Library together in an executable that you distribute. 3178c2ecf20Sopenharmony_ci 3188c2ecf20Sopenharmony_ci7. You may place library facilities that are a work based on the Library 3198c2ecf20Sopenharmony_ci side-by-side in a single library together with other library facilities 3208c2ecf20Sopenharmony_ci not covered by this License, and distribute such a combined library, 3218c2ecf20Sopenharmony_ci provided that the separate distribution of the work based on the Library 3228c2ecf20Sopenharmony_ci and of the other library facilities is otherwise permitted, and provided 3238c2ecf20Sopenharmony_ci that you do these two things: 3248c2ecf20Sopenharmony_ci 3258c2ecf20Sopenharmony_ci a) Accompany the combined library with a copy of the same work based on 3268c2ecf20Sopenharmony_ci the Library, uncombined with any other library facilities. This must 3278c2ecf20Sopenharmony_ci be distributed under the terms of the Sections above. 3288c2ecf20Sopenharmony_ci 3298c2ecf20Sopenharmony_ci b) Give prominent notice with the combined library of the fact that part 3308c2ecf20Sopenharmony_ci of it is a work based on the Library, and explaining where to find 3318c2ecf20Sopenharmony_ci the accompanying uncombined form of the same work. 3328c2ecf20Sopenharmony_ci 3338c2ecf20Sopenharmony_ci8. You may not copy, modify, sublicense, link with, or distribute the 3348c2ecf20Sopenharmony_ci Library except as expressly provided under this License. Any attempt 3358c2ecf20Sopenharmony_ci otherwise to copy, modify, sublicense, link with, or distribute the 3368c2ecf20Sopenharmony_ci Library is void, and will automatically terminate your rights under this 3378c2ecf20Sopenharmony_ci License. However, parties who have received copies, or rights, from you 3388c2ecf20Sopenharmony_ci under this License will not have their licenses terminated so long as 3398c2ecf20Sopenharmony_ci such parties remain in full compliance. 3408c2ecf20Sopenharmony_ci 3418c2ecf20Sopenharmony_ci9. You are not required to accept this License, since you have not signed 3428c2ecf20Sopenharmony_ci it. However, nothing else grants you permission to modify or distribute 3438c2ecf20Sopenharmony_ci the Library or its derivative works. These actions are prohibited by law 3448c2ecf20Sopenharmony_ci if you do not accept this License. Therefore, by modifying or 3458c2ecf20Sopenharmony_ci distributing the Library (or any work based on the Library), you 3468c2ecf20Sopenharmony_ci indicate your acceptance of this License to do so, and all its terms and 3478c2ecf20Sopenharmony_ci conditions for copying, distributing or modifying the Library or works 3488c2ecf20Sopenharmony_ci based on it. 3498c2ecf20Sopenharmony_ci 3508c2ecf20Sopenharmony_ci10. Each time you redistribute the Library (or any work based on the 3518c2ecf20Sopenharmony_ci Library), the recipient automatically receives a license from the 3528c2ecf20Sopenharmony_ci original licensor to copy, distribute, link with or modify the Library 3538c2ecf20Sopenharmony_ci subject to these terms and conditions. You may not impose any further 3548c2ecf20Sopenharmony_ci restrictions on the recipients' exercise of the rights granted 3558c2ecf20Sopenharmony_ci herein. You are not responsible for enforcing compliance by third 3568c2ecf20Sopenharmony_ci parties to this License. 3578c2ecf20Sopenharmony_ci 3588c2ecf20Sopenharmony_ci11. If, as a consequence of a court judgment or allegation of patent 3598c2ecf20Sopenharmony_ci infringement or for any other reason (not limited to patent issues), 3608c2ecf20Sopenharmony_ci conditions are imposed on you (whether by court order, agreement or 3618c2ecf20Sopenharmony_ci otherwise) that contradict the conditions of this License, they do not 3628c2ecf20Sopenharmony_ci excuse you from the conditions of this License. If you cannot 3638c2ecf20Sopenharmony_ci distribute so as to satisfy simultaneously your obligations under this 3648c2ecf20Sopenharmony_ci License and any other pertinent obligations, then as a consequence you 3658c2ecf20Sopenharmony_ci may not distribute the Library at all. For example, if a patent license 3668c2ecf20Sopenharmony_ci would not permit royalty-free redistribution of the Library by all 3678c2ecf20Sopenharmony_ci those who receive copies directly or indirectly through you, then the 3688c2ecf20Sopenharmony_ci only way you could satisfy both it and this License would be to refrain 3698c2ecf20Sopenharmony_ci entirely from distribution of the Library. 3708c2ecf20Sopenharmony_ci 3718c2ecf20Sopenharmony_ci If any portion of this section is held invalid or unenforceable under 3728c2ecf20Sopenharmony_ci any particular circumstance, the balance of the section is intended to 3738c2ecf20Sopenharmony_ci apply, and the section as a whole is intended to apply in other 3748c2ecf20Sopenharmony_ci circumstances. 3758c2ecf20Sopenharmony_ci 3768c2ecf20Sopenharmony_ci It is not the purpose of this section to induce you to infringe any 3778c2ecf20Sopenharmony_ci patents or other property right claims or to contest validity of any 3788c2ecf20Sopenharmony_ci such claims; this section has the sole purpose of protecting the 3798c2ecf20Sopenharmony_ci integrity of the free software distribution system which is implemented 3808c2ecf20Sopenharmony_ci by public license practices. Many people have made generous 3818c2ecf20Sopenharmony_ci contributions to the wide range of software distributed through that 3828c2ecf20Sopenharmony_ci system in reliance on consistent application of that system; it is up 3838c2ecf20Sopenharmony_ci to the author/donor to decide if he or she is willing to distribute 3848c2ecf20Sopenharmony_ci software through any other system and a licensee cannot impose that 3858c2ecf20Sopenharmony_ci choice. 3868c2ecf20Sopenharmony_ci 3878c2ecf20Sopenharmony_ci This section is intended to make thoroughly clear what is believed to 3888c2ecf20Sopenharmony_ci be a consequence of the rest of this License. 3898c2ecf20Sopenharmony_ci 3908c2ecf20Sopenharmony_ci12. If the distribution and/or use of the Library is restricted in certain 3918c2ecf20Sopenharmony_ci countries either by patents or by copyrighted interfaces, the original 3928c2ecf20Sopenharmony_ci copyright holder who places the Library under this License may add an 3938c2ecf20Sopenharmony_ci explicit geographical distribution limitation excluding those 3948c2ecf20Sopenharmony_ci countries, so that distribution is permitted only in or among countries 3958c2ecf20Sopenharmony_ci not thus excluded. In such case, this License incorporates the 3968c2ecf20Sopenharmony_ci limitation as if written in the body of this License. 3978c2ecf20Sopenharmony_ci 3988c2ecf20Sopenharmony_ci13. The Free Software Foundation may publish revised and/or new versions of 3998c2ecf20Sopenharmony_ci the Library General Public License from time to time. Such new versions 4008c2ecf20Sopenharmony_ci will be similar in spirit to the present version, but may differ in 4018c2ecf20Sopenharmony_ci detail to address new problems or concerns. 4028c2ecf20Sopenharmony_ci 4038c2ecf20Sopenharmony_ci Each version is given a distinguishing version number. If the Library 4048c2ecf20Sopenharmony_ci specifies a version number of this License which applies to it and "any 4058c2ecf20Sopenharmony_ci later version", you have the option of following the terms and 4068c2ecf20Sopenharmony_ci conditions either of that version or of any later version published by 4078c2ecf20Sopenharmony_ci the Free Software Foundation. If the Library does not specify a license 4088c2ecf20Sopenharmony_ci version number, you may choose any version ever published by the Free 4098c2ecf20Sopenharmony_ci Software Foundation. 4108c2ecf20Sopenharmony_ci 4118c2ecf20Sopenharmony_ci14. If you wish to incorporate parts of the Library into other free 4128c2ecf20Sopenharmony_ci programs whose distribution conditions are incompatible with these, 4138c2ecf20Sopenharmony_ci write to the author to ask for permission. For software which is 4148c2ecf20Sopenharmony_ci copyrighted by the Free Software Foundation, write to the Free Software 4158c2ecf20Sopenharmony_ci Foundation; we sometimes make exceptions for this. Our decision will be 4168c2ecf20Sopenharmony_ci guided by the two goals of preserving the free status of all 4178c2ecf20Sopenharmony_ci derivatives of our free software and of promoting the sharing and reuse 4188c2ecf20Sopenharmony_ci of software generally. 4198c2ecf20Sopenharmony_ci 4208c2ecf20Sopenharmony_ciNO WARRANTY 4218c2ecf20Sopenharmony_ci 4228c2ecf20Sopenharmony_ci15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY 4238c2ecf20Sopenharmony_ci FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN 4248c2ecf20Sopenharmony_ci OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES 4258c2ecf20Sopenharmony_ci PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER 4268c2ecf20Sopenharmony_ci EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 4278c2ecf20Sopenharmony_ci WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE 4288c2ecf20Sopenharmony_ci ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH 4298c2ecf20Sopenharmony_ci YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL 4308c2ecf20Sopenharmony_ci NECESSARY SERVICING, REPAIR OR CORRECTION. 4318c2ecf20Sopenharmony_ci 4328c2ecf20Sopenharmony_ci16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 4338c2ecf20Sopenharmony_ci WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR 4348c2ecf20Sopenharmony_ci REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR 4358c2ecf20Sopenharmony_ci DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL 4368c2ecf20Sopenharmony_ci DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY 4378c2ecf20Sopenharmony_ci (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED 4388c2ecf20Sopenharmony_ci INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF 4398c2ecf20Sopenharmony_ci THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR 4408c2ecf20Sopenharmony_ci OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 4418c2ecf20Sopenharmony_ci 4428c2ecf20Sopenharmony_ciEND OF TERMS AND CONDITIONS 4438c2ecf20Sopenharmony_ci 4448c2ecf20Sopenharmony_ciHow to Apply These Terms to Your New Libraries 4458c2ecf20Sopenharmony_ci 4468c2ecf20Sopenharmony_ciIf you develop a new library, and you want it to be of the greatest 4478c2ecf20Sopenharmony_cipossible use to the public, we recommend making it free software that 4488c2ecf20Sopenharmony_cieveryone can redistribute and change. You can do so by permitting 4498c2ecf20Sopenharmony_ciredistribution under these terms (or, alternatively, under the terms of the 4508c2ecf20Sopenharmony_ciordinary General Public License). 4518c2ecf20Sopenharmony_ci 4528c2ecf20Sopenharmony_ciTo apply these terms, attach the following notices to the library. It is 4538c2ecf20Sopenharmony_cisafest to attach them to the start of each source file to most effectively 4548c2ecf20Sopenharmony_ciconvey the exclusion of warranty; and each file should have at least the 4558c2ecf20Sopenharmony_ci"copyright" line and a pointer to where the full notice is found. 4568c2ecf20Sopenharmony_ci 4578c2ecf20Sopenharmony_cione line to give the library's name and an idea of what it does. 4588c2ecf20Sopenharmony_ciCopyright (C) year name of author 4598c2ecf20Sopenharmony_ci 4608c2ecf20Sopenharmony_ciThis library is free software; you can redistribute it and/or modify it 4618c2ecf20Sopenharmony_ciunder the terms of the GNU Library General Public License as published by 4628c2ecf20Sopenharmony_cithe Free Software Foundation; either version 2 of the License, or (at your 4638c2ecf20Sopenharmony_cioption) any later version. 4648c2ecf20Sopenharmony_ci 4658c2ecf20Sopenharmony_ciThis library is distributed in the hope that it will be useful, but WITHOUT 4668c2ecf20Sopenharmony_ciANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 4678c2ecf20Sopenharmony_ciFITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public 4688c2ecf20Sopenharmony_ciLicense for more details. 4698c2ecf20Sopenharmony_ci 4708c2ecf20Sopenharmony_ciYou should have received a copy of the GNU Library General Public License 4718c2ecf20Sopenharmony_cialong with this library; if not, write to the Free Software Foundation, 4728c2ecf20Sopenharmony_ciInc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. 4738c2ecf20Sopenharmony_ci 4748c2ecf20Sopenharmony_ciAlso add information on how to contact you by electronic and paper mail. 4758c2ecf20Sopenharmony_ci 4768c2ecf20Sopenharmony_ciYou should also get your employer (if you work as a programmer) or your 4778c2ecf20Sopenharmony_cischool, if any, to sign a "copyright disclaimer" for the library, if 4788c2ecf20Sopenharmony_cinecessary. Here is a sample; alter the names: 4798c2ecf20Sopenharmony_ci 4808c2ecf20Sopenharmony_ciYoyodyne, Inc., hereby disclaims all copyright interest in 4818c2ecf20Sopenharmony_cithe library `Frob' (a library for tweaking knobs) written 4828c2ecf20Sopenharmony_ciby James Random Hacker. 4838c2ecf20Sopenharmony_ci 4848c2ecf20Sopenharmony_cisignature of Ty Coon, 1 April 1990 4858c2ecf20Sopenharmony_ciTy Coon, President of Vice 4868c2ecf20Sopenharmony_ci 4878c2ecf20Sopenharmony_ciThat's all there is to it! 488