Crazy Eddies GUI System  0.7.2
CEGUI License (and other licensing considerations)
Author
Paul D Turner

CEGUI library licensing

The current version of CEGUI is licensed under the MIT License:

The MIT License

Copyright (c) 2004 - 2010 Paul D Turner & The CEGUI Development Team

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.

Note that this license generally only covers the CEGUI code - either compiled or in source code form. For licensing information regarding the data and media files that accompany CEGUI (under the datafiles directory), please see CEGUI Data File and Media Licensing for additional information.


Dependency licensing


Licensing 101: What it all means!

While CEGUI itself is licensed under the MIT license, it is important that users understand that you're probably not only using the CEGUI code, but also that of certain other libraries that CEGUI is built on top of - this means that you may have to additionally comply with the licensing of those other libraries and components as well.

First I want to state that I'm not a 'license lawyer'; what follows is my personal interpretaion of the licensing situation. If you're in any doubt at all, you should either directly contact the authors / license owners of the specific components you have concerns about, or - if you have cash to burn - consult a legal professional.

The exact way that you determine which of the external licenses you need to give consideration to will largely depend upon the choices you make as regards to the various options you have when building CEGUI.

At the very minimum you will need to consider CEGUI's MIT license and the BSD license of the string encoders library (unless you do not compile the Spinner widget code, in which case it's just CEGUI's MIT license).

The next two libraries that are nearly always used are PCRE and FreeType2. With MSVC++ builds using our provided dependency packages these libraries are always linked in statically; while on the Mac using Xcode our provided dependency packages use dynamic linking, although those component frameworks will generally be distributed as part of your application. This means that on both of these systems you must comply with the license conditions for PCRE and FreeType2 (again, this only applies if you have not explicitly disabled the use of these libraries).

If you enabled bi-directional text support using the integrated copy of the minibidi code, then you need to consider the MIT license used for that code.

Beyond these items, the other libraries that you will consider will depend upon your choices for renderering library, image codec library, XML parser and scripting module. Basically this means if you're not using - and therefore not distributing - a particular module you do not need to worry about the licensing any of the dependency libraries that module may use.

Generally the option modules use only the underlying library suggested in the name of the module; for example, the XercesParser module only uses the Xerces-C++ library and the FreeImageImageCodec uses FreeImage. The only two potential "gotchas" exist with the Lua based scripting module that can use an embedded copy of the tolua++ code, and the OpenGL renderer module that can contain a copy of the OpenGL extension wrangler library (GLEW).