Subject: Re: Licensing SWI-Prolog

From: Jan Wielemaker <[email-masked]>
Date: Sun, 13 Feb 2000 14:17:32 +0100

> I am confused about current licensing status of
> the swi-prolog. 
> 
> Some readme says it may be distributed freely  
> for non-commercial use only and referring to
> pl\LICENCE, but I see no such file anywhere. 
> However, GPL2 licence is included with it,
> which of course contradicts the non-comm
> only request, but requires open source of
> the derivative work instead. Also, having
> GPL2 contradicts having separate commercial 
> licence too.
> 
> Which licensing models are currently valid?

The README is wrong (and there are probably several
other places with references to the old licensing
model).  SWI-Prolog is now GPL2.

> Could you consider the LGPL licence instead of
> GPL2? 

No.  For people who want to use SWI-Prolog with
proprietary software there is a separate license
available.  This ensures widespread use in the
free-software world, while it provides us with some
money from commercial institutions that wish to
write proprietary software.

This has been debated with Richard Stallman and the
University department I'm working in.  Sofar everyone
is happy with this model.

> Please note, that embedding prolog engine
> in C/C++ application using early binding 
> is a derivative work in the sense of GPL2 while
> embedding the same engine as a shared or dynamic
> library is not. With LGPL, that difference makes
> no problem and does not conflict with separate
> commercial licences too. 

You are wrong here.  This is exactly the reason why
SWI-Prolog is now GPL: it can now use GPL'ed libraries
without conflicts.  This discussion with GNU people
was started because they felt the use of the GPL'ed
readline library by SWI-Prolog was a violation of
their rights.

For a simpleminded argument: you are using SWI-Prolog.h,
which is GPL'ed.

As we have the copyright to the entire system, we can
offer a separate commercial license, though it is not
allowed to use any GPL'ed libraries with this version,
so you can't use the readline library (Unix version
only, plwin.exe uses the SWI-Prolog console dll for
input editing which is placed in the public domain).

	Regards --- Jan