Image

This section is for libraries that are often used when developing OGRE applications, but they do not inherently support OGRE. You will have to integrate them yourself.

  • If a project has explicit and active OGRE support, please move it to OGRE Libraries.
  • Please correct dead links.
  • Please delete dead projects.

Image

Application Frameworks

An alternative to assembling all of these libraries yourself is to use an existing application framework.

  • NeoAxis Game Engine: is an all-purpose, modern 3D graphics engine for 3D simulations, visualizations and games. Includes many editors for scenes, physics, materials, particles etc. Uses C# for scripting. Non-commerical free licence as well as commerical licences available.

Image

Physics

Games or simulations normally follow some consistent model of the physical universe. Physical laws dictate that balls bounce when they hit the ground or that arrows arc upwards then down when fired into the air. More recently, ragdoll physics has become popular as a way of animating characters according to physical models, for example, enabling realistic animation of a person falling after being shot.

  • Full-source packages
    • Newton Game Dynamics: Windows, Mac, Linux(x86); Free open source under Zlib license. You can integrate Newton Game Dynamics into your projects with ease. With our technology you only need to know basic physics principles to produce realistic physics behavior. Tuning time is reduced to a minimum because you don't need to wrestle the targeted hardware nor set up esoteric parameters to get the correct timing for your simulation. Newton physics engine behaves naturally. This has been used in at least one Ogre project (Stunt Playground).
    • Bullet - Windows, Mac, *nix ; Free open source under the Zlib style license. Under active development, includes COLLADA Physics support, GJK general convex collision detection and specialising in continuous collision detection. Some handy resources and sourcecode on the site. Under heavy and constant development.
    • PhysBAM - Source release only (no Windows build environment yet, but it is set up to use GCC and SCons); Free open source MIT-style license. Under active development at Stanford University, in existence since about 1998, recently open-sourced; primary target is film and post effects, so it targets realism more than performance (probably not a real-time physics engine but could be very good for visualization applications).
    • ODE: Windows, Mac, *nix ; Free under the LGPL and BSD style license. The Open Dynamics Engine (ODE) is a popular tool for programming physics with Ogre.
  • Binary-only packages

Image

Artificial intelligence

