Difference between revisions of "Drift Standard Libraries"

From Drift Solutions Software & Development
Jump to navigation Jump to search
Line 1: Line 1:
 
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.
 
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 {{License:BSD3}} license but does include some 3rd party code (some optional) under various licenses as described below: (all core/included files use commercial-compatible licenses)
+
DSL itself is licensed  under a {{License:BSD3}} license but does include some 3rd party code under various licenses as described below: (all core/included files use commercial-compatible licenses)
  
 
{| class="wikitable"
 
{| class="wikitable"
!colspan=4|<big>'''Licensing'''</big>
+
!colspan=3|<big>'''Included 3rd Party Code Licensing'''</big>
 
|-
 
|-
 
!Part
 
!Part
 
!Function
 
!Function
 
!License
 
!License
!Define to Enable
 
 
|-
 
|-
 
| base64 || Base64 encoding/decoding || {{License:BSD3}}
 
| base64 || Base64 encoding/decoding || {{License:BSD3}}
Line 21: Line 20:
 
| SHA-1 || SHA-1 Hash function || {{License:BSD3}}
 
| SHA-1 || SHA-1 Hash function || {{License:BSD3}}
 
|-
 
|-
| SHA-2 || SHA-1 Hash functions || {{License:BSD3}}
+
| SHA-2 || SHA-2 Hash functions || {{License:BSD3}}
 +
|-
 +
| SHA-3 || SHA-3/Keccak Hash functions || Public Domain
 +
|-
 +
| [https://icculus.org/physfs/ PhysicsFS] || Byte swapping & UTF-8 validation || {{License:zlib}}
 +
|}
 +
 
 +
And with compile-time definitions can use optional 3rd party libraries for enhanced functionality or just providing easy to use wrappers around them:
 +
 
 +
{| class="wikitable"
 +
!colspan=4|<big>'''Optional 3rd Party Library Licensing'''</big>
 +
|-
 +
!Part
 +
!Function
 +
!License
 +
!Define to Enable
 +
|-
 +
| OpenSSL || TLS support for sockets class, additional hash/hmac functions || [https://www.openssl.org/source/license.html Version Dependent] || ENABLE_OPENSSL
 +
|-
 +
| 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
 +
|-
 +
| strlcpy/strlcat || Safer string copying/concatenation functions || {{License:ISC}}
 +
|-
 +
| SHA-1 || SHA-1 Hash function || {{License:BSD3}}
 +
|-
 +
| SHA-2 || SHA-2 Hash functions || {{License:BSD3}}
 
|-
 
|-
 
| SHA-3 || SHA-3/Keccak Hash functions || Public Domain
 
| SHA-3 || SHA-3/Keccak Hash functions || Public Domain

Revision as of 17:26, 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
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
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