Difference between revisions of "Third Party Libraries"

From Second Life Wiki
Jump to navigation Jump to search
m (Alpha sort, mention openjpeg as for open source release, renamed mozilla to llmozlib in comment too)
(licensing)
Line 2: Line 2:
{| border="1" cellpadding="3"
{| border="1" cellpadding="3"
     |- style="background:#ffdead;"
     |- style="background:#ffdead;"
     !Library !! Version !! Description
     !Library !! Version !! Description !! GPL-Compatible?


<!-- Apache -->
<!-- Apache -->
Line 8: Line 8:
![http://apr.apache.org/ Apache Portable Runtime ] || 1.1.2
![http://apr.apache.org/ Apache Portable Runtime ] || 1.1.2
|A set of C functions which provide a portable and consistent interface into operating system - or simply widely useful - functionality. We primarily use it for threading and socket i/o. This is actually three packages, apr, apr-util and apr-iconv.
|A set of C functions which provide a portable and consistent interface into operating system - or simply widely useful - functionality. We primarily use it for threading and socket i/o. This is actually three packages, apr, apr-util and apr-iconv.
|| No, Apache 2.0 license


<!-- Boost -->
<!-- Boost -->
Line 13: Line 14:
![http://www.boost.org/ Boost] || 1.32.0
![http://www.boost.org/ Boost] || 1.32.0
|A set of portable C++ libraries which provide a wide set of functionality. Used primarily for tokenization.
|A set of portable C++ libraries which provide a wide set of functionality. Used primarily for tokenization.
|| Yes, BSDish


<!-- c-ares-->
<!-- c-ares-->
Line 18: Line 20:
![http://daniel.haxx.se/projects/c-ares/ c-ares] || 1.3.2
![http://daniel.haxx.se/projects/c-ares/ c-ares] || 1.3.2
|Performs DNS requests and name resolves asynchronously. Used with libcurl to keep all HTTP operations async.
|Performs DNS requests and name resolves asynchronously. Used with libcurl to keep all HTTP operations async.
|| Yes, BSDish


<!-- cg -->
<!-- cg -->
Line 23: Line 26:
![http://developer.nvidia.com/page/cg_main.html CG] || ??
![http://developer.nvidia.com/page/cg_main.html CG] || ??
|cg controls some visual effects. - NOT USED BY THE NORMAL CLIENT.
|cg controls some visual effects. - NOT USED BY THE NORMAL CLIENT.
|| No, permissive license but forbids reverse engineering.


<!-- ELFIO -->
<!-- ELFIO -->
Line 28: Line 32:
![http://sourceforge.net/projects/elfio/ ELFIO] || 1.0.3
![http://sourceforge.net/projects/elfio/ ELFIO] || 1.0.3
|Enhanced stacktrace information on the Linux client.
|Enhanced stacktrace information on the Linux client.
|| Yes, LGPL


<!-- Expat -->
<!-- Expat -->
Line 33: Line 38:
![http://expat.sourceforge.net/ Expat] || 1.95.8
![http://expat.sourceforge.net/ Expat] || 1.95.8
|XML parser.
|XML parser.
|| Yes, MIT


<!-- FMOD -->
<!-- FMOD -->
Line 38: Line 44:
![http://www.fmod.org FMOD] ||  3.75
![http://www.fmod.org FMOD] ||  3.75
|Audio engine and mp3 stream decoder
|Audio engine and mp3 stream decoder
|| No, proprietary


<!-- FreeType -->
<!-- FreeType -->
Line 43: Line 50:
![http://www.freetype.org/ FreeType] || 2.1.5
![http://www.freetype.org/ FreeType] || 2.1.5
|Font engine.
|Font engine.
|| Yes, dual licensed BSD/Advertising + GPL


<!-- Glib -->
<!-- Glib -->
Line 48: Line 56:
![http://www.gtk.org/ Glib] || 2.0.7
![http://www.gtk.org/ Glib] || 2.0.7
|??
|??
|| Yes, LGPL


<!-- GTK+ -->
<!-- GTK+ -->
Line 53: Line 62:
![http://www.gtk.org/ GTK+] || 2.0.9
![http://www.gtk.org/ GTK+] || 2.0.9
|'Native' UI components on the Linux client.
|'Native' UI components on the Linux client.
|| Yes, LGPL


<!-- jpeglib -->
<!-- jpeglib -->
Line 58: Line 68:
![http://www.ijg.org/ jpeglib] || 6b
![http://www.ijg.org/ jpeglib] || 6b
|JPEG decoder library.
|JPEG decoder library.
|| Yes, BSD


<!-- KDU -->
<!-- KDU -->
Line 63: Line 74:
![http://www.kakadusoftware.com/ KDU] || 5.2.1
![http://www.kakadusoftware.com/ KDU] || 5.2.1
|Kakadu (KDU) JPEG-2000 decoder library.
|Kakadu (KDU) JPEG-2000 decoder library.
|| No, Proprietary


<!-- libcurl-->
<!-- libcurl-->
Line 68: Line 80:
![http://curl.haxx.se/libcurl/ libcurl] || 7.16.0
![http://curl.haxx.se/libcurl/ libcurl] || 7.16.0
|Handles moving data across the net in many different protocols. Used to GET/POST/PUT/DELETE web resources.
|Handles moving data across the net in many different protocols. Used to GET/POST/PUT/DELETE web resources.
|| Yes, MIT


<!-- libuuid -->
<!-- libuuid -->
Line 73: Line 86:
!libuuid ||  ??
!libuuid ||  ??
|Generates UUIDs under Linux. Originally a part of the ext2fs filesystem. Also see lluuid.cpp for all platforms.
|Generates UUIDs under Linux. Originally a part of the ext2fs filesystem. Also see lluuid.cpp for all platforms.
|| Yes, LGPL


<!-- llMozLib -->
<!-- llMozLib -->
Line 78: Line 92:
![http://ubrowser.com/llmozlib.php llMozLib] || 1.8.0.9
![http://ubrowser.com/llmozlib.php llMozLib] || 1.8.0.9
|llMozLib handles rendering HTML in the viewer via an embedded Gecko ([http://www.mozilla.org/developer/ Mozilla]) engine.
|llMozLib handles rendering HTML in the viewer via an embedded Gecko ([http://www.mozilla.org/developer/ Mozilla]) engine.
|| Yes, MPL/GPL/LGPL Tri-license


<!-- MESA -->
<!-- MESA -->
Line 83: Line 98:
![http://www.mesa3d.org/ Mesa] ||  6.2.1
![http://www.mesa3d.org/ Mesa] ||  6.2.1
|Provides the required OpenGL headers under Linux.
|Provides the required OpenGL headers under Linux.
|| Yes


<!-- Ogg -->
<!-- Ogg -->
Line 88: Line 104:
![http://xiph.org/ogg/ OGG] || 1.0.3
![http://xiph.org/ogg/ OGG] || 1.0.3
|Audio control.
|Audio control.
|| Yes, BSDish


<!-- OpenGL -->
<!-- OpenGL -->
Line 93: Line 110:
![http://www.opengl.org/ OpenGL] || ??
![http://www.opengl.org/ OpenGL] || ??
| 3D Graphics rendering engine.
| 3D Graphics rendering engine.
|| ??


<!-- OpenJPEG -->
<!-- OpenJPEG -->
Line 98: Line 116:
![http://www.openjpeg.org/ OpenJPEG] || 1.0
![http://www.openjpeg.org/ OpenJPEG] || 1.0
|An open-source JPEG-2000 library; a slower alternative to Kadaku. Used in the open source release
|An open-source JPEG-2000 library; a slower alternative to Kadaku. Used in the open source release
|| Yes, however one must beware of patents.


<!-- openssl -->
<!-- openssl -->
Line 103: Line 122:
![http://www.openssl.org/ OpenSSL] || 0.9.7c
![http://www.openssl.org/ OpenSSL] || 0.9.7c
|Provides encryption for sensitive actions such as user login
|Provides encryption for sensitive actions such as user login
|| No, advertising clauses.


<!-- quicktime -->
<!-- quicktime -->
Line 108: Line 128:
![http://developer.apple.com/quicktime/ Quicktime] || 7.13
![http://developer.apple.com/quicktime/ Quicktime] || 7.13
|Used to play in-world video clips on a prim.
|Used to play in-world video clips on a prim.
|| No, Proprietary


<!-- SDL -->
<!-- SDL -->
Line 113: Line 134:
![http://www.libsdl.org/index.php SDL] || 1.2.7
![http://www.libsdl.org/index.php SDL] || 1.2.7
|The Simple DirectMedia Layer libraries are used for handling input and basic window/GL setup on the Linux client.
|The Simple DirectMedia Layer libraries are used for handling input and basic window/GL setup on the Linux client.
|| Yes


<!-- Smartheap -->
<!-- Smartheap -->
Line 118: Line 140:
![http://www.microquill.com/smartheap/index.html Smartheap] || ??
![http://www.microquill.com/smartheap/index.html Smartheap] || ??
|Memory allocation.
|Memory allocation.
|| No, Proprietary


<!-- Speedtree -->
<!-- Speedtree -->
Line 123: Line 146:
![http://www.speedtree.com/ Speedtree] ||  ??
![http://www.speedtree.com/ Speedtree] ||  ??
|Controls rendering of trees that are not yet implemented.
|Controls rendering of trees that are not yet implemented.
|| No, Proprietary


<!-- TUT -->
<!-- TUT -->
Line 128: Line 152:
![http://tut-framework.sourceforge.net/ TUT] || 2006-06-22
![http://tut-framework.sourceforge.net/ TUT] || 2006-06-22
|Unit test framework based on the use of c++ meta template programming. Used to test LL libraries.
|Unit test framework based on the use of c++ meta template programming. Used to test LL libraries.
|| Yes, BSD


<!-- Vorbis -->
<!-- Vorbis -->
Line 133: Line 158:
![http://xiph.org/vorbis/ Vorbis] || 1.1.2
![http://xiph.org/vorbis/ Vorbis] || 1.1.2
|Audio control.
|Audio control.
|| Yes


<!-- xmlrpc-epi -->
<!-- xmlrpc-epi -->
Line 138: Line 164:
![http://xmlrpc-epi.sourceforge.net/ xmlrpc-epi] || 0.51
![http://xmlrpc-epi.sourceforge.net/ xmlrpc-epi] || 0.51
|Controls the XML-RPC protocol.
|Controls the XML-RPC protocol.
|| Yes, BSD


<!-- zlib -->
<!-- zlib -->
Line 143: Line 170:
![http://www.zlib.net/ zlib] || 1.2.1
![http://www.zlib.net/ zlib] || 1.2.1
|zlib is a lossless data-compression library which is used for a variety of network i/o and file compression.
|zlib is a lossless data-compression library which is used for a variety of network i/o and file compression.
 
|| Yes, MIT-like
}
|}

Revision as of 13:45, 16 March 2007

Library Version Description GPL-Compatible?
Apache Portable Runtime 1.1.2 A set of C functions which provide a portable and consistent interface into operating system - or simply widely useful - functionality. We primarily use it for threading and socket i/o. This is actually three packages, apr, apr-util and apr-iconv. No, Apache 2.0 license
Boost 1.32.0 A set of portable C++ libraries which provide a wide set of functionality. Used primarily for tokenization. Yes, BSDish
c-ares 1.3.2 Performs DNS requests and name resolves asynchronously. Used with libcurl to keep all HTTP operations async. Yes, BSDish
CG ?? cg controls some visual effects. - NOT USED BY THE NORMAL CLIENT. No, permissive license but forbids reverse engineering.
ELFIO 1.0.3 Enhanced stacktrace information on the Linux client. Yes, LGPL
Expat 1.95.8 XML parser. Yes, MIT
FMOD 3.75 Audio engine and mp3 stream decoder No, proprietary
FreeType 2.1.5 Font engine. Yes, dual licensed BSD/Advertising + GPL
Glib 2.0.7 ?? Yes, LGPL
GTK+ 2.0.9 'Native' UI components on the Linux client. Yes, LGPL
jpeglib 6b JPEG decoder library. Yes, BSD
KDU 5.2.1 Kakadu (KDU) JPEG-2000 decoder library. No, Proprietary
libcurl 7.16.0 Handles moving data across the net in many different protocols. Used to GET/POST/PUT/DELETE web resources. Yes, MIT
libuuid ?? Generates UUIDs under Linux. Originally a part of the ext2fs filesystem. Also see lluuid.cpp for all platforms. Yes, LGPL
llMozLib 1.8.0.9 llMozLib handles rendering HTML in the viewer via an embedded Gecko (Mozilla) engine. Yes, MPL/GPL/LGPL Tri-license
Mesa 6.2.1 Provides the required OpenGL headers under Linux. Yes
OGG 1.0.3 Audio control. Yes, BSDish
OpenGL ?? 3D Graphics rendering engine. ??
OpenJPEG 1.0 An open-source JPEG-2000 library; a slower alternative to Kadaku. Used in the open source release Yes, however one must beware of patents.
OpenSSL 0.9.7c Provides encryption for sensitive actions such as user login No, advertising clauses.
Quicktime 7.13 Used to play in-world video clips on a prim. No, Proprietary
SDL 1.2.7 The Simple DirectMedia Layer libraries are used for handling input and basic window/GL setup on the Linux client. Yes
Smartheap ?? Memory allocation. No, Proprietary
Speedtree ?? Controls rendering of trees that are not yet implemented. No, Proprietary
TUT 2006-06-22 Unit test framework based on the use of c++ meta template programming. Used to test LL libraries. Yes, BSD
Vorbis 1.1.2 Audio control. Yes
xmlrpc-epi 0.51 Controls the XML-RPC protocol. Yes, BSD
zlib 1.2.1 zlib is a lossless data-compression library which is used for a variety of network i/o and file compression. Yes, MIT-like