[MLton-user] MLton license

Stephen Weeks sweeks@sweeks.com
Sun, 9 Nov 2003 09:23:34 -0800


> Sorry if this has already been asked lots of times, but I was wondering 
> about the licensing of MLton.  Is it possible to use MLton to build 
> commercially licensed applications?
> 
> Most of MLton seems to be GPL.  Do you interpret that as "infecting" 
> programs which are built with MLton, forcing them to be GPL as well?
> 
> Thanks for any clarification you can give me.

The current situation is that applications compiled by MLton must also
be GPL'ed.  This follows from clause 2b of the GPL:

    You must cause any work that you distribute or publish, that in
    whole or in part contains or is derived from the Program or any
    part thereof, to be licensed as a whole at no charge to all third
    parties under the terms of this License.

Executables built by MLton are derivative works of MLton, and hence
(2b) applies, because they contain the runtime system and basis
library code.  I have confirmed this with the FSF.  There may also be
other parts of the MLton code that infect executables.

I personally, and the MLton developers generally, would like to see
MLton used more commercially and are actively working to make that
possible.  This includes work to make licenses other than the GPL
available.  Here's where we are with respect to licensing.

NEC holds the copyright on the code written up to March 1999, the
original public release of MLton under the GPL.  The MLton developers
hold the copyright on most of the code since then, with a few
contributions by others.  The consensus among the MLton developers is
that it is impossible to extricate the NEC code needed in order to
allow executables to be released under other licenses.  So, we are
currently discussing with NEC relicensing of their code.

Once the licensing issues with NEC are resolved, we plan to begin dual
licensing MLton.  We will continue to license under the GPL as now,
for those who don't mind GPLing their code.  In addition we will offer
(for sale) commercial licenses for those who want to keep their code
closed or release under other licenses.

We are making an effort to transition MLton from a research project to
a compiler viable for commercial use.  We strongly believe in open
source, and are trying to make MLton commercially attractive, self
sustaining, while keeping it open source.

Once the licensing is sorted out, we will make an announcement on this
list as well as clarifying the situation in the user manual and on
www.mlton.org.