caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Sven <luther@dpt-info.u-strasbg.fr>
To: Richard Stallman <rms@gnu.org>
Cc: proff@iq.org, dsyme@microsoft.com, gbacon@hiwaay.net,
	xavier.leroy@inria.fr, jfield@us.ibm.com, caml-list@inria.fr
Subject: Re: [Caml-list] License Conditions for OCaml
Date: Tue, 4 Dec 2001 19:53:56 +0100	[thread overview]
Message-ID: <20011204195356.A22127@dpt-info.u-strasbg.fr> (raw)
In-Reply-To: <200112010323.fB13NGb18105@aztec.santafe.edu>; from rms@gnu.org on Fri, Nov 30, 2001 at 08:23:16PM -0700

On Fri, Nov 30, 2001 at 08:23:16PM -0700, Richard Stallman wrote:
> People seem to have included me in the middle of a discussion of some
> licensing issue.  The discussion is very abstract, and I can't tell
> what people are arguing about.
> 
> Could someone send me a brief description of the actual scenario?
> Who is doing what to whom?

Well, ...

First i am not a member of the ocaml team, nor am i related to them in any
way, Also i have not really followed the discution of last week, since i was
away at a conference. And it was not i who included you in the discution.

That said, as the debian packager of the ocaml packages, maybe it is my place
to try to keep you current with what is going on, altough i don't know if you
can help here, and what was the mind of the one who included you in this
discution, which was rather rude i think, he could have given more information
about this and informed us also.

Anyway, i will try to resume this as best i could, others may fill in the
things i miss, and again, anything i say here will only be my opinion, and
should not engage anyone other than me.

If you want more information about ocaml, i encourage you to go to the web
site (caml.inria.fr should be a good start). I will not say more than ocaml is
a functional language of the ML family.

Ok, the thing is like this, after having long had a non free licence, the
ocaml team choose to use a dual licencing scheme, choosing the QPl for the
compiler and the LGPL for the runtime library linked with the programs. They
are mostly the sole authors of the stuff, so changing licence don't cause any
problem.

Now, the real problem, is that ocaml is not currently using shared object
files, altough it can use shared C libraries.

The result of this is that object files, separated into .cmi files and .cmo
files, the second on containing the object code, and the first one containing
all the typing information needed to link in the object files. (this is for
the bytecode version, which is arch independent, for the native code version,
which produce asm output, there is the .cmi, the .cmx containign the code, as
well asa .o product also).

Now, as i understood the LGPL, you can statically link a program you do with
this runtime library, which is akin to the libc on a gcc based system,
provided you either :

  1) provide the source code of your app.

  2) provide the object files (.cmo and .cmi) and a way to linking it (a
     makefile i guess)

There may be other possibilities, but these two are the main reasons.

Since ocaml is a compiler suite and a product destined to be widely used by a
lot of people, and even in some proprietary/closed-source/commercial/whatever
products, the first solution cannot always be fullfilled.

There is always the second solution, which in my opinion would be nice, but
still not optimal (well, it works with true arch independent bytecode, but it
will not survive investing in hardware of a different arch, but since most
people use only i386, this may be moot).

Now, the thing that started this thread is that one of the persons finds the
.cmi too much information bearing to be shared. After a private discution i
had with this guy, which i will not report here for privacy reasons, it happen
to be that this guy company is working on some of the leading edge stuff that
i read on the FSF pages, from you or someone else i think, may be one of those
place were open source will not work.

Also, he finds that this may be a bad point for him advocating the use of
ocaml to his collegues and bosses, since the information contained in the .cmi
makes the reverse engineering of the bytecode too easy (his claim, i did not
ever try this kind of stuff, but i guess it makes sense, similar to
stripped/unstripped C code, but with stronger type information).

Since one of the target of ocaml is precisely such people, this raise a
certain amount of problems, together with a wide misunderstanding about what
the LGPL permit or don't permit in the case of static linking.

Now, the upstream authors are aware of this fact, maybe did misunderstood its
impact at the start of the LGPLed licencing, and now may want to change it for
something else, possibly a modified LGPL or something such, and this has
started a huge thread, as you may have seen.

What the authors want, is (i quote) a licence for the runtime library that
allows :

1- Users can link with it, statically or dynamically, without any
   restrictions on the final program.
2- Users can modify the runtime or the libraries themselves, but then
   must make their modifications public under the same conditions as
   the original source.
3- The license should be standard, OSI-approved, and well known to the
   public that cares about these things.

This seems a worthy goal, altough there are various solutions about this.

I understand that there are two reasons for the restriction on static linking,
the first being to give the user of the final program the right to rebuild the
program with a bug fixed version of the runtime library, the other being some
considerations about an unscroupoulous vendor modifying the library and
putting the modification in its work and not the give it back as they should.

I think this limitation is not widely understood and accepted, and also, maybe
in the rather small ocaml community not really such a problem.

Finally, i guess the true solution to this, would be technical, i.e. to enable
dynamic linking in ocaml, and keep the LGPL. But then, i am not doing the
coding, nor have i the time for it, so ...

