Licensing conditions for Objective Caml

The Objective Caml system is distributed under the following terms (see the actual license for more details): The LGPL and the QPL are approved by the Open Source Initiative, making Objective Caml ``OSI Certified Open Source Software''.

Rationale

Concerning the LGPL-ed parts of the system: the run-time system and the libraries are the parts of the OCaml system that are linked with the user code. The LGPL, combined with the ``special exception'' described above, puts no restrictions at all on programs linked with the LGPL-ed parts of the system. Thus, users are free to distribute (or not) OCaml-generated binaries under whatever conditions they like.

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 Source license.


Caml - Objective Caml - Projet Cristal - Homepages - Contact the Caml maintainers
Author: Xavier Leroy -- Last modified: 2005/02/04