Crazy Eddies GUI System: CEGUI License (and other licensing considerations)

Crazy Eddies GUI System 0.7.6

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

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

- This sofware can be compiled to use the PCRE library by Philip Hazel. PCRE is Copyright (c) 1997-2009 University of Cambridge, All rights reserved. Please see PCRE LICENCE for additional licensing information.
- This software can be compiled to use the Freetype2 library to provide most of the font loading and rendering support. Freetype2 is a free, high-quality, and portable font engine; see http://www.freetype.org for more information.
- The Spinner widget contains some modified parts of the stringencoders library (http://code.google.com/p/stringencoders). Please see stringencoders library License for additional licensing that may apply to the use of this component.
- This software can be compiled to optionally include an embedded copy of the minibidi software from the Arabeyes project (http://www.arabeyes.org/). minibidi was written by Ahmad Khalifa and is licensed under the MIT license.
- This sofware can be compiled to optionally contain an embedded version of TinyXML. Please see TinyXML License for additional licensing information.
- This software can be compiled in such a way that certain components contain an embedded copy of the OpenGL Extension Wrangler (GLEW) library. Please see GLEW License for additional licensing that may apply to the use of this library.
- This software can be compiled to optionally contain an embedded copy of tolua++. Please see the tolua++ README for additional information.
- This software can be compiled to optionally contain unzip code taken (and modified) from the Minizip project. The original Minizip code may be found at http://www.winimage.com/zLibDll/minizip.html
- This software can be compiled to contain an embedded version of the stb_image.c code, which has been released into the public domain by it's author Sean Barrett (http://nothings.org/).

## 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).