SWI-Prolog licensing aims at a large audience, combining ideas from the Free Software Foundation and the less principal Open Source Initiative. The license aims at:
To achieve this, different parts of the system have different licenses. SWI-Prolog programs consists of a mixture of `native' code (source compiled to machine instructions) and `virtual machine' code (Prolog source compiled to SWI-Prolog virtual machine instructions, covering both compiled SWI-Prolog libraries and your compiled application).
For maximal coherence between free licenses, we start with the two prime licenses from the Free Software Foundation, the GNU General Public License (GPL) and the Lesser GNU General Public License (LGPL), after which we add a proven (used by the GNU-C compiler runtime library as well as the GNU ClassPath project) exception to deal with the specific nature of compiled virtual machine code in a saved state.