I've decided to license some code I have yet to release under the GPL v3. However, OpenSSL is used quite a bit in the software and I know that the two licenses are explicitly cited as being incompatible.
I wanted to stay with my decision to go GPL but without having to refactor years of work to use something like GNU TLS instead. Doing some searching, I've found that people have combined openSSL into GPL works while adding an "openSSL exception". Deluge is one such example. Excerpt from the Deluge License:
Deluge is licensed under the GNU General Public License version 3 with the addition of the following special exception:
In addition, as a special exception, the copyright holders give permission to link the code of portions of this program with the OpenSSL library. You must obey the GNU General Public License in all respects for all of the code used other than OpenSSL. If you modify file(s) with this exception, you may extend this exception to your version of the file(s), but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. If you delete this exception statement from all source files in the program, then also delete it here.
What are are the ramifications of this exception? Does it actually "work"? If the two licenses are deemed incompatible, can such an exception really make them compatible?
More references to this practice:
(May be used for SSL/TLS support) Uses an Original BSD-style license with an announcement clause that makes it "incompatible" with GPL. You are not allowed to ship binaries that link with OpenSSL that includes GPL code (unless that specific GPL code includes an exception for OpenSSL - a habit that is growing more and more common). If OpenSSL's licensing is a problem for you, consider using another TLS library.
From the Fedora Project FAQ:
These two clauses are restrictions that aren't present in the GPL and therefore are incompatible with the portion of the GPL that says "You may not impose any further restrictions on the recipients' exercise of the rights granted herein."
However, we consider that the OpenSSL library is a system library, as defined by the GPL, on Fedora and therefore we are allowed to ship GPL software that links to the OpenSSL library. Treatment of OpenSSL as a system library does not extend to other operating systems or even some other Linux distributions, however, so upstreams that do this should definitely be encouraged to add an exception to their GPL licensed code that allows linking to OpenSSL. The Free Software Foundation has a FAQ entry on how to write such an exception.