Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
[Caml-list] License Run-Time Question
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2001-08-27 (15:12)
From: Xavier Leroy <Xavier.Leroy@i...>
Subject: Re: [Caml-list] License Run-Time Question
> In the archives I see this (199912/msg00026.html):
>   >> If you write code in O'Caml, the license doesn't impose 
>   >> anything on your software's license.  The LGPL license on 
>   >> the runtime might force you to ensure that your program is 
>   >> physically separate from the runtime so that the runtime can 
>   >> be  replaced by your customers if they so desire, but this 
>   >> says nothing  about the license under which your software is 
>   >> distributed.
> Is there any documentation available on what to include when I 
> try to distribute an executable program written with OCaml, and 
> how to do it so that I'm in compliance with all the relevant 
> licenses?  In particular, I will probably want to distribute 
> executables that come out of ocamlopt.
> How do I keep the program 'physically separate'?

This is a fairly nasty point of the LGPL, and one that we do not
intend to enforce.  Our intent from the beginning was to put no
restrictions on programs linked with the OCaml runtime and libraries,
but that if you modify the runtime or the libraries, you must make
these modifications public and grant others the right to use them

We chose the LGPL with these goals in mind, but overlooked some fine
print in section 6.a, namely that you should give your customers the
ability to replace the OCaml runtime and libraries with others of
their choice.  This is usually implemented by either:

- linking dynamically to the LGPL-covered code: no problem for the bytecode
  interpreter, but not possible for the OCaml libraries;
- distributing (on request) object files for your application, which the
  hypothetical customers bent on exercising their LGPL rights could then
  re-link themselves.

This is all complicated and useless, and we have no intention to ever
enforce that kind of requirements.  We are looking at ways to formally
remove this requirement from the OCaml library/runtime license.

> As I have the cygwin version of ocamlopt working, will the 
> programs also need CygWin run-time dll(s)?  Which one(s)? 

Yes, they'll need the Cygwin runtime DLL (cygwin1.dll).

> Are there additional license problems distributing binaries because 
> I'm using Cygwin to make my programs? 

Yes.  The Cygwin runtime DLL is covered by the GPL (not the LGPL),
and this pretty much forces you to distribute your program as open
source.  You can buy a special license from Cygnus/RedHat for a
"non-encumbered" Cygwin runtime, but I've heard this is not cheap.

Combined with the lack of stability of Cygwin, I'd advise against this

> The alternative to cygwin is MS.  I have MSVC++ v6, but not the
> MS assembler.  I don't even know how much the assembler would
> cost.  I'd probably buy that if I needed it when revenues are
> up, but they aren't.

Don't worry, Microsoft distributes MASM for free.  It's hard to get,
but see the following pages:

> Is that the way to go if I want to minimize
> worries about license problems?

That will avoid the Cygwin problems.

Hope this helps,

- Xavier Leroy
Bug reports:  FAQ:
To unsubscribe, mail  Archives: