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 Conditions for OCaml
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2001-11-26 (16:22)
From: Fergus Henderson <fjh@c...>
Subject: Re: [Caml-list] License Conditions for OCaml
On 09-Nov-2001, Patrick M Doane <> wrote:
> On Fri, 9 Nov 2001, Sven wrote:
> > On Thu, Nov 08, 2001 at 11:30:56PM -0500, Patrick M Doane wrote:
> >
> > No, the worse that happens is that you must distribute the .cmo, .cmi, .cmx,
> > and possibly .o, hopefully with a working makefile, but this last one is not
> > demanded.
> As mentioned before - I don't think this is true. The LGPL is very clear
> that the user must be able to modify the work (i.e. the application and
> not the library).  This is not possible to do with .cm[iox] files.

The LGPL says that the derived work must be licensed under terms
which "permit" the user to modify the work.  "permit" does not mean
the same thing as "make possible", and it definitely does not mean
the same thing as "make easy"!

It is in fact *possible* to modify the application given just the binary
files, of course, just not *easy*.

> Also, I still must permit users to reverse engineer my application.

Yes, that's correct.  You must give users the legal permission to reverse
engineer your application.  However, you are under no obligation to make
it easy.

> It is standard practice to strip an executable of all symbols to prevent
> users from snooping around in the code.  Even if all I had to do was
> include object files, the names of identifiers would still be intact.

For C code, you can through various techniques (such as `ld -r'
and the `--retain-symbols-file' options of GNU ld) link your object
files into a single object file and strip out all of the symbols except
those undefined symbols that refer to the LGPL'd library or libraries
that you are linking with.  These techniques can also be used with other
programming language implementations that generate standard object files,
such as (my favourite example ;) Mercury.

I don't know if this is possible for Ocaml code, but if it is not, then
I think it might perhaps be more useful to ask for similar technical
features, rather than complaining about the license.

Fergus Henderson <>  |  "I have always known that the pursuit
The University of Melbourne         |  of excellence is a lethal habit"
WWW: <>  |     -- the last words of T. S. Garp.
Bug reports:  FAQ:
To unsubscribe, mail  Archives: