Difference between revisions of "CWE Libraries and SDKs"
m (→Expat: Comment)
m (→Expat: Update links)
|Line 23:||Line 23:|
== Expat ==
== Expat ==
(Required by what?)
(Required by what?)
Revision as of 03:16, 31 March 2011
The CyanWorlds.com Engine (CWE) is released under the GPLv3 Open Source license but uses a number of libraries or SDKs that are not part of the development tool suite and are either commercially licensed or use licenses that are otherwise incompatible with the GPL. Consequently, these are not included within the Open Source release. However, many of these are readily available to any developers wishing to work on the CWE code.
The GPL FAQ addresses allowance of incompatible libraries: 
Both versions of the GPL have an exception to their copyleft, commonly called the system library exception. If the GPL-incompatible libraries you want to use meet the criteria for a system library, then you don't have to do anything special to use them; the requirement to distribute source code for the whole program does not include those libraries, even if you distribute a linked executable containing them.
What this means is that you may build and distribute a GPLv3 application as a binary that uses those libraries, but in distributing the source you need not distribute the library or its source (and you may be expressly prohibited from doing so by the applicable license).
The following paragraphs summarize the situation regarding each of these libraries/SDKs.
The Bink Video Codec  is a commercially licensed product by RAD Game Tools. At around US$6000 for a single product license this is probably beyond the price range of most private open source developers. Fortunately this only appears to be used at present for the introductory videos.
The CyanWorlds.com Engine originally used Creative Labs EAX 3D audio technology . EAX is a commercially licensed product, and beyond the reach of most private developers.
The alternative is to use OpenAL with EFX which supports EAX effects.
FreeType 2, from the FreeType Project, is a font service supporting OpenType, TrueType, Windows .fnt and Type 1 fonts amongst many others. FreeType 2 used methods that were subject to patent protection, but these expired in May 2010. 
Intel JPEG Library
(No longer available - See IPP)
Max 7 SDK
(Presumably only required to build plugin)
Ogg Vorbis is an open specification for audio compression, designed by Xiph.org Foundation. . The reference library implementation is supplied under a BSD license. This is the newer, three clause BSD license that omits the controversial advertising clause of the original BSD license, and is verified as GPL compatible by the Free Software Foundation.
OpenAL  with EFX (Effects Extension) is an open specification replacement for EAX provided under a LGPL license. Installers and SDKs for various platforms are readily available for download from Creative Labs website. 
OpenSSL is a Secure Sockets Layer implementation originally developed by Eric Young. OpenSSl is "dual licensed" in that that both the OpenSSL License (BSD-like) and the original SSLeay License are applied concurrently . From Gnu.org: 
The license of OpenSSL is a conjunction of two licenses, one of them being the license of SSLeay. You must follow both. The combination results in a copyleft free software license that is incompatible with the GNU GPL. It also has an advertising clause like the original BSD license and the Apache license.
We recommend using GNUTLS instead of OpenSSL in software you write. However, there is no reason not to use OpenSSL and applications that work with OpenSSL.
It is the "advertising clause" that presents the incompatibility with GPLv3.
There are two components to PhysX - the Drivers (run-time elements) and the SDK. Each are subject to different licensing conditions. The CyanWorlds.com Engine was originally built using version 2.6.0. of the SDK, which is no longer available for download - the earliest version currently avaliable is 2.6.4.
Please note that it is important that the version of Driver used provides support for the version of SDK in use.
Starting from version 2.6.0 of the SDK, the End User License Agreement  was changed to make this free for commercial and non-commercial use. However each developer is required to register on the nVIDIA Developer site  prior to downloading the SDK. The SDK license is exclusive to the registered developer, and it is not permissable to re-distribute the SDK in any form.
The driver (or "PhysX System Software") is required for all client installs and may be freely downloaded from the nVIDIA site. It is also permissable to redistribute the driver alongside a compiled application. 
Note that the latest version of the PhysX driver (9.10.0513 ) only provides support for versions 2.7.1 and above of the SDK; since CWE builds will typically use SDK 2.6.x, you should use an older driver (e.g. v8.09.04 )
Quicktime for Windows
Not currently required for the CyanWorlds.com Engine.