mirror of
https://github.com/QB64-Phoenix-Edition/QB64pe.git
synced 2024-09-28 05:17:49 +00:00
2603f84896
This formats the licensing information as a markdown file, and reorganizes it to be a bit easier to use. It additionally adds all the licenses for the new audio backend, and adds a couple missing ones as well.
103 lines
4.8 KiB
Markdown
103 lines
4.8 KiB
Markdown
QB64 Phoenix Edition Licensing information
|
|
==========================================
|
|
|
|
QB64-PE makes extensive use of third party libraries to provide
|
|
functionality. These third party libraries have their own licenses that you
|
|
must respect when distributing any programs compiled by QB64-PE.
|
|
|
|
As a general note, almost third party libraries used by QB64-PE are either MIT,
|
|
Public Domain, or some other permissive license. Meeting their requirements can
|
|
be done by simply distributing the licenses in the `./licenses` folder with
|
|
your compiled program.
|
|
|
|
A few of the libraries are LGPL and require more careful handling to meet their
|
|
license requirements (either by providing source code or object files before
|
|
linking). Those are noted on this page and avoidable. Note that QB64-PE does
|
|
not give the option of using dynamic linking, all third party libraries are
|
|
statically linked.
|
|
|
|
Additionally, QB64-PE contains logic to avoid compiling in third party libraries
|
|
if they are not used by the program, those situations are noted on this page.
|
|
If a component is not compiled into your program then you do not need to meet
|
|
its license requirements.
|
|
|
|
## QB64 Phoenix Edition Runtime
|
|
|
|
This is the licensing of the provided QB64-PE runtime that compiled programs make use of.
|
|
|
|
| Library | License | License file | Location |
|
|
| :------ | :-----: | :----------- | :------- |
|
|
| libqb | MIT | license_qb64.txt | internal/c/libqb.cpp, internal/c/libqb/, internal/c/qbx.cpp |
|
|
|
|
## Windows C and C++ Runtime
|
|
|
|
On Windows MinGW-w64 is used to compiled the C++ code produced by QB64-PE, and some runtime components are compiled into your code. On Linux and Mac OS this section does not apply.
|
|
|
|
| Library | License | License file | Location |
|
|
| :------ | :-----: | :----------- | :------- |
|
|
| MinGW-w64 C and C++ runtime | Various Permissive Licenses | license_mingw-base-runtime.txt | internal/c/c_compiler |
|
|
| libstdc++ | GPLv3 with Exception | license_libstdc++.txt | internal/c/c_compiler |
|
|
|
|
## Display Support
|
|
|
|
This is always used unless you use `$CONSOLE:ONLY`. On Mac OS the system's own GLUT implementation is used rather than `FreeGLUT`.
|
|
|
|
| Library | License | License file | Location |
|
|
| :------ | :-----: | :----------- | :------- |
|
|
| FreeGLUT | MIT | license_freeglut.txt | internal/c/parts/core |
|
|
|
|
## Image Support
|
|
|
|
These libraries are pulled in if `_LOADIMAGE()` functionality is used.
|
|
|
|
| Library | License | License file | Location |
|
|
| :------ | :-----: | :----------- | :------- |
|
|
| NanoJPEG | MIT | license_nanojpeg.txt | internal/c/parts/video/image/decode/jpg |
|
|
| LodePNG | ZLIB | license_lodepng.txt | internal/c/parts/video/image/decode/png |
|
|
|
|
## Font Support
|
|
|
|
These libraries are pulled in if `_LOADFONT()` functionality is used.
|
|
|
|
| Library | License | License file | Location |
|
|
| :------ | :-----: | :----------- | :------- |
|
|
| FreeTYPE | FLT | license_freetype_ftl.txt | internal/c/parts/video/font/tff/ |
|
|
|
|
## Compression Support
|
|
|
|
These libraries are pulled in if `_INFLATE$()` or `_DEFLATE$()` are used.
|
|
|
|
| Library | License | License file | Location |
|
|
| :------ | :-----: | :----------- | :------- |
|
|
| ZLib | ZLIB | license_zlib.txt | internal/c/c_compiler (provide by MinGW on Windows, system library otherwise) |
|
|
|
|
## Sound Support
|
|
|
|
These libraries are pulled in when using any sound-related functionality.
|
|
|
|
| Library | License | License file | Location |
|
|
| :------ | :-----: | :----------- | :------- |
|
|
| Miniaudio | MIT | license_miniaudio.txt | internal/c/parts/audio/miniaudio.h |
|
|
| libxmp-lite | MIT | license_libxmp-lite.txt | internal/c/parts/audio/extras/libxmp-lite/ |
|
|
| RADv2 | Public Domain | license_radv2.txt | internal/c/parts/audio/extras/radv2/ |
|
|
| std_vorbus | Public Domain | license_stdvorbis.txt | internal/c/parts/audio/extras/std_vorbis.c |
|
|
|
|
## MIDI Support
|
|
|
|
These are used if you make use of MIDI support.
|
|
|
|
| Library | License | License file | Location |
|
|
| :------ | :-----: | :----------- | :------- |
|
|
| TinySoundFont | MIT | license_tinysoundfont.txt | internal/c/parts/audio/extras/tinysoundfont/tsf.h
|
|
| TinyMidiLoader | ZLIB | license_tinymidiloader.txt | internal/c/parts/audio/extras/tinysoundfont.tml.h |
|
|
|
|
## Legacy OpenAL audio backend
|
|
|
|
The below licenses apply when making use of the legacy OpenAL audio backend (can be enabled in `Compiler Settings`). These replace all other sound related libraries:
|
|
|
|
| Library | License | License file | Location |
|
|
| :------ | :-----: | :----------- | :------- |
|
|
| mpg123 | LGPL 2.1 | license_mpg123.txt | internal/c/parts/audio/decode/mp3/ |
|
|
| OpenAL-soft | LGPL 2 | license_openal.txt | internal/c/parts/audio/out/ |
|
|
| Opus Tools | BSD 2-clause | license_opus.txt | internal/c/parts/audio/conversion/ |
|
|
| stb_vorbis | Public Domain | license_stdvorbis.txt | internal/c/parts/audio/decode/ogg/ |
|