Replacement for GMP: Update

Peter Tanski p.tanski at gmail.com
Thu Aug 10 11:16:39 EDT 2006


Einar,

>> Summary: I finally settled on modifying OpenSSL, since that would be
>> the easiest to work with under GHC's hood (plain C code, not C++).  I
>> have to:
>
> Does this cause license problems?
>
> I think OpenSSL license had the advertising clause which means
> problems if Haskell programs want to link against GPLed
> libraries too.

The relevant portion of the OpenSSL license (reproduced in all source  
code and documentation) is:

  * The licence and distribution terms for any publically available  
version or
  * derivative of this code cannot be changed.  i.e. this code cannot  
simply be
  * copied and put under another distribution licence
  * [including the GNU Public Licence.]

(NOTE: this section is actually from the original SSLeay (1995-1998)  
license, but applies because OpenSSL is distributed under a dual  
license.)

Otherwise the OpenSSL license is a BSD-style license that gives the  
authors credit (BSD2 and BSD3 do not require names in all the source  
code and documentation, only the distribution).

The copying restriction means that I cannot simply take the BN  
library out of the OpenSSL distribution and put that code under the  
GHC license; it does not mean that I cannot distribute the OpenSSL  
code (still under the OpenSSL license) along with GHC code.

For developers (commercial or open source), the OpenSSL license only  
mentions redistribution of the OpenSSL code in binary form (paragraph  
2).  In this context "binary form" means the complete program binary,  
not partial binary as with statically linking to a library, so  
developers of GHC programs would *not* have to include the whole  
OpenSSL&SSLeay license in their source code.

Paragraph 6 of the OpenSSL (1998-2005) license states that:

  * 6. Redistributions of any form whatsoever must retain the following
*    acknowledgment:
*    "This product includes software developed by the OpenSSL Project
*    for use in the OpenSSL Toolkit (http://www.openssl.org/)".

All developers would have to do is include the acknowledgment stated  
above.

On the other hand, the OpenSSL FAQ at <http://www.openssl.org/support/ 
faq.html#LEGAL2> mentions that some "GPL" programs do not allow  
binary combination (static linking) or interoperation (dynamic  
linking) with OpenSSL.  Honestly I have not seen any "GPL" licenses  
like this.  The GNU GPL version 2, at <http://www.gnu.org/licenses/ 
gpl.html>, does not mention OpenSSL, nor does version 1, nor does the  
GNU LGPL, at <http://www.gnu.org/licenses/lgpl.html>.  In any case, I  
think it would be more of a restriction to someone *using* the  
OpenSSL program, not a developer.

Best regards,
Peter

P.S. On a related note, OpenSSL's BN library does not contain any  
patented algorithms.




More information about the Glasgow-haskell-users mailing list