Difference between revisions of "Third Party Libraries"
m |
(Major update and clean up --updated all links, purged unused libraries.) |
||
Line 6: | Line 6: | ||
Anywhere that the following disagrees with the autobuild.xml file in the viewer source, that file is correct. | Anywhere that the following disagrees with the autobuild.xml file in the viewer source, that file is correct. | ||
'''Creating a new third party package'' | |||
'''List of third party libraries''' | |||
{| border="1" cellpadding="3" | {| border="1" cellpadding="3" | ||
Line 21: | Line 20: | ||
|- | |- | ||
|apr_suite | |apr_suite | ||
|[https:// | |[https://github.com/secondlife/3p-apr_suite/ 3p-apr] | ||
|[https:// | |[https://github.com/secondlife/3p-apr_suite/blob/main/apr/LICENSE Apache License] | ||
|http://apr.apache.org/ | |http://apr.apache.org/ | ||
|"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." | ||
|- | |- | ||
|boost | |boost | ||
|[https:// | |[https://github.com/secondlife/3p-boost 3p-boost] | ||
|[https:// | |[https://github.com/boostorg/boost/blob/master/LICENSE_1_0.txt Boost License] | ||
|http://www.boost.org/ | |http://www.boost.org/ | ||
|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. | ||
|- | |- | ||
|curl | |curl | ||
|[https:// | |[https://github.com/secondlife/3p-curl 3p-curl] | ||
|''[https:// | |''[https://github.com/secondlife/3p-curl/blob/master/curl/COPYING BSD-style]''<sup>[[#BSDstyle|B]]</sup> | ||
| http://curl.haxx.se/libcurl/ | | http://curl.haxx.se/libcurl/ | ||
|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. | ||
|- | |- | ||
|expat | |expat | ||
|[https:// | |[https://github.com/secondlife/3p-expat 3p-expat] | ||
| | |[https://github.com/libexpat/libexpat/blob/master/COPYING MIT License] | ||
| | |https://github.com/libexpat/libexpat | ||
|XML parser. | |XML parser. | ||
|- | |- | ||
|freetype | |freetype | ||
|[https:// | |[https://github.com/secondlife/3p-freetype 3p-freetype] | ||
| | |[https://github.com/freetype/freetype/blob/master/LICENSE.TXT Freetype License and Others] | ||
|http://www.freetype.org/ | |http://www.freetype.org/ | ||
|Font engine. | |Font engine. | ||
|- | |- | ||
|glh_linear | |glh_linear | ||
|[https:// | |[https://github.com/secondlife/3p-glh_linear 3p-glh_linear] | ||
| | | | ||
| | | | ||
|nVidia NVParse SDK: platform-independent C++ Apple OpenGL helper library | |nVidia NVParse SDK: platform-independent C++ Apple OpenGL helper library | ||
|- | |- | ||
|gstreamer | |gstreamer | ||
Line 139: | Line 60: | ||
|http://gstreamer.freedesktop.org | |http://gstreamer.freedesktop.org | ||
| | | | ||
|- | |- | ||
|havok | |havok | ||
Line 157: | Line 72: | ||
|http://www.ijg.org/ | |http://www.ijg.org/ | ||
|JPEG decoder library. | |JPEG decoder library. | ||
|- | |- | ||
|kdu | |kdu | ||
Line 169: | Line 78: | ||
|http://www.kakadusoftware.com | |http://www.kakadusoftware.com | ||
|Kakadu (KDU) JPEG-2000 decoder library. | |Kakadu (KDU) JPEG-2000 decoder library. | ||
|- | |- | ||
|libpng | |libpng | ||
Line 182: | Line 85: | ||
|PNG image library. | |PNG image library. | ||
|- | |- | ||
| | |libxml2 | ||
|[https:// | |[https://github.com/secondlife/3p-libxml2 3p-libxml2] | ||
|[https://gitlab.gnome.org/GNOME/libxml2/-/blob/master/Copyright?ref_type=heads MIT License] | |||
|[https:// | |||
| | | | ||
| | | | ||
|- | |- | ||
|ndofdev | |ndofdev | ||
|[https:// | |[https://github.com/secondlife/3p-libndofdev 3p-libndofdev] | ||
| | |''[https://github.com/secondlife/3p-libndofdev/blob/master/libndofdev/COPYING BSD-style]''<sup>[[#BSDstyle|B]]</sup> | ||
| | | | ||
|Provides joystick driver support (mac and win) for the 3DConnexion SpaceNavigator. | |Provides joystick driver support (mac and win) for the 3DConnexion SpaceNavigator. | ||
|- | |- | ||
|ogg_vorbis | |ogg_vorbis | ||
|[https:// | |[https://github.com/secondlife/3p-ogg_vorbis 3p-ogvorbis] | ||
| | |''[https://github.com/xiph/ogg/blob/master/COPYING BSD-style]''<sup>[[#BSDstyle|B]]</sup> | ||
|http://xiph.org/ogg/ | |http://xiph.org/ogg/ | ||
|Audio | |Audio codec and playback. | ||
|- | |- | ||
|openal | |openal | ||
|[https:// | |[https://github.com/secondlife/3p-openal-soft 3p-openal-soft] | ||
| | |[https://github.com/secondlife/3p-openal-soft/blob/main/openal-soft/COPYING GPL] | ||
|http://connect.creativelabs.com/openal/default.aspx | |http://connect.creativelabs.com/openal/default.aspx | ||
| | |3D Spatial audio | ||
|- | |- | ||
|openjpeg | |openjpeg | ||
|[https:// | |[https://github.com/secondlife/3p-openjpeg 3p-openjpeg] | ||
| | |''[https://github.com/uclouvain/openjpeg/blob/master/LICENSE BSD-style]''<sup>[[#BSDstyle|B]]</sup> | ||
|http://www.openjpeg.org/ | |http://www.openjpeg.org/ | ||
|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 | ||
|- | |- | ||
|openssl | |openssl | ||
|[https:// | |[https://github.com/secondlife/3p-openssl 3p-openssl] | ||
| | |[https://github.com/openssl/openssl/blob/master/LICENSE.txt Apache License] | ||
|http://www.openssl.org/ | |http://www.openssl.org/ | ||
|Provides encryption for sensitive actions such as user login | |Provides encryption for sensitive actions such as user login | ||
|- | |- | ||
|sdl | |sdl | ||
|[https:// | |[https://github.com/secondlife/3p-sdl2 3p-sdl2] | ||
| | |[https://github.com/libsdl-org/SDL/blob/main/LICENSE.txt zlib License] | ||
|http://www.libsdl.org/index.php | |http://www.libsdl.org/index.php | ||
|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. | ||
Line 281: | Line 134: | ||
|- | |- | ||
|tut | |tut | ||
|[https:// | |[https://github.com/secondlife/3p-tut 3p-tut] | ||
| | |''[https://github.com/secondlife/3p-tut/blob/master/LICENSE.txt BSD-style]''<sup>[[#BSDstyle|B]]</sup> | ||
|http://tut-framework.sourceforge.net/ | |http://tut-framework.sourceforge.net/ | ||
|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. | ||
|- | |- | ||
|xmlrpc_epi | |xmlrpc_epi | ||
|[https:// | |[https://github.com/secondlife/3p-xmlrpc-epi 3p-xmlrpc-epi] | ||
| | |[https://github.com/secondlife/3p-xmlrpc-epi/blob/master/xmlrpc-epi/COPYING Epinions, Inc License] | ||
|http://xmlrpc-epi.sourceforge.net/ | |http://xmlrpc-epi.sourceforge.net/ | ||
| | |XML-RPC protocol utility | ||
|- | |- | ||
|zlib | |zlib-ng | ||
|[https:// | |[https://github.com/secondlife/3p-zlib-ng 3p-zlib-ng] | ||
| | |[https://github.com/zlib-ng/zlib-ng/blob/develop/LICENSE.md zlib License] | ||
|http://www.zlib.net/ | |http://www.zlib.net/ | ||
|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. | ||
|} | |} | ||
= Redistribution = | = Redistribution = | ||
Line 344: | Line 183: | ||
NOTE: These files must be replaced for an true opensource build | NOTE: These files must be replaced for an true opensource build | ||
=== Mozilla === | === Mozilla === |
Revision as of 10:25, 10 August 2024
The following table lists libraries and other third party dependencies used in constructing the Second Life Viewer.
Most of these (all the open source ones) should be available as prebuilds packaged by and for use with Autobuild.
Anywhere that the following disagrees with the autobuild.xml file in the viewer source, that file is correct.
'Creating a new third party package
List of third party libraries
Library | Repository | License | Upstream Home | Description |
---|---|---|---|---|
apr_suite | 3p-apr | Apache License | http://apr.apache.org/ | "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." |
boost | 3p-boost | Boost License | http://www.boost.org/ | A set of portable C++ libraries which provide a wide set of functionality. Used primarily for tokenization. |
curl | 3p-curl | BSD-styleB | http://curl.haxx.se/libcurl/ | Handles moving data across the net in many different protocols. Used to GET/POST/PUT/DELETE web resources. |
expat | 3p-expat | MIT License | https://github.com/libexpat/libexpat | XML parser. |
freetype | 3p-freetype | Freetype License and Others | http://www.freetype.org/ | Font engine. |
glh_linear | 3p-glh_linear | nVidia NVParse SDK: platform-independent C++ Apple OpenGL helper library | ||
gstreamer | 3p-gstreamer | Open | http://gstreamer.freedesktop.org | |
havok | Commercial | |||
jpeglib | 3p-jpeglib | Open | http://www.ijg.org/ | JPEG decoder library. |
kdu | 3p-kdu-privateLL | Commercial | http://www.kakadusoftware.com | Kakadu (KDU) JPEG-2000 decoder library. |
libpng | 3p-libpng | Open | http://www.libpng.org/pub/png/libpng.html | PNG image library. |
libxml2 | 3p-libxml2 | MIT License | ||
ndofdev | 3p-libndofdev | BSD-styleB | Provides joystick driver support (mac and win) for the 3DConnexion SpaceNavigator. | |
ogg_vorbis | 3p-ogvorbis | BSD-styleB | http://xiph.org/ogg/ | Audio codec and playback. |
openal | 3p-openal-soft | GPL | http://connect.creativelabs.com/openal/default.aspx | 3D Spatial audio |
openjpeg | 3p-openjpeg | BSD-styleB | http://www.openjpeg.org/ | An open-source JPEG-2000 library; a slower alternative to Kadaku. Used in the open source release |
openssl | 3p-openssl | Apache License | http://www.openssl.org/ | Provides encryption for sensitive actions such as user login |
sdl | 3p-sdl2 | zlib License | http://www.libsdl.org/index.php | The Simple DirectMedia Layer libraries are used for handling input and basic window/GL setup on the Linux client. |
slvoice | Commercial | This is the Vivox provided executable (renamed SLVoice) | ||
tut | 3p-tut | BSD-styleB | http://tut-framework.sourceforge.net/ | Unit test framework based on the use of c++ meta template programming. Used to test LL libraries. |
xmlrpc_epi | 3p-xmlrpc-epi | Epinions, Inc License | http://xmlrpc-epi.sourceforge.net/ | XML-RPC protocol utility |
zlib-ng | 3p-zlib-ng | zlib License | http://www.zlib.net/ | zlib is a lossless data-compression library which is used for a variety of network i/o and file compression. |
Redistribution
Some files in the SL installation can't be freely redistributed. This means it's not possible to simply package and offer for download a modified viewer: some files must not be redistributed.
This page documents the licenses and redistribution requirements of various files used by the viewer.
Windows
These are the files that need to be shipped with the Windows version
Runtime
Microsoft components. It's not yet known whether they're redistributable.
- dbghelp.dll: Redistributable
- msvcp71.dll: C++ Runtime Library, redistributable -viewer now using msvcp80.dll when compiled with VC2005
- msvcr71.dll: C Runtime Library, Redistributable -viewer now using msvcr80.dll when compiled with VC2005
FONTS
Meta font software files
From the Readme.txt
The Meta font software files contained in this folder are the copyrighted property of FSI FontShop International ("FSI") and are licensed by FSI solely for use by Linden Research, Inc. and by residents or users of Second Life in the Second Life environment, subject to the Second Life Terms of Service. These Meta font software files may not be copied by residents or developers of Second Life or used by them for any other purpose whatsoever.
- MtBkLfRg.ttf
- MtBdLfRg.ttf
NOTE: These files must be replaced for an true opensource build
Mozilla
The Gecko engine is MPL/GPL/LGPL licensed, which makes it redistributable.
- app_settings/mozilla
- freebl3.dll
- gksvggdiplus.dll
- js3250.dll
- nspr4.dll
- nss3.dll
- nssckbi.dll
- plc4.dll,
- plds4.dll
- smime3.dll
- softokn3.dll
- ssl3.dll
- xpcom.dll
- xul.dll
Kakadu
JPEG2000 library. Not redistributable. OpenJPEG is an alternative library that is redistributable
- llkdu.dll
Starting with Viewer 2.5, llkdu.dll has been phased out. The libkdu.a and kdu.lib are still not redistributable but can be built from the toolkit provided by Kakadu under a license. How to build a viewer with such a library is documented in KDU Implementation.
OpenSSL
SSL library. Redistributable.
- libeay32.dll
- ssleay32.dll
Vivox
Vivox is the component that provides the voice functionality.
- SLVoice.exe: Voice daemon. Not redistributable
- SLVoiceAgent: Exact purpose unknown. Not redistributable
- alut.dll: OpenAL, by Creative Labs. Redistributable.
- ortp.dll: oRTP project, LGPL. Redistributable.
- srtp.dll: Secure RTP?
- vivoxsdk.dll: Vivox Communications API. Not redistributable
- wrap_oal.dll: OpenAL32 by Creative Labs. Redistributable.
Unknown Libraries
The purpose and licensing of these files is not known:
- tntk.dll: Probably Vivox related -see Voice/Technical for other info on ViVox files