stdliband their subdirectories in the source distribution) are distributed under the terms of the GNU Library General Public License.
A ``special exception'' to the LGPL allows linking a program with a publicly distributed version of the run-time system and the libraries, and distribute that executable file under terms of your choice, without any of the additional requirements listed in clause 6 of the GNU Library General Public License.
A ``special exception'' to the QPL removes the requirements of clause 6c on non-publically distributed code linked with the OCaml compilers and tools.
Modifications on the run-time system and on the libraries are also allowed, with the only requirements that those modifications, if distributed, must be distributed in source code and are automatically covered by the LGPL. This guarantees that everyone, including the OCaml development team, can use those modifications if they find them good.
We know that the FSF has replaced the GNU Library General Public License by the GNU Lesser General Public License (same contents, different name), but chose to stick with the original Library General Public License because we don't approve this gratuitous change of name.
We now turn to the parts of the system that are covered by the QPL. Like all Open Source licenses, the QPL allows free redistribution and modification of the software. Like the GPL, it ensures that modifications are themselves open source. The main difference with the GPL is that modified versions of the OCaml compilers and tools must be distributed as patches or diffs from the original code. This ensures a clear notion of ``trail of ownership'', making it very clear what, in a derived software, comes from the original OCaml sources and what was added or changed. This point is very important for us: OCaml is developed by researchers and embodies a significant part of their research results; proper attribution of results is crucial in the research world.
We are aware that this clause of the QPL (distribution of modified versions as patches) can become uncomfortable for the development of programs derived from the OCaml compilers and tools. If so, consider becoming a member of the Caml Consortium: members of the Consortium benefit from less restrictive licensing conditions.
Paragraph 6 of the QPL imposes that programs linked with libraries
covered by the QPL are distributed with full sources and free of
charge. In the case of the OCaml compilers and tools, this paragraph
is largely void, since the compilers and tools are not (with one
exception) presented as libraries, but as stand-alone programs. The
one exception is custom top-level interactive systems built with
ocamlmktop: those are composed of user code linked with a
library containing large parts of the OCaml bytecode compiler. Those
custom top-levels must comply with the requirements of paragraph 6,
but that's pretty easy to do: just distribute them under an Open
Objective Caml -
Projet Cristal -
Contact the Caml maintainers
Author: Xavier Leroy -- Last modified: 2005/02/04