Difference between revisions of "Drift Standard Libraries"

From Drift Solutions Software & Development
Jump to navigation Jump to search
Line 38: Line 38:
 
|-
 
|-
 
| OpenSSL || TLS support for sockets class, additional hash/hmac functions || [https://www.openssl.org/source/license.html Version Dependent] || ENABLE_OPENSSL
 
| OpenSSL || TLS support for sockets class, additional hash/hmac functions || [https://www.openssl.org/source/license.html Version Dependent] || ENABLE_OPENSSL
 +
|-
 +
| GnuTLS || TLS support for sockets class, additional hash/hmac functions || {{License:LGPL21}}+ || ENABLE_GNUTLS
 
|-
 
|-
 
| zlib || Compressed data streams in sockets || {{License:zlib}} || ENABLE_ZLIB
 
| zlib || Compressed data streams in sockets || {{License:zlib}} || ENABLE_ZLIB
 
|-
 
|-
 
| libcurl || HTTP/HTTPS/FTP/etc. File downloads || https://curl.haxx.se/docs/copyright.html || ENABLE_CURL
 
| libcurl || HTTP/HTTPS/FTP/etc. File downloads || https://curl.haxx.se/docs/copyright.html || ENABLE_CURL
 +
|-
 +
| libsodium || BLAKE2b hashing, public key signing and encryption || {{License:ISC}} || ENABLE_SODIUM
 
|-
 
|-
 
| [https://icculus.org/physfs/ PhysicsFS] || Enables support in our RWops system for PhyicsFS files. || {{License:zlib}} || ENABLE_PHYSFS
 
| [https://icculus.org/physfs/ PhysicsFS] || Enables support in our RWops system for PhyicsFS files. || {{License:zlib}} || ENABLE_PHYSFS
 
|-
 
|-
| GnuTLS || TLS support for sockets class, additional hash/hmac functions || {{License:LGPL21}}+ || ENABLE_GNUTLS
+
| SQLite || File-based SQL database || Public Domain || ENABLE_SQLITE
|-
 
| libsodium || BLAKE2b hashing, public key signing and encryption || {{License:ISC}} || ENABLE_SODIUM
 
 
|-
 
|-
| SQLite || File-based SQL database || Public Domain || ENABLE_SQLITE
+
| libmariadbclient || SQL database client || {{License:LGPL21}} || ENABLE_MYSQL
 
|-
 
|-
| libmysqlclient/libmariadbclient || File-based SQL database || {{License:GPLv2}} + [https://oss.oracle.com/licenses/universal-foss-exception/ Universal FOSS Exception] || ENABLE_MYSQL
+
| libmysqlclient || SQL database client || {{License:GPLv2}} + [https://oss.oracle.com/licenses/universal-foss-exception/ Universal FOSS Exception] || ENABLE_MYSQL
 
|}
 
|}

Revision as of 17:56, 28 February 2020

The Drift Standard Libraries (aka DSL) are a collection of files that are useful in writing cross-platform code and save countless amounts of time in rewriting things for each of your projects.

DSL itself is licensed under a BSD 3-Clause license but does include some 3rd party code under various licenses as described below: (all core/included files use commercial-compatible licenses)

Included 3rd Party Code Licensing
Part Function License
base64 Base64 encoding/decoding BSD 3-Clause
getopt Version of getopt() for Windows MIT
MD5 MD5 Hash function Public Domain
strlcpy/strlcat Safer string copying/concatenation functions ISC
SHA-1 SHA-1 Hash function BSD 3-Clause
SHA-2 SHA-2 Hash functions BSD 3-Clause
SHA-3 SHA-3/Keccak Hash functions Public Domain
PhysicsFS Byte swapping & UTF-8 validation zlib

And with compile-time definitions can use optional 3rd party libraries for enhanced functionality or just providing easy to use wrappers around them:

Optional 3rd Party Library Licensing
Part Function License Define to Enable
OpenSSL TLS support for sockets class, additional hash/hmac functions Version Dependent ENABLE_OPENSSL
GnuTLS TLS support for sockets class, additional hash/hmac functions LGPL+ ENABLE_GNUTLS
zlib Compressed data streams in sockets zlib ENABLE_ZLIB
libcurl HTTP/HTTPS/FTP/etc. File downloads https://curl.haxx.se/docs/copyright.html ENABLE_CURL
libsodium BLAKE2b hashing, public key signing and encryption ISC ENABLE_SODIUM
PhysicsFS Enables support in our RWops system for PhyicsFS files. zlib ENABLE_PHYSFS
SQLite File-based SQL database Public Domain ENABLE_SQLITE
libmariadbclient SQL database client LGPL ENABLE_MYSQL
libmysqlclient SQL database client GPLv2 + Universal FOSS Exception ENABLE_MYSQL