Difference between revisions of "Third Party Libraries"

From Second Life Wiki
Jump to navigation Jump to search
m (→‎Runtime: added notes about .dll info as observed in current LL viewer releases)
m (→‎Unknown Libraries: crosslink to other wiki page for more info)
Line 277: Line 277:
The purpose and licensing of these files is not known:
The purpose and licensing of these files is not known:


* tntk.dll: Probably Vivox related
* tntk.dll: Probably Vivox related -see [https://wiki.secondlife.com/wiki/Voice/Technical Voice/Technical] for other info on ViVox files


[[Category:Compiling viewer]]
[[Category:Compiling viewer]]

Revision as of 16:23, 13 March 2009

Library Version Description GPL-Compatible? Covered under FLOSS exception?
Apache Portable Runtime 1.2.8 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 Yes
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.4.0 for viewer 1.18.4-,
1.3.2 for viewer -1.18.3
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. No
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 No
FreeType 2.1.5 Font engine. Yes, dual licensed BSD/Advertising + GPL
Glib 2.0.7 ?? Yes, LGPL


gstreamer ? Required in recent viewer versions. Yes, LGPL
gstreamer base plugins ? an essential exemplary set of gstreamer elements. Required in recent viewer versions. 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
libpng 1.2.18 PNG image library. BSD-like
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 GLX 3D Graphics rendering engine. In Mesa < 7.0 No -- SGI FreeB, in Mesa >= 7.0, yes, Khronos relicensed under MIT license.
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. Yes
Quicktime 7.13 Used to play in-world video clips on a prim. See Movie_System No, Proprietary No
SDL 1.2.12 The Simple DirectMedia Layer libraries are used for handling input and basic window/GL setup on the Linux client. Yes
Smartheap ?? Memory allocation (Windows only malloc() replacement) No, Proprietary, but entirely optional (easy to comment out) No
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

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 know 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

FMOD

FMOD sound library. Free for non-commercial projects. A commercial license will be needed for a commercial viewer.

From the README in the package:

The fmod.dll file may be redistributed without the authors prior permission, 
and must remain unmodified.  The use of dll 'static linking' tools that aim
to hide the fmod library are forbidden.

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

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