Third-party components

Third-party dependencies and their corresponding license information.

This page lists libraries, data files and other components that some Magnum libraries, plugins, executables or tests depend on. See the main page for license of Magnum itself. For easier overview the dependencies are color-coded:

  • A dim or no label marks dependencies that have no license requirements, such as usage of public APIs like Vulkan or OpenAL or usage of platform-specific interfaces.
  • A green label marks licenses that make the dependency safe to use in a commerical setting without having to release your source code, usually requiring you to give attribution.
  • A light blue label marks public domain software. In some countries there's no notion of public domain, in which case there might be a fallback license as well.
  • A yellow label marks licenses that require you to either dynamically link to the software to be able to use it in a commercial setting or release your source code as well. In some cases there is an alternative commercial licensing option without this requirement.
  • A red label marks licenses that unconditionally require you to publish your software together with its source code. In some cases there is an alternative commercial licensing option without this requirement.

Documentation of each linked library / plugin / executable has more detailed information about the dependencies used. Especially in case of plugins in most cases there are alternative implementations with different licensing requirements. Please note that it's not guaranteed that the licensing info provided is in any way accurate or complete, you should always check with a lawyer to be sure.

There's also a list of people and organizations that contributed to Magnum.


Page Box2D
This example makes use of the Box2D library, released under the zlib license (license text, choosealicense.com). Attribution is appreciated but not required.
Namespace Magnum::Audio
This library makes use of the OpenAL API.
Class Magnum::Audio::DrFlacImporter
This plugin makes use of the dr_flac library by David Reid, released into the public domain (license text, choosealicense.com).
Class Magnum::Audio::DrWavImporter
This plugin makes use of the dr_wav library by David Reid, released into the public domain (license text, choosealicense.com).
Class Magnum::Audio::Faad2Importer
This plugin makes use of the FAAD2 library, licensed under GPLv2 (license text, choosealicense.com). It requires attribution and source disclosure for public use. It's subject to patent licensing for commercial use.
Class Magnum::Audio::FfmpegImporter
This plugin makes use of the FFmpeg library, licensed under LGPLv2.1 (license text, choosealicense.com). It requires attribution and either dynamic linking or source disclosure for public use.
Class Magnum::Audio::StbVorbisImporter
This plugin makes use of the stb_vorbis library by Sean Barrett, released into the public domain (license text, choosealicense.com), or alternatively under MIT (license text, choosealicense.com).
Namespace Magnum::BulletIntegration
This library makes use of Bullet Physics, released under the zlib license (license text, choosealicense.com). Attribution is appreciated but not required.
Namespace Magnum::DartIntegration
This library makes use of DART Dynamic Animation and Robotics Toolkit, licensed under BSD 3-clause (license text, choosealicense.com). Attribution is required for public use.
Namespace Magnum::GL
This library makes use of the OpenGL and WebGL APIs. In addition, the library uses code generated using flextGL, copyright © 2011–2018 Thomas Weber, licensed under MIT (license text, choosealicense.com). It requires attribution for public use.
Namespace Magnum::GlmIntegration
This library makes use of the OpenGL Mathematics library, released under The Happy Bunny License (Modified MIT License) (license text) or under MIT (license text. Attribution is required for public use.
Namespace Magnum::OvrIntegration
This library makes use of Oculus SDK, released under the Oculus SDK license (license text).
Class Magnum::Platform::GlfwApplication
This library makes use of GLFW, released under the zlib/libpng license (license text, choosealicense.com). Attribution is appreciated but not required.
Class Magnum::Platform::GlutApplication
This plugin makes use of the freeGLUT library, licensed under MIT (license text, choosealicense.com). It requires attribution for public use.
Class Magnum::Platform::Sdl2Application
This plugin makes use of the SDL2 library, released under the zlib license (license text, choosealicense.com). Attribution is appreciated but not required.
Class Magnum::Text::FreeTypeFont
This plugin makes use of the FreeType library, released under the FreeType license (license text) or GPLv2 (license text, choosealicense.com). It requires attribution for public use.
Class Magnum::Text::HarfBuzzFont
This plugin makes use of the HarfBuzz library, licensed under MIT (license text, choosealicense.com). It requires attribution for public use. In turn it depends on FreeTypeFont and thus FreeType, see its documentation for further license info.
Class Magnum::Text::StbTrueTypeFont
This plugin makes use of the stb_truetype library by Sean Barrett, released into the public domain (license text, choosealicense.com), or alternatively under MIT (license text, choosealicense.com).
Class Magnum::Trade::AssimpImporter
This plugin makes use of the Assimp library, licensed under BSD 3-clause (license text, choosealicense.com). It requires attribution for public use.
Class Magnum::Trade::ColladaImporter
This plugin makes use of the Qt 4 library, licensed under LGPLv2.1 (license text, choosealicense.com). It requires attribution and either dynamic linking or source disclosure for public use. Commercial licensing options are available too.
Class Magnum::Trade::DevIlImageImporter
This plugin makes use of the DevIL library, licensed under LGPLv2.1 (license text, choosealicense.com). It requires attribution and either dynamic linking or source disclosure for public use.
Class Magnum::Trade::JpegImageConverter
This plugin makes use of the libJPEG library, released under a custom Libjpeg license (license text). It requires attribution for public use. Note that this plugin can be built against any other compatible and possibly differently-licensed libJPEG implementation as well.
Class Magnum::Trade::JpegImporter
This plugin makes use of the libJPEG library, released under a custom Libjpeg license (license text). It requires attribution for public use. Note that this plugin can be built against any other compatible and possibly differently-licensed libJPEG implementation as well.
Class Magnum::Trade::MiniExrImageConverter
This plugin makes use of the miniexr library by Aras Pranckevičius, released into the public domain (choosealicense.com).
Class Magnum::Trade::PngImageConverter
This plugin makes use of the libPNG library, released under the libPNG license (license text). It requires attribution for public use.
Class Magnum::Trade::PngImporter
This plugin makes use of the libPNG library, released under the libPNG license (license text). It requires attribution for public use.
Class Magnum::Trade::StbImageConverter
This plugin makes use of the stb_image_write library by Sean Barrett, released into the public domain (license text, choosealicense.com), or alternatively under MIT (license text, choosealicense.com).
Class Magnum::Trade::StbImageImporter
This plugin makes use of the stb_image library by Sean Barrett, released into the public domain (license text, choosealicense.com), or alternatively under MIT (license text, choosealicense.com).
Class Magnum::Trade::TinyGltfImporter
This plugin makes use of the TinyGLTF library, licensed under MIT (license text, choosealicense.com). It requires attribution for public use. TinyGLTF itself uses Niels Lohmann's json.hpp, licensed under MIT as well (license text).
Namespace Magnum::Vk
This library makes use of the Vulkan API. In addition, the library uses code generated using flextGL, copyright © 2011–2018 Thomas Weber, licensed under MIT (license text, choosealicense.com). It requires attribution for public use.
Page Triangle using sokol_gfx
This example makes use of the sokol_gfx library, released under the zlib license (license text, choosealicense.com). Attribution is appreciated but not required. In addition, it uses the GLEW library, licensed under BSD 3-clause (license text, choosealicense.com), the Mesa 3D License (license text, choosealicense.com) and the Khronos License (license text, choosealicense.com). It requires attribution for public use.