From 80422e74e64d845f9559945a523872e03943df87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Sat, 17 Nov 2018 22:49:49 +0100 Subject: [PATCH] Moved credits into the documentation. Nobody ever looked into the CREDITS.md file anyway and we want to be clear about licenses to our commercial users. --- CREDITS.md | 93 ++-------------- doc/00-page-order.dox | 2 + doc/credits.dox | 148 ++++++++++++++++++++++++++ doc/mainpage.dox | 4 + doc/namespaces.dox | 27 +++++ src/Magnum/Platform/GlfwApplication.h | 8 ++ src/Magnum/Platform/GlutApplication.h | 8 ++ src/Magnum/Platform/Sdl2Application.h | 8 ++ 8 files changed, 211 insertions(+), 87 deletions(-) create mode 100644 doc/credits.dox diff --git a/CREDITS.md b/CREDITS.md index b0c74fa56..d81c96471 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -1,92 +1,11 @@ Third-party components ---------------------- -- Magnum makes use of the **OpenGL** and **WebGL** APIs -- - https://www.opengl.org/, https://www.khronos.org/webgl/ -- The `GL` and `Vk` namespaces internally use code generated using the - **flextGL** extension loader generator -- https://github.com/mosra/flextgl. - Copyright © 2011-2018 Thomas Weber, licensed under the - [MIT license](https://raw.githubusercontent.com/mosra/flextgl/master/COPYING) -- The `Audio` namespace depends on the **OpenAL** API -- - http://www.openal.org. -- The `Platform::GlfwApplication` class uses the **GLFW** library -- - http://www.glfw.org/, licensed under the - [zlib/libpng](http://www.glfw.org/license.html) license. -- The `Platform::GlutApplication` class uses **freeGLUT** library -- - http://freeglut.sourceforge.net/, licensed under the MIT license. -- The `Platform::Sdl2Application` class uses the **SDL2** library -- - https://www.libsdl.org/, licensed under [ZLIB license](http://www.gzip.org/zlib/zlib_license.html) +Third party components that affect public usage of the project are listed +[in the documentation](https://doc.magnum.graphics/magnum/credits-third-party.html). -Contributors to Magnum library ------------------------------- - -Listing only people with code contributions, because otherwise there's too many -:) Big thanks to everyone involved! - -- Alan ([@Alan-FGR](https://github.com/Alan-FGR)) -- documentation fixes -- Alexander F Rødseth ([@xyproto](https://github.com/xyproto)) -- packages in - the ArchLinux community repository -- Alexey Yurchenko ([@alexesDev](https://github.com/alexesDev)) -- static - analyis, bug reports -- Alice Margatroid ([@Alicemargatroid](https://github.com/Alicemargatroid)) -- - Multi-channel support in Audio library, standard conformance, float, - double, A-Law and μ-Law format support in `WavAudioImporter` plugin -- Andy Somogyi ([@andysomogyi](https://github.com/andysomogyi)) -- bugreports, - API design improvement suggestions -- [@ArEnSc](https://github.com/ArEnSc) -- initial implementation of - windowless applications under macOS, macOS port improvements -- Ashwin Ravichandran ([@ashrko619](https://github.com/ashrko619)) -- - Bézier curve implementation -- Bill Robinson ([@wivlaro](https://github.com/wivlaroú) -- numerous bug - reports, macOS fixes, feature improvements -- [@biosek](https://github.com/biosek)) -- documentation fixes -- Denis Igorevich Lobanov ([@denislobanov](https://github.com/denislobanov) -- - math fixes -- [@dlardi](https://github.com/dlardi)) -- WGL-related bugfixes -- Eliot Saba ([@staticfloat](https://github.com/staticfloat)) -- macOS-related - GLFW updates -- Émile Grégoire ([@emgre](https://github.com/emgre)) -- documentation - updates, algorithm bugfixes -- Gerhard de Clercq -- Windows RT (Store/Phone) port -- Guillaume Giraud ([@Guillaume227](https://github.com/Guillaume227)) -- - algorithm bugfixes -- Ivan P. ([@uzername](https://github.com/uzername)) --- documentation - improvements -- Jonathan Hale ([@Squareys](https://github.com/Squareys)) -- Audio library - enhancements, GlfwApplication implementation, frustum and cone culling, bug - reports, documentation improvements -- Joel Clay ([@jclay](https://github.com/jclay)) --- Vcpkg packages -- Konstantinos Chatzilygeroudis ([@costashatz](https://github.com/costashatz)) - -- Debian package -- Krzysztof Szenk ([@Crisspl](https://github.com/Crisspl)) -- math fixes -- Leon Moctezuma ([@leonidax](https://github.com/leonidax)) -- bugreports, - API design direction -- Miguel Martin ([@miguelmartin75](https://github.com/miguelmartin75)) -- - initial macOS port, various other improvements -- Nathan Ollerenshaw ([@matjam](https://github.com/matjam)) --- Ubuntu - packages in a PPA repository -- Nicholas "LB" Branden ([@LB--](https://github.com/LB--)) -- warning fixes, - Windows buildsystem improvements -- Olga Turanksaya ([@olga-python](https://github.com/olga-python)) -- Gentoo - ebuild -- Sam Spilsbury ([@smspillaz](https://github.com/smspillaz)) -- WebGL and - GLES fixes -- Samuel Kogler ([@skogler](https://github.com/skogler)) -- GLFW application - crash fixes -- Séverin Lemaignan ([@severin-lemaignan](severin-lemaignan/)) -- lots of - feedback and bug reports for the initial releases -- [@sigman78](https://github.com/sigman78) -- Initial MSVC 2017 port, Vcpkg - packages -- Siim Kallas ([@seemk](https://github.com/seemk)) -- Sdl2Application - improvements, bugfixes -- Steeve Morin ([@steeve](https://github.com/steeve)) -- iOS buildsystem - improvements -- Stefan Wasilewski ([@smw](https://github.com/smw)) -- macOS port - improvements -- Thomas Tissot-Dupont ([@dolphineye](https://github.com/dolphineye)) --- - OpenGL ES compatiblity improvements -- Travis Watkins ([@amaranth](https://github.com/amaranth)) -- support for - windowless applications under macOS +Contributors to Magnum +---------------------- -Is this list missing your name or something's wrong? -[Let us know!](https://magnum.graphics/contact/) +[Detailed contributor list](https://doc.magnum.graphics/magnum/credits-contributors.html) +is maintained in the documentation. Big thanks to everyone involved! diff --git a/doc/00-page-order.dox b/doc/00-page-order.dox index 384b93419..14e38bd4c 100644 --- a/doc/00-page-order.dox +++ b/doc/00-page-order.dox @@ -42,6 +42,8 @@ @page developers Developers guide @page coding-style Coding style +@page credits-third-party Third-party components +@page credits-contributors Contributors @page debugoperators Debug output operators for custom types See also and @ref configurationvalues, @ref tweakableliterals and a diff --git a/doc/credits.dox b/doc/credits.dox new file mode 100644 index 000000000..5b2643b35 --- /dev/null +++ b/doc/credits.dox @@ -0,0 +1,148 @@ +/* + This file is part of Magnum. + + Copyright © 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 + Vladimír Vondruš + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +*/ + +namespace Magnum { + +/** @page credits-third-party Third-party components +@brief 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 +@ref mainpage-license "main page" for license of Magnum itself. For easier +overview the dependencies are color-coded: + +- A @m_class{m-label m-dim} **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 @m_class{m-label m-success} **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 @m_class{m-label m-primary} **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 @m_class{m-label m-warning} **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 @m_class{m-label m-danger} **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 @ref credits-contributors "people and organizations that contributed to Magnum". + +- - - + +*/ + +/** @page credits-contributors Contributors +@brief People and organizations that contributed to Magnum + +Listing only people with code contributions or other significant work, because +otherwise there's too many :) There's also a @ref corrade-credits-contributors "similar list for Corrade" +and a list of @ref credits-third-party "third party components with their license info". +Big thanks to everyone involved! + +@m_class{m-text-center m-text m-dim} + +Are the below lists missing your name or something's wrong? +[Let us know!](https://magnum.graphics/contact/) + +- **[\@Alan-FGR](https://github.com/Alan-FGR)** --- documentation fixes +- **Alexander F Rødseth** ([\@xyproto](https://github.com/xyproto)) --- + packages in the ArchLinux community repository +- **Alexey Yurchenko** ([\@alexesDev](https://github.com/alexesDev)) --- + static analyis, bug reports +- **Alice Margatroid** ([\@Alicemargatroid](https://github.com/Alicemargatroid)) + --- Multi-channel support in the @ref Audio library, standard conformance; + float, double, A-Law and μ-Law format support in the + @ref Audio::WavImporter "WavAudioImporter" plugin +- **Andy Somogyi** ([\@andysomogyi](https://github.com/andysomogyi)) --- + bugreports, API design improvement suggestions +- **[\@ArEnSc](https://github.com/ArEnSc)** --- initial implementation of + windowless applications under macOS, macOS port improvements +- **Ashwin Ravichandran** ([\@ashrko619](https://github.com/ashrko619)) --- + Bézier curve implementation +- **Bill Robinson** ([\@wivlaro](https://github.com/wivlaroú) --- numerous + bug reports, macOS fixes, feature improvements +- **[\@biosek](https://github.com/biosek)** --- documentation fixes +- **Denis Igorevich Lobanov** ([\@denislobanov](https://github.com/denislobanov)) + --- math fixes +- **[\@dlardi](https://github.com/dlardi)** --- WGL-related bugfixes +- **Eliot Saba** ([\@staticfloat](https://github.com/staticfloat)) --- + macOS-related updates to @ref Platform::GlfwApplication +- **Émile Grégoire** ([\@emgre](https://github.com/emgre)) --- documentation + updates, algorithm bugfixes +- **Gerhard de Clercq** --- Windows RT (Store/Phone) port +- **Guillaume Giraud** ([\@Guillaume227](https://github.com/Guillaume227)) --- + algorithm bugfixes +- **Ivan P.** ([\@uzername](https://github.com/uzername)) --- documentation + improvements +- **Jonathan Hale** ([\@Squareys](https://github.com/Squareys)) --- @ref Audio + library enhancements, @ref Platform::GlfwApplication implementation, + frustum and cone culling, bug reports, documentation improvements +- **Joel Clay** ([\@jclay](https://github.com/jclay)) --- Vcpkg packages +- **Konstantinos Chatzilygeroudis** ([\@costashatz](https://github.com/costashatz)) + --- Debian package +- **Krzysztof Szenk** ([\@Crisspl](https://github.com/Crisspl)) --- math + fixes +- **Leon Moctezuma** ([\@leonidax](https://github.com/leonidax)) --- + bugreports, API design direction +- **Miguel Martin** ([\@miguelmartin75](https://github.com/miguelmartin75)) + --- initial macOS port, various other improvements +- **Nathan Ollerenshaw** ([\@matjam](https://github.com/matjam)) --- Ubuntu + packages in a PPA repository +- **Nicholas "LB" Branden** ([\@LB--](https://github.com/LB--)) --- warning + fixes, Windows buildsystem improvements +- **Olga Turanksaya** ([\@olga-python](https://github.com/olga-python)) --- + Gentoo ebuild +- **Sam Spilsbury** ([\@smspillaz](https://github.com/smspillaz)) --- WebGL + and GLES fixes +- **Samuel Kogler** ([\@skogler](https://github.com/skogler)) --- + @ref Platform::GlfwApplication crash fixes +- **Séverin Lemaignan** ([\@severin-lemaignan](severin-lemaignan/)) --- lots + of feedback and bug reports for the initial releases +- **[\@sigman78](https://github.com/sigman78)** --- Initial MSVC 2017 port, + Vcpkg packages +- **Siim Kallas** ([\@seemk](https://github.com/seemk)) --- + @ref Platform::Sdl2Application improvements, bugfixes +- **Steeve Morin** ([\@steeve](https://github.com/steeve)) --- iOS + buildsystem improvements +- **Stefan Wasilewski** ([\@smw](https://github.com/smw)) --- macOS port + improvements +- **Thomas Tissot-Dupont** ([\@dolphineye](https://github.com/dolphineye)) + --- OpenGL ES compatiblity improvements +- **Travis Watkins** ([\@amaranth](https://github.com/amaranth)) --- support + for windowless applications under macOS +*/ + +} diff --git a/doc/mainpage.dox b/doc/mainpage.dox index 79de1b86f..9efebf684 100644 --- a/doc/mainpage.dox +++ b/doc/mainpage.dox @@ -100,5 +100,9 @@ Magnum is licensed under the MIT/Expat license: > DEALINGS IN THE SOFTWARE. > +All example code is released into public domain, see @ref example-index for +more information. Some Magnum libraries depend on third-party components, see +@ref credits-third-party for their respective licenses. There's also a +@ref credits-contributors "list of contributors". */ } diff --git a/doc/namespaces.dox b/doc/namespaces.dox index 9445476d1..cb5387cfd 100644 --- a/doc/namespaces.dox +++ b/doc/namespaces.dox @@ -215,6 +215,11 @@ Additional plugins and utilities are built separately. See particular `Audio::*Importer` class documentation, the @ref magnum-al-info "magnum-al-info" utility documentation, @ref building, @ref building-plugins, @ref cmake, @ref cmake-plugins and @ref plugins for more information. + +@m_class{m-block m-default} + +@thirdparty This library makes use of the [OpenAL](https://www.openal.org/) + API. */ /** @dir Magnum/DebugTools @@ -261,6 +266,17 @@ target_link_libraries(your-app Magnum::GL) @endcode See @ref building, @ref cmake and @ref opengl for more information. + +@m_class{m-block m-success} + +@thirdparty This library makes use of the + [OpenGL](https://www.opengl.org/) and [WebGL](https://www.khronos.org/webgl/) + APIs. In addition, the library uses code generated using + [flextGL](https://github.com/mosra/flextgl), copyright © 2011--2018 Thomas + Weber, licensed under @m_class{m-label m-success} **MIT** + ([license text](https://github.com/mosra/flextgl/blog/master/LICENSE), + [choosealicense.com](https://choosealicense.com/licenses/mit/)). It + requires attribution for public use. */ /** @dir Magnum/MeshTools @@ -495,6 +511,17 @@ target_link_libraries(your-app Magnum::Vk) @endcode See @ref building, @ref cmake and @ref vulkan for more information. + +@m_class{m-block m-success} + +@thirdparty This library makes use of the + [Vulkan](https://www.khronos.org/vulkan/) API. In addition, the library + uses code generated using + [flextGL](https://github.com/mosra/flextgl), copyright © 2011--2018 Thomas + Weber, licensed under @m_class{m-label m-success} **MIT** + ([license text](https://github.com/mosra/flextgl/blog/master/LICENSE), + [choosealicense.com](https://choosealicense.com/licenses/mit/)). It + requires attribution for public use. */ /** @dir magnum/src/MagnumPlugins diff --git a/src/Magnum/Platform/GlfwApplication.h b/src/Magnum/Platform/GlfwApplication.h index 8f7a85fb0..9591f39b5 100644 --- a/src/Magnum/Platform/GlfwApplication.h +++ b/src/Magnum/Platform/GlfwApplication.h @@ -65,6 +65,14 @@ This application library is available on all platforms where GLFW is ported. It depends on the [GLFW](http://glfw.org) library and is built if `WITH_GLFWAPPLICATION` is enabled when building Magnum. +@m_class{m-block m-success} + +@thirdparty This library makes use of [GLFW](https://www.glfw.org/), released + under the @m_class{m-label m-success} **zlib/libpng license** + ([license text](https://www.glfw.org/license.html), + [choosealicense.com](https://choosealicense.com/licenses/zlib/)). + Attribution is appreciated but not required. + @section Platform-GlfwApplication-bootstrap Bootstrap application Fully contained base application using @ref GlfwApplication along with CMake diff --git a/src/Magnum/Platform/GlutApplication.h b/src/Magnum/Platform/GlutApplication.h index 1950cb07e..b92cb4e37 100644 --- a/src/Magnum/Platform/GlutApplication.h +++ b/src/Magnum/Platform/GlutApplication.h @@ -75,6 +75,14 @@ This application library is available only on desktop OpenGL (Linux, Windows, macOS). It depends on the [GLUT](http://freeglut.sourceforge.net/) library and is built if `WITH_GLUTAPPLICATION` is enabled when building Magnum. +@m_class{m-block m-success} + +@thirdparty This plugin makes use of the [freeGLUT](http://freeglut.sourceforge.net/) + library, licensed under @m_class{m-label m-success} **MIT** + ([license text](https://github.com/dcnieho/FreeGLUT/blob/git_master/freeglut/freeglut/COPYING), + [choosealicense.com](https://choosealicense.com/licenses/mit/)). + It requires attribution for public use. + @section Platform-GlutApplication-usage General usage In order to use this library from CMake, you need to request the diff --git a/src/Magnum/Platform/Sdl2Application.h b/src/Magnum/Platform/Sdl2Application.h index 18ef73224..c07e8cf52 100644 --- a/src/Magnum/Platform/Sdl2Application.h +++ b/src/Magnum/Platform/Sdl2Application.h @@ -76,6 +76,14 @@ respective sections in @ref building-corrade-cross-emscripten "Corrade's" and on the [SDL2](http://www.libsdl.org) library (Emscripten has it built in) and is built if `WITH_SDL2APPLICATION` is enabled in CMake. +@m_class{m-block m-success} + +@thirdparty This plugin makes use of the [SDL2](https://www.libsdl.org/) + library, released under the @m_class{m-label m-success} **zlib license** + ([license text](http://www.gzip.org/zlib/zlib_license.html), + [choosealicense.com](https://choosealicense.com/licenses/zlib/)). + Attribution is appreciated but not required. + @section Platform-Sdl2Application-bootstrap Bootstrap application Fully contained base application using @ref Sdl2Application along with