On Wed, 2015-11-04 at 18:39 +0100, Christian Grothoff wrote: > Ok, sounds to me like we certainly have a critical mass of volunteers > to > review the patch, give feedback and help clean it up. So Olaf, now > it's > just up to you to provide a convincing patch. Note that the goal > should > be to make the result clean/neat, not the patch itself minimal. So if > you want/need to move existing gnutls stuff around a bit to make the > result nicer, that's totally fine. Oh, and please do include > additional > testcases, especially if you add OpenSSL-specific options. > > Oh, and even if this patch happens and is acceptable, GnuTLS will > remain > the default choice and what we will continue strongly recommend > distributions to use, if possible (i.e. if GnuTLS is available for > the > platform).
I think it may be helpful to add an exception to the LGPLv2.1+ license of microhttpd if this becomes a standard part of microhttpd. While the LGPL is compatible with the OpenSSL licenses the GPL is not. As per section 3 of the LGPLv2.1+ it is allowed to change the license of a LGPL package to the GPL. Without the exception for OpenSSL more care needs to be taken by a user that does that, and they may inadvertently create a non-distributeable program. It may also be that a GPL program linked against an LGPL library needs to 'relicense' the LGPL library to the GPL 'automatically' At least that is what this footnote seems to suggest: https://www.gnu.org/licens es/gpl-faq.html#compat-matrix-footnote-7 If that interpretation is correct than without the OpenSSL exception a GPL program can't link to an microhttpd linked against OpenSSL at all because the to-GPL- converted microhttpd won't have the OpenSSL exception in it, even if the GPL program that links to microhttpd does. I hope this rambling makes some sense :P - Hein-Pieter van Braam For your convenience I've added the relevant section of the LGPL2.1: 3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. This option is useful when you wish to copy part of the code of the Library into a program that is not a library.
