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, gcrypt, 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.