The GNU uCommon C++ secure library component (and the core GNU uCommon C++
library) is licensed under the GNU Lesser General Public License 3.0 or later.
It is generally believed that openssl can be linked with GNU L-GPL licensed
software, and with GNU GPL licensed software as well, when appearing as a
"default system library" on a target platform.  However, we generally recommend
using the GNU tls (gnutls) library build of the GNU uCommon C++ secure library
component rather than openssl unless gnutls is not available for your target
platform of choice.

We strive to maintain feature parity between the gnutls and openssl crypto
implementations.  We may also add nss as a secure backend in the future.
Programming to the GNU uCommon C++ secure api is intended to avoid the need
entirely of using openssl, gnutls, or other library specific functions.  This
means the total size of the secure library will grow as we add additional
common features, such as pki support. In the past as there has been no
generally agreed upon crypto library, so developers building new apps would use
a library they already know, or that is best optimized for the platform they
are using.  Our goal is to remove this complexity of supporting different
crypto libraries by offering a single API for secure application development.

