I've done a little programming with GNUTLS and one things is for sure, the interface is much nicer. It was created at a time when TLS was much more standard, and certain features went it from the beginning. Like BIOs in OpenSSL are in the from the beginning. Non-blocking is supported throughout.