What’s the difference between wolfSSL and OpenSSL

We’re often asked what differentiates wolfSSL and OpenSSL.  Here’s our list: 
 
a. wolfSSL builds are 20-40 times smaller than OpenSSL.  Hence it is much more useful in embedded ssl implementations.
b. Standards support:  wolfSSL supports TLS 1.1 and 1.2.  OpenSSL does not support TLS 1.1 or 1.2.
c. wolfSSL was built with securing streaming media in mind.  OpenSSL was built before streaming media was popular on the internet. As such, wolfSSL supports the latest streaming ciphers like Rabbit and HC-128 where OpenSSL does not.
d. License:  wolfSSL is GPLv2 or commercial, with a company behind the commercial license.  OpenSSL does not have a clear license. 
e. We have tried to apply Occam’s razor as the guiding philosophy to our implementation of SSL.  As such, our API focuses on the most critical and necessary functionality in order to simplify the problem.  wolfSSL has 20 or so function calls,  and an additional 230 for our OpenSSL compatibility layer.  OpenSSL has over 3,500.
f. Really old code versus relatively new code:  wolfSSL was written starting in 2004.  OpenSSL started in 1995.  Coding standards and requirements are a lot different now.  OpenSSL has a longer legacy to support and maintain.
g. The OpenSSL legacy code comes from supporting usage profiles and operating systems that are no longer mainstream.  The legacy code makes OpenSSL a easier to break and harder to fix. 
h. OpenSSL was written as the SSL/TLS standards were being defined.  Their code went down a number of blind alleys.  We had the luxury of writing our code once the standards were well settled.
 
Please contact us at info@yassl.com if you have comments!  We’ll be happy to re-factor this list with your input!