There has been little standardization yet as to what an AI engine might contain. But there are enough common AI problems in games, such as pathfinding, that seem to need writing over and over again. Most Ogre projects use custom-built AI libraries.

  • OpenAI: Windows, Mac, *nix. OpenAI or the Open-source Artificial Intelligence library aims to be for AI what OpenGL is for graphics. That said, it is not so good for use in DirectX but integrates seamlessly and without trouble into OpenGL. The library has many features. Is written in Java. Note: Development halted April 5, 2003.
  • FEAR: Windows, Mac, *nix. FEAR is an AI library whose status is unclear. There is, however a book by FEAR's lead developer which is based on FEAR. Author of the library do not think his library is ready for real-time or games application, it's under construction, but meanwhile have an education purpose and wish people can help him. Testing and use of the library does needs Quake 2. (or you won't be able to test your code and the demos.). If you buy the book you get mores Bots sources and demo. Very good for education purpose on neural nets, FSM, Fuzzy logic. Note: Developer states he has moved on to a new project, the last FEAR release v0.4.0 on March 23, 2005 does not appear to be ready for production use.
  • OpenSteer: Windows, Mac, *nix; MIT License OpenSteer is a C++ library to help construct steering behaviors for autonomous characters in games and animation. In addition to the library, OpenSteer provides an OpenGL-based application called OpenSteerDemo which displays predefined demonstrations of steering behaviors. The user can quickly prototype, visualize, annotate and debug new steering behaviors by writing a plug-in for OpenSteerDemo.
  • A* Tactical Pathfinding: Windows. Free (needs copyright notice) Described in the "Game Programming Gems III book". A tactical path deviates from the shortest path to achieve increased concealment and cover from threats. The simple way to create tactical paths is adding a new cost to the A* cost function. These new costs reflect exposure to enemy observation and fire at each point in the terrain.(on the same page, from "AI Game Programming Wisdom" book, there's also the Path Lookup Tables explorer.) Also see here for an Ogre implementation of various A* pathfinding with source
  • PathLib: Windows; Free A C++ A* pathfinding, fast and robust, along with a windows demo, that allows path testing and map editing. ( supports Group pathfinding) Also see here for an Ogre implementation of various A* pathfinding with source
  • Garfixia AI Repository: This site contains an open-source library of AI techniques, written in C++. Excellent material - appears to be Open Domain - not production quality, but an invaluable starting point. FSM, fuzzy, learning trees, etc. Good Stuff!
  • MicroPather Windows, Mac, Linux; zlib/libpng License. From the webpage: "MicroPather is a path finder and A* solver (astar or a-star) written in platform independent C++ that can be easily integrated into existing code. MicroPather focuses on being a path finding engine for video games but is a generic A* solver."
  • Boost Graph Library platform independent. This library can perform A* searches.
  • FANN Platform independent; GNU Library General Public License (LGPL). From the webpage: "Fast Artificial Neural Network Library is a free open source neural network library, which implements multilayer artificial neural networks in C with support for both fully connected and sparsely connected networks. Cross-platform execution in both fixed and floating point are supported. It includes a framework for easy handling of training data sets. It is easy to use, versatile, well documented, and fast. PHP, C++, .NET, Python, Delphi, Octave, Ruby, Pure Data and Mathematica bindings are available. A reference manual accompanies the library with examples and recommendations on how to use the library. A graphical user interface is also available for the library."
  • OpenSkyNet Windows; GNU Library General Public License (LGPL). A* pathfinding lib with a user-settable option to determine the number of seconds alloted for pathfinding each call and batch pathfinding, such that multiple objects can use the same grid. Written in C++.
  • Recast Platform independent; zlib License. Recast is state of the art navigation mesh construction toolset for games. Recast creates a voxel mold from your level's geometry, which is used to generate a navigation mesh. You can throw any level geometry at it and you will get robust mesh out.


Image

Networking

Effective use of the network is important to multiuser games. To support games played over the Internet, it is necessary to deal with problems of network performance, fault-tolerance, concurrency control and security. Most Ogre projects are based on custom networking libraries. The following libraries, however, have been found useful by some Ogre users.

  • ReplicaNet: This library has the choice of using reliable UDP connections, peer-to-peer or client server sessions or object oriented replicated objects. It also supplies a complete lobby interface including user management, chat services, online leaderboards, user data storage and file patching services. It has been used on games consoles, desktop machines and mobile phones.
  • RakNet: Windows, *nix; Free under Creative Commons Attribution - NonCommercial 2.5 license (commercial use $100-$4000) Used in quite a number of Ogre projects. From the web page: "RakNet is a networking API that is a wrapper for reliable UDP and higher level functionality on Windows, Linux, and Unix. It allows any application to communicate with other applications on the same computer, over a LAN, or over the internet. Although it could be used for any networked application, it was developed specifically for rapid development of online games and the addition of multiplayer to single player games."
  • OpenTNL: Windows, Mac, Linux; GPL or Commercial License. From the web page: "The Torque Network Library is a robust, secure, easy to use cross-platform C++ networking API designed for high performance simulations and games."
  • Zoidcom: Windows, Linux; Free or Commercial License. From the web page: "Zoidcom is a high-level, UDP based networking library providing features for automatic replication of gameobjects and synchronization of their states over a network connection in a highly bandwidth efficient manner. This is achieved by multiplexing and demultiplexing object information from and into bitstreams, which make it easily possible to avoid sending redundant data. Bools only take one single bit, integers and floats are stripped down to as many bits as needed."
  • HawkNL: Windows, Mac, Linux; GNU Library General Public License (LGPL). From the webpage: "Game oriented network API HawkNL (NL) is a fairly low level API, a wrapper over Berkeley/Unix Sockets and Winsock. But NL also provides other features including support for many OSs, groups of sockets, socket statistics, high accuracy timer, CRC functions, macros to read and write data to packets with endian conversion, and support for multiple network transports (version 2.0 is beta)."
  • ENet: Windows, Linux; MIT-style License. From the webpage: "ENet's purpose is to provide a relatively thin, simple and robust network communication layer on top of UDP (User Datagram Protocol). The primary feature it provides is optional reliable, in-order delivery of packets."
  • ZIGE Game Engine: Windows, Mac, Linux; GNU Library General Public License (LGPL). From the webpage: "ZIG is a free, LGPL licensed, extendable client-server game engine. Besides networking, it provides support for other features like: logging, an interactive debug console, timing control (for client framerates and server packet rates), automatic downloading of game files from server to client, etc. From the standpoint of ZIG, the graphics renderer, the sound engine and the input handler are all extensions you must provide. You will be able to plug your Allegro, SDL, DirectX, OpenGL etc. stuff into ZIG with ease. ZIG is a cross-platform C/C++ library which depends on HawkNL and Pthreads (POSIX Threads)."
  • SDL_net Windows, Mac, Linux; GNU Library General Public License (LGPL). From the webpage: "SDL_net is a small sample cross-platform networking library that runs on all platforms supported by SDL."
  • SFML: Windows, Linux, Mac OS X and soon Android & iOS; Free SFML provides audio functionality (including 3D spatial playback) in addition to many other useful features such as window and input handling and networking.


Image

Audio

Games and simulations rely greatly on sound and music to provide atmosphere. While we often focus on graphics as programmers, sound is at least as important to developing an immersive atmosphere.

  • FMOD: Windows, Mac, Linux, WinCE, PS2, XBox, GameCube; Commercial, but free for non-commercial use. From their web page: "FMOD supports 3d sound, midi, mods, mp3, ogg vorbis, wma, aiff, recording, obstruction/occlusion, cd playback (analog or digital), cd ripping, mmx, internet streaming, dsp effects, spectrum analysis, user created samples and streams, synchronization support, ASIO, EAX 2&3, C/C++/VB/Delphi and more."
  • OpenAL: Windows, Mac, Linux, PS2, XBox, GameCube; Mainly free under LGPL but commercial for some platforms. From the web page: "OpenAL is a cross-platform 3D audio API appropriate for use with gaming applications and many other types of audio applications." The two OGRE wrappers are 'OgreOggSound' (most active) and OgreAL.
  • BASS: Windows; Commercial, but free for non-commercial use. From the web page: "BASS is an audio library for use in Windows software. It's purpose is to provide developers with the most powerful and efficient (yet easy to use), sample, stream (MP3, MP2, MP1, OGG, WAV, custom generated, and more via add-ons), MOD music (XM, IT, S3M, MOD, MTM, UMX), MO3 music (MP3/OGG compressed MODs), and recording functions. All in a tiny DLL, under 100KB in size."
  • Audiere: Windows, *nix; Free "Audiere is a high-level audio API. It can play Ogg Vorbis, MP3, FLAC, uncompressed WAV, AIFF, MOD, S3M, XM, and IT files. For audio output, Audiere supports DirectSound or WinMM in Windows, OSS on Linux and Cygwin, and SGI AL on IRIX." Featuring a Braindead easy API . (Doesn't support 3D positioning of sound (perhaps)
  • irrKlang: Windows, Linux, Mac; Commercial, but free for non-commercial use. From their web page: "2D and 3D cross platform audio library which plays WAV, MP3, OGG, MOD, XM, IT, S3M and more file formats. Users of .NET should look to page IrrKlang for MOGRE.
  • cAudio: Windows, *nix; Free From their web page: "The cAudio Engine is a C++ wrapper around OpenAL to allow you to get sound and music into your games easily. The main reason behind making cAudio was there wasn't a hole lot of choices for getting sound into your game. The only problem with using OpenAL is it's hard to use in games. So cAudio was born. cAudio uses OpenAL for controlling all aspects of the sound. Vorbis libary for decoding and playing .ogg files. Mikmod for the mod,xm,it,and s3d support."
  • SFML: Windows, Linux, Mac OS X and soon Android & iOS; Free SFML provides audio functionality (including 3D spatial playback) in addition to many other useful features such as window and input handling and networking.

Image

Scripting

3D applications are often organized so that the performance-critical parts are written in C++ while the application itself is written in a so-called scripting language. Scripting languages are typically interpreted allowing a tighter code/execution cycle, and are usually easier to debug than C++. This allows more rapid application development while retaining good performance.

Alternatively, the application can be structured where scripts are embedded within a C++ application.

  • Lua: Windows, *nix; Free under MIT License. Lua is a library that can be called from Ogre, allowing scripts to be called from within a C++ main application. From the web page: "Lua combines simple procedural syntax with powerful data description constructs based on associative arrays and extensible semantics. Lua is dynamically typed, interpreted from bytecodes, and has automatic memory management with garbage collection, making it ideal for configuration, scripting, and rapid prototyping." Lua programs can in turn make calls/callbacks into Ogre (and other C++ libraries) via luabind (free under the MIT License). See also our wiki entry.
  • LuaPlus: Lua C++ oriented fork with debugging facilities (visual studio plugins), optimisations.
  • Java: Windows, *nix, Mac; Free. Java is a type-safe byte-code interpreted object-oriented language.
  • Python: Windows, *nix, Mac; Free. Python is a dynamically-typed, byte-code interpreted, object-oriented language. For more performance there is also a Python JIT (just in time compiler), psyco.
  • Ruby: Windows, *nix, Mac; Free. Ruby has received a fair bit of positive press lately as a structured OO language with the power of Perl. Ruby has its own C++ interface, as well as a SWIG interface.
  • Squirrel: Windows, *nix; Free. Squirrel is a high level imperative/OO programming language, designed to be a powerful scripting tool that fits in the size, memory bandwidth, and real-time requirements of applications like games. Squirrel's syntax is similar to C/C++/Java, but the language has a very dynamic nature like python/Lua. It's API is very much like Lua, too. See also our wiki entry.
  • AngelScript: Windows, *nix; Free. AngelScript is a high level programming language which has the familiare syntaxes of C/C++. Its designed to be modulative, light-weight, efficient and highly-configurable. It features Run-Time bytecode compilation and ability save/load bytecode on demand. AngelScript is offered on the ZLib license.
  • GameMonkey: Windows, *nix; Free. GameMonkey is a high level embedded scripting language, similar to Lua and AngelScript. It has a C style syntax, supports threading and focuses on having a light footprint. GameMonkey is offered under the MIT license.
  • Falcon: Windows, *nix, Mac; Free. Falcon provides six integrated programming paradigms: procedural, object oriented, prototype oriented, functional, tabular and message oriented. It's multithreaded and the basic syntax is similar to Lua.
  • ChaiScript: Any platform you C++ compiler can target. C++ header-only metaprogramming-based scripting language, looks like very simplified C++.
  • Runtime-Compiled C++ This technique allows you to change your C++ code while it's running., it uses no scripting, no VM, no external tools - you can apply it to your own code and you can continue to use your favourite IDE.

Image

Input

  • SDL: MS Windows, Linux, BeOS, Solaris, IRIX, FreeBSD, MacOS; Free under the GNU LGPL. From the web page: " Simple DirectMedia Layer is a cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer." Look at this page to learn how to use SDL with OGRE.
  • LibGII: MS Windows, Linux, Solaris, FreeBSD, NetBSD, OpenBSD, Darwin/MacOSX, IRIX, AIX; Free under the MIT license. From the web page: "LibGII is intended to be to input what our LibGGI library is to graphics. The goal of LibGII is to provide a single easy to use, but yet powerful, API for all possible input sources.". See also this page on integrating libGII into your OGRE program.
  • OpenInput: Linux, Windows OpenInput is a cross-platform, easy-to-use, portable input handler library, written in C.
  • SFML: Windows, Linux, Mac OS X and soon Android & iOS; Free SFML provides audio functionality (including 3D spatial playback) in addition to many other useful features such as window and input handling and networking.

Image

Other tools

  • Libnoise: Windows, *nix; Free under LGPL. libnoise is a portable C++ library that is used to generate coherent noise, a type of smoothly-changing noise. libnoise can generate Perlin noise, ridged multifractal noise, and other types of coherent-noise. Coherent noise is often used by graphics programmers to generate natural-looking textures, planetary terrain, and other things.
  • SimpleFileWatcher: A library for getting callbacks on file / folder changes in a cross-platform way


Didn't find quite what you are looking for? Here is another large list of libraries assembled from gamedev.net that may help.


Alias: List_Of_Libraries

<HR>
Creative Commons Copyright -- Some rights reserved.


THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.

BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.

1. Definitions

  • "Collective Work" means a work, such as a periodical issue, anthology or encyclopedia, in which the Work in its entirety in unmodified form, along with a number of other contributions, constituting separate and independent works in themselves, are assembled into a collective whole. A work that constitutes a Collective Work will not be considered a Derivative Work (as defined below) for the purposes of this License.
  • "Derivative Work" means a work based upon the Work or upon the Work and other pre-existing works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which the Work may be recast, transformed, or adapted, except that a work that constitutes a Collective Work will not be considered a Derivative Work for the purpose of this License. For the avoidance of doubt, where the Work is a musical composition or sound recording, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered a Derivative Work for the purpose of this License.
  • "Licensor" means the individual or entity that offers the Work under the terms of this License.
  • "Original Author" means the individual or entity who created the Work.
  • "Work" means the copyrightable work of authorship offered under the terms of this License.
  • "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
  • "License Elements" means the following high-level license attributes as selected by Licensor and indicated in the title of this License: Attribution, ShareAlike.

2. Fair Use Rights

Nothing in this license is intended to reduce, limit, or restrict any rights arising from fair use, first sale or other limitations on the exclusive rights of the copyright owner under copyright law or other applicable laws.

3. License Grant

Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:

  • to reproduce the Work, to incorporate the Work into one or more Collective Works, and to reproduce the Work as incorporated in the Collective Works;
  • to create and reproduce Derivative Works;
  • to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission the Work including as incorporated in Collective Works;
  • to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission Derivative Works.
  • For the avoidance of doubt, where the work is a musical composition:
    • Performance Royalties Under Blanket Licenses. Licensor waives the exclusive right to collect, whether individually or via a performance rights society (e.g. ASCAP, BMI, SESAC), royalties for the public performance or public digital performance (e.g. webcast) of the Work.
    • Mechanical Rights and Statutory Royalties. Licensor waives the exclusive right to collect, whether individually or via a music rights society or designated agent (e.g. Harry Fox Agency), royalties for any phonorecord You create from the Work ("cover version") and distribute, subject to the compulsory license created by 17 USC Section 115 of the US Copyright Act (or the equivalent in other jurisdictions).
    • Webcasting Rights and Statutory Royalties. For the avoidance of doubt, where the Work is a sound recording, Licensor waives the exclusive right to collect, whether individually or via a performance-rights society (e.g. SoundExchange), royalties for the public digital performance (e.g. webcast) of the Work, subject to the compulsory license created by 17 USC Section 114 of the US Copyright Act (or the equivalent in other jurisdictions).


The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. All rights not expressly granted by Licensor are hereby reserved.

4. Restrictions

The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:

  • You may distribute, publicly display, publicly perform, or publicly digitally perform the Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of the Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Work that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Work itself to be made subject to the terms of this License. If You create a Collective Work, upon notice from any Licensor You must, to the extent practicable, remove from the Collective Work any credit as required by clause 4(c), as requested. If You create a Derivative Work, upon notice from any Licensor You must, to the extent practicable, remove from the Derivative Work any credit as required by clause 4(c), as requested.
  • You may distribute, publicly display, publicly perform, or publicly digitally perform a Derivative Work only under the terms of this License, a later version of this License with the same License Elements as this License, or a Creative Commons iCommons license that contains the same License Elements as this License (e.g. Attribution-ShareAlike 2.5 Japan). You must include a copy of, or the Uniform Resource Identifier for, this License or other license specified in the previous sentence with every copy or phonorecord of each Derivative Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Derivative Works that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder, and You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Derivative Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Derivative Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Derivative Work itself to be made subject to the terms of this License.
  • If you distribute, publicly display, publicly perform, or publicly digitally perform the Work or any Derivative Works or Collective Works, You must keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or (ii) if the Original Author and/or Licensor designate another party or parties (e.g. a sponsor institute, publishing entity, journal) for attribution in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; the title of the Work if supplied; to the extent reasonably practicable, the Uniform Resource Identifier, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and in the case of a Derivative Work, a credit identifying the use of the Work in the Derivative Work (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). Such credit may be implemented in any reasonable manner; provided, however, that in the case of a Derivative Work or Collective Work, at a minimum such credit will appear where any other comparable authorship credit appears and in a manner at least as prominent as such other comparable authorship credit.

5. Representations, Warranties and Disclaimer

UNLESS OTHERWISE AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE MATERIALS, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.

6. Limitation on Liability.

EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

7. Termination

  • This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Derivative Works or Collective Works from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
  • Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.

8. Miscellaneous

  • Each time You distribute or publicly digitally perform the Work or a Collective Work, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
  • Each time You distribute or publicly digitally perform a Derivative Work, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
  • If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
  • No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
  • This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.