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 commercial 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 2D Fluid Simulation
This example makes use of the Adobe Source Sans Pro font, licensed under OFL 1.1 (license text, choosealicense.com). Attribution is required for public use.
Page 3D Fluid Simulation
This example makes use of the Adobe Source Sans Pro font, licensed under OFL 1.1 (license text, choosealicense.com). Attribution is required for public use.
Page Animated GIF
This example bundles the Newton's cradle animation book image by DemonDeLuxe (Dominique Toussaint), CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=3717500
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.
Page ImGui
The ports branch of this example and the above-linked live web demo make use of the Adobe Source Sans Pro font, licensed under OFL 1.1 (license text, choosealicense.com). Attribution is required for public use.
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::DrMp3Importer
This plugin makes use of the dr_mp3 library by David Reid, released into the public domain (license text, choosealicense.com), or alternatively under MIT (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::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 2-clause (license text, choosealicense.com). Attribution is required for public use.
Member Magnum::DebugTools::ColorMap::coolWarmBent ()
Created by Kenneth Moreland, released under a BSD 3-clause license as part of Paraview (license text, choosealicense.com).
Member Magnum::DebugTools::ColorMap::coolWarmSmooth ()
Created by Kenneth Moreland, released under a BSD 3-clause license as part of Paraview (license text, choosealicense.com).
Member Magnum::DebugTools::ColorMap::inferno ()
Created by Stéfan van der Walt and Nathaniel Smith for the matplotlib library (source), released under a CC0 license (choosealicense.com).
Member Magnum::DebugTools::ColorMap::magma ()
Created by Stéfan van der Walt and Nathaniel Smith for the matplotlib library (source), released under a CC0 license (choosealicense.com).
Member Magnum::DebugTools::ColorMap::plasma ()
Created by Stéfan van der Walt and Nathaniel Smith for the matplotlib library (source), released under a CC0 license (choosealicense.com).
Member Magnum::DebugTools::ColorMap::turbo ()
Data from Turbo, An Improved Rainbow Colormap for Visualization by Anton Mikhailov, released under an Apache-2.0 license (choosealicense.com).
Member Magnum::DebugTools::ColorMap::viridis ()
Created by Stéfan van der Walt and Nathaniel Smith for the matplotlib library based on a design by Eric Firing (source), released under a CC0 license (choosealicense.com).
Namespace Magnum::EigenIntegration
This library makes use of the Eigen, released under MPL 2.0 (license text, choosealicense.com). Attribution is required for public use, source code of licensed files and modifications of these files have to be made available under the same license. Additionally, some parts rely on third-party code licensed under LGPLv3 (license text, choosealicense.com), requiring either dynamic linking or full source disclosure for public use. See the license notes for details.
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, choosealicense.com). Attribution is required for public use.
Namespace Magnum::ImGuiIntegration
This library makes use of Dear ImGui, licensed under MIT (license text, choosealicense.com). 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::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::ShaderTools::GlslangConverter
This library makes use of Glslang, licensed under a mixture of BSD 3-clause, BSD 2-clause, MIT, Apache, modified GPLv3 and NVidia Software licenses (license text). Please consult the license before use.
Class Magnum::ShaderTools::SpirvToolsConverter
This plugin makes use of the SPIRV-Tools library, licensed under Apache-2.0 (license text, choosealicense.com). It requires attribution for public use.
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::BasisImageConverter
This plugin makes use of the Basis Universal GPU Texture Codec library, licensed under Apache-2.0 (license text, choosealicense.com). It requires attribution for public use.
Class Magnum::Trade::BasisImporter
This plugin makes use of the Basis Universal GPU Texture Codec library, licensed under Apache-2.0 (license text, choosealicense.com). It requires attribution for public use.
Class Magnum::Trade::BcDecImageConverter
This plugin makes use of the bcdec library by Sergii Kudlai, released into the public domain (license text, choosealicense.com), or alternatively under MIT (license text, choosealicense.com).
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::EtcDecImageConverter
This plugin makes use of the etcdec library by Sergii Kudlai, released into the public domain (license text, choosealicense.com), or alternatively under MIT (license text, choosealicense.com).
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::MeshOptimizerSceneConverter
This plugin makes use of the meshoptimizer library by Arseny Kapoulkine, released under MIT (license text, choosealicense.com).
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::OpenExrImageConverter
This plugin makes use of the OpenEXR library, licensed under BSD 3-clause (license text, choosealicense.com). It requires attribution for public use.
Class Magnum::Trade::OpenExrImporter
This plugin makes use of the OpenEXR library, licensed under BSD 3-clause (license text, choosealicense.com). It requires attribution for public use.
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::SpngImporter
This plugin makes use of the libspng library by @randy408, released under BSD 2-clause (license text, choosealicense.com). It requires attribution for public use.
Class Magnum::Trade::StbDxtImageConverter
This plugin makes use of the stb_dxt library by Fabian Giesen and Sean Barrett, released into the public domain (license text, choosealicense.com), or alternatively under MIT (license text, choosealicense.com).
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::StbResizeImageConverter
This plugin makes use of the stb_image_resize library by Jorge L. Rodriguez and 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).
Class Magnum::Trade::UfbxImporter
This plugin makes use of the ufbx library by Samuli Raivio, released into the public domain (license text, choosealicense.com), or alternatively under MIT (license text, choosealicense.com).
Class Magnum::Trade::WebPImporter
This plugin makes use of the libwebp library, released under the BSD 3-clause license as part of the WebM project (license text, choosealicense.com). It requires attribution for public use.
Namespace Magnum::Ui
This library makes use of the Adobe Source Sans Pro font, licensed under OFL 1.1 (license text, choosealicense.com). Attribution is required for public use.
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 Text rendering
This example makes use of the Adobe Source Sans Pro font, licensed under OFL 1.1 (license text, choosealicense.com). Attribution is required 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, 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 WebXR
This example makes use of the emscripten-webxr library, released under MIT (license text, choosealicense.com). Attribution is appreciated but not required.