I hope this quick resume have helped you udnerstand the problem, if you have
other questions, feel free to ask if you have other doubts.

Friendly,

Sven Luther
-------------------
Bug reports: http://caml.inria.fr/bin/caml-bugs  FAQ: http://caml.inria.fr/FAQ/
To unsubscribe, mail caml-list-request@inria.fr  Archives: http://caml.inria.fr


  reply	other threads:[~2001-12-04 18:56 UTC|newest]

Thread overview: 79+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-11-30  1:18 Don Syme
2001-11-30  1:59 ` Julian Assange
2001-12-01  3:23   ` Richard Stallman
2001-12-04 18:53     ` Sven [this message]
2001-12-06  2:46       ` Richard Stallman
2001-11-27 19:10         ` John Field
2001-11-28 18:22           ` Xavier Leroy
2001-11-28 19:14             ` Ronald Kuehn
2001-11-29  0:38             ` Julian Assange
2001-11-29  8:32               ` Xavier Leroy
     [not found]                 ` <20011129105008.DEBFD25A1B@suburbia.net>
2001-11-29 12:50                   ` Xavier Leroy
2001-11-29 13:42                     ` Jérôme Marant
2001-11-29 13:11                 ` Greg Bacon
2001-11-29 23:01                   ` Julian Assange
2001-11-29 23:13                     ` Greg Bacon
2001-11-29  8:31             ` Florian Hars
2001-11-29  8:43               ` Daniel de Rauglaudre
2001-11-29  9:04                 ` Jérôme Marant
2001-11-29  9:15                   ` Xavier Leroy
2001-11-29  9:29                     ` Jérôme Marant
2001-11-29  9:25                   ` Daniel de Rauglaudre
2001-11-29  9:35                     ` Jérôme Marant
2001-11-29  8:53               ` Xavier Leroy
2001-11-30  8:09             ` Sven
2001-12-07  0:09           ` YAMAGATA yoriyuki
2001-12-07  7:11             ` Richard Stallman
2001-12-06 12:26         ` Sven
2001-12-07  3:12           ` Richard Stallman
2001-12-10 15:28             ` Sven
2001-12-10 23:24               ` Jacques Garrigue
2001-12-11  4:22                 ` hooh pxw
2001-12-11 10:19                 ` Sven
2001-12-11  7:15               ` Richard Stallman
  -- strict thread matches above, loose matches on Subject: below --
2001-11-30  4:25 Gregory Morrisett
2001-11-29 19:49 David Gurr
2001-11-29  7:11 Ohad Rodeh
2001-11-28 20:29 John Field
2001-11-28 22:08 ` Al Christians
2001-11-29  1:25 ` james woodyatt
2001-11-29  8:47   ` Florian Hars
2001-11-30  7:12     ` james woodyatt
2001-11-09 15:55 Dave Berry
2001-11-09  4:30 Patrick M Doane
2001-11-09  4:48 ` Rafael 'Dido' Sevilla
2001-11-09  8:45   ` Xavier Leroy
2001-11-09 15:52     ` Dave Scott
2001-11-09 16:40     ` David Brown
2001-11-09 16:40     ` Brian Rogoff
2001-11-12  8:07       ` Tom
2001-11-12 15:58         ` David Brown
2001-11-09  4:49 ` Will Benton
2001-11-09  5:35   ` Patrick M Doane
2001-11-09  5:53     ` Michael Welsh Duggan
2001-11-09  5:58       ` Patrick M Doane
2001-11-09  9:27         ` Sven
2001-11-09  9:58           ` Julian Assange
2001-11-09 10:37             ` Sven
2001-11-09 15:39             ` Patrick M Doane
2001-11-09 15:36           ` Patrick M Doane
2001-11-09  9:25     ` Sven
2001-11-09 15:33       ` Patrick M Doane
2001-11-09 16:26         ` Tom
2001-11-11 12:25         ` Sven
2001-11-09 11:09     ` malc
2001-11-09  5:50 ` Michael Welsh Duggan
2001-11-09  8:59 ` Sven
2001-11-09 15:13   ` Patrick M Doane
2001-11-11 12:00     ` Sven
2001-11-11 14:56       ` Patrick M Doane
2001-11-26 16:21     ` Fergus Henderson
2001-11-26 16:47       ` Patrick M Doane
2001-11-27 10:28         ` Fergus Henderson
2001-11-27 10:58           ` Rafael 'Dido' Sevilla
2001-11-28 18:00             ` Xavier Leroy
2001-11-30  8:05               ` Sven
2001-11-09 20:54 ` Vitaly Lugovsky
2001-11-09 21:39   ` Patrick M Doane
2001-11-11 12:42     ` Sven
2001-11-11 22:05       ` Tom

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20011204195356.A22127@dpt-info.u-strasbg.fr \
    --to=luther@dpt-info.u-strasbg.fr \
    --cc=caml-list@inria.fr \
    --cc=dsyme@microsoft.com \
    --cc=gbacon@hiwaay.net \
    --cc=jfield@us.ibm.com \
    --cc=proff@iq.org \
    --cc=rms@gnu.org \
    --cc=xavier.leroy@inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).