Drift Standard Libraries: Difference between revisions

From Drift Solutions Software & Development
Jump to navigation Jump to search
No edit summary
No edit summary
 
Line 13: Line 13:
!License
!License
|-
|-
| base64 || Base64 encoding/decoding || {{License:BSD3}}
| base64 || Base64 encoding/decoding || {{License:MIT}}
|-
|-
| getopt || Version of getopt() for Windows || {{License:MIT}}
| getopt || Version of getopt() for Windows || {{License:MIT}}

Latest revision as of 20:21, 27 May 2025

The Drift Standard Libraries (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)

Download: GitHub
Documentation: https://dsldocs.driftsolutions.dev/

Included 3rd Party Code Licensing
Part Function License
base64 Base64 encoding/decoding MIT
getopt Version of getopt() for Windows MIT
PhysicsFS Byte swapping & UTF-8 validation zlib
strlcpy/strlcat Safer string copying/concatenation functions ISC
MD5 MD5 Hash function Public Domain
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

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