Mercurial > hgrepos > Python2 > PyMuPDF
comparison mupdf-source/thirdparty/curl/docs/LICENSE-MIXING.md @ 2:b50eed0cc0ef upstream
ADD: MuPDF v1.26.7: the MuPDF source as downloaded by a default build of PyMuPDF 1.26.4.
The directory name has changed: no version number in the expanded directory now.
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Mon, 15 Sep 2025 11:43:07 +0200 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 1:1d09e1dec1d9 | 2:b50eed0cc0ef |
|---|---|
| 1 License Mixing | |
| 2 ============== | |
| 3 | |
| 4 libcurl can be built to use a fair amount of various third party libraries, | |
| 5 libraries that are written and provided by other parties that are distributed | |
| 6 using their own licenses. Even libcurl itself contains code that may cause | |
| 7 problems to some. This document attempts to describe what licenses libcurl and | |
| 8 the other libraries use and what possible dilemmas linking and mixing them all | |
| 9 can lead to for end users. | |
| 10 | |
| 11 I am not a lawyer and this is not legal advice! | |
| 12 | |
| 13 One common dilemma is that [GPL](https://www.gnu.org/licenses/gpl.html) | |
| 14 licensed code is not allowed to be linked with code licensed under the | |
| 15 [Original BSD license](https://spdx.org/licenses/BSD-4-Clause.html) (with the | |
| 16 announcement clause). You may still build your own copies that use them all, | |
| 17 but distributing them as binaries would be to violate the GPL license - unless | |
| 18 you accompany your license with an | |
| 19 [exception](https://www.gnu.org/licenses/gpl-faq.html#GPLIncompatibleLibs). This | |
| 20 particular problem was addressed when the [Modified BSD | |
| 21 license](https://opensource.org/licenses/BSD-3-Clause) was created, which does | |
| 22 not have the announcement clause that collides with GPL. | |
| 23 | |
| 24 ## libcurl | |
| 25 | |
| 26 Uses an [MIT style license](https://curl.haxx.se/docs/copyright.html) that is | |
| 27 very liberal. | |
| 28 | |
| 29 ## OpenSSL | |
| 30 | |
| 31 (May be used for SSL/TLS support) Uses an Original BSD-style license with an | |
| 32 announcement clause that makes it "incompatible" with GPL. You are not | |
| 33 allowed to ship binaries that link with OpenSSL that includes GPL code | |
| 34 (unless that specific GPL code includes an exception for OpenSSL - a habit | |
| 35 that is growing more and more common). If OpenSSL's licensing is a problem | |
| 36 for you, consider using another TLS library. | |
| 37 | |
| 38 ## GnuTLS | |
| 39 | |
| 40 (May be used for SSL/TLS support) Uses the | |
| 41 [LGPL](https://www.gnu.org/licenses/lgpl.html) license. If this is a problem | |
| 42 for you, consider using another TLS library. Also note that GnuTLS itself | |
| 43 depends on and uses other libs (libgcrypt and libgpg-error) and they too are | |
| 44 LGPL- or GPL-licensed. | |
| 45 | |
| 46 ## WolfSSL | |
| 47 | |
| 48 (May be used for SSL/TLS support) Uses the GPL license or a proprietary | |
| 49 license. If this is a problem for you, consider using another TLS library. | |
| 50 | |
| 51 ## NSS | |
| 52 | |
| 53 (May be used for SSL/TLS support) Is covered by the | |
| 54 [MPL](https://www.mozilla.org/MPL/) license, the GPL license and the LGPL | |
| 55 license. You may choose to license the code under MPL terms, GPL terms, or | |
| 56 LGPL terms. These licenses grant you different permissions and impose | |
| 57 different obligations. You should select the license that best meets your | |
| 58 needs. | |
| 59 | |
| 60 ## mbedTLS | |
| 61 | |
| 62 (May be used for SSL/TLS support) Uses the [Apache 2.0 | |
| 63 license](https://opensource.org/licenses/Apache-2.0) or the GPL license. | |
| 64 You may choose to license the code under Apache 2.0 terms or GPL terms. | |
| 65 These licenses grant you different permissions and impose different | |
| 66 obligations. You should select the license that best meets your needs. | |
| 67 | |
| 68 ## BoringSSL | |
| 69 | |
| 70 (May be used for SSL/TLS support) As an OpenSSL fork, it has the same | |
| 71 license as that. | |
| 72 | |
| 73 ## libressl | |
| 74 | |
| 75 (May be used for SSL/TLS support) As an OpenSSL fork, it has the same | |
| 76 license as that. | |
| 77 | |
| 78 ## c-ares | |
| 79 | |
| 80 (Used for asynchronous name resolves) Uses an MIT license that is very | |
| 81 liberal and imposes no restrictions on any other library or part you may link | |
| 82 with. | |
| 83 | |
| 84 ## zlib | |
| 85 | |
| 86 (Used for compressed Transfer-Encoding support) Uses an MIT-style license | |
| 87 that shouldn't collide with any other library. | |
| 88 | |
| 89 ## MIT Kerberos | |
| 90 | |
| 91 (May be used for GSS support) MIT licensed, that shouldn't collide with any | |
| 92 other parts. | |
| 93 | |
| 94 ## Heimdal | |
| 95 | |
| 96 (May be used for GSS support) Heimdal is Original BSD licensed with the | |
| 97 announcement clause. | |
| 98 | |
| 99 ## GNU GSS | |
| 100 | |
| 101 (May be used for GSS support) GNU GSS is GPL licensed. Note that you may not | |
| 102 distribute binary curl packages that uses this if you build curl to also link | |
| 103 and use any Original BSD licensed libraries! | |
| 104 | |
| 105 ## libidn | |
| 106 | |
| 107 (Used for IDNA support) Uses the GNU Lesser General Public License [3]. LGPL | |
| 108 is a variation of GPL with slightly less aggressive "copyleft". This license | |
| 109 requires more requirements to be met when distributing binaries, see the | |
| 110 license for details. Also note that if you distribute a binary that includes | |
| 111 this library, you must also include the full LGPL license text. Please | |
| 112 properly point out what parts of the distributed package that the license | |
| 113 addresses. | |
| 114 | |
| 115 ## OpenLDAP | |
| 116 | |
| 117 (Used for LDAP support) Uses a Modified BSD-style license. Since libcurl uses | |
| 118 OpenLDAP as a shared library only, I have not heard of anyone that ships | |
| 119 OpenLDAP linked with libcurl in an app. | |
| 120 | |
| 121 ## libssh2 | |
| 122 | |
| 123 (Used for scp and sftp support) libssh2 uses a Modified BSD-style license. |
