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