caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: "Ohad Rodeh" <ORODEH@il.ibm.com>
To: caml-list@inria.fr
Subject: Re: [Caml-list] License Conditions for OCaml
Date: Thu, 29 Nov 2001 09:11:28 +0200	[thread overview]
Message-ID: <OF730F618B.CA0D7588-ONC2256B13.0026E950@telaviv.ibm.com> (raw)

There is one long standing issue that I've had with the Caml license. I
have a BSD licensed
system (Ensemble) that uses a non-standard, Caml derived, Unix library. We
call our library "Unix" library Socket,
and it contains various performance hacks and a port to winsock2. The issue
is simple, what is
the license for Socket?  On the one hand, it should be BSD, because we
wrote it, and it is part of
a BSD system. On the other  hand, since it uses some (little) of the Caml
code, it should have an LGPL license.

I really think that that Socket should have a BSD license. One way to solve
this problem would be to make the inner
Unix header file public (i.e., copied to lib/caml/*.h). Our use of the Unix
library sources is to the extent (almost entirely)
of using the header files.

   Any thoughts?
     Ohad.



Xavier Leroy <xavier.leroy@inria.fr>@pauillac.inria.fr on 28/11/2001
20:22:39

Sent by:  owner-caml-list@pauillac.inria.fr


To:   John Field/Watson/IBM@IBMUS
cc:   caml-list@inria.fr
Subject:  Re: [Caml-list] License Conditions for OCaml



John,

Thank you for your feedback -- it's very interesting to hear from an
industrial user who got the opinions of competent lawyers.

Let me just state again what we'd like to achieve concerning the
licensing of the OCaml runtime and libraries:

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.

All three items are easy to justify: for 1, we don't want to bother
anyone who uses OCaml; for 2, we'd like OCaml to remain open
source, meaning that everyone should be able to benefit from the
modifications on OCaml itself that someone did; and for 3, we're not
competent for inventing yet another license and get it recognized as
open source compliant.

Now the problem is that apparently there is no existing license that
matches these three criteria.  The LGPL was chosen before we realized
all its implications w.r.t. static linking.  But popular licenses such
as BSD or X don't meet criterion 2.  Our current hope is that the LGPL
with a special exception to paragraph 6 saying "you can link with our
code any way you like" would fulfill all three requirements.

> IBM's lawyers have lots of experience dissecting the innards of
> various open- and quasi-open source licenses.  They are _very_ wary
> of the LGPL.  I won't attempt to explain or justify all of
> their concerns, some of which I don't fully understand.  However,
> their principal objections were to the clauses of the LGPL allowing
> "reverse engineering" of and "modifications" to the code.  The lawyers
> realize that the _intent_ of these clauses is probably benign.  However,
> the license provisions are so ambiguously worded (as ample discussion
> on this list has demonstrated) that the requirements it imposes on an
> implementer and the rights it grants to a user are very unclear.

Clearly, we want to allow "modifications" to the OCaml code itself
(otherwise it's not open source), but not impose this requirement on
the user code.  Are you saying that the LGPL is sufficiently ambiguous
not to distinguish clearly between library code and user code?

As for "reverse engineering", I don't really care.  If we void
paragraph 6 of the LGPL, the user isn't required to allow reverse
engineering.  Still, commercial licenses that prevent reverse
engineering are silly -- here in the European Union (and in other
countries as well), reverse engineering is explicitly allowed by law
in certain circumstances, so putting such a provision in your license
is just calling for the whole license to be invalidated by a EU court.

(Besides, if I buy, say, a TV set, I can open it and reverse-engineer the
circuit board to my heart's content; I might void the warranty this
way, but I'm not doing anything illegal.  I find it hard to understand
why it should be any different with software.)

> In addition to the legal ambiguities, the provision requiring
> that the code be distributed in a way that allows re-linking of
> the libraries is a major administrative hassle

I fully agree with this.  My proposal is basically to remove this
requirement for the OCaml libraries.

> As a result of the issues above, IBM's general response to
> applications that use LGPL libraries is to require that the
> libraries be dynamically-linked.  Since this wasn't feasible with
> OCaml, we had to distribute the application in bytecode, rather than
> opt-compiled form.

Suppose we remove the re-linking requirement.  Would that be enough to
allow distribution of an ocamlopt-compiled executable in IBM's
lawyers' opinion?

> If the OCaml developers don't feel that the relinking provisions of
> LGPL are important, I would strongly advise adopting an alternative
> license that unambiguously allows static linking of OCaml libraries
> without imposing any additional requirements on the application.

As I said above, the other standard licenses (e.g. BSD, X) don't offer
enough guarantees about the OCaml libraries and runtime themselves
remaining open source.

- Xavier Leroy
-------------------
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



-------------------
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-11-29  7:11 UTC|newest]

Thread overview: 79+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-11-29  7:11 Ohad Rodeh [this message]
  -- strict thread matches above, loose matches on Subject: below --
2001-11-30  4:25 Gregory Morrisett
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
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
2001-11-29 19:49 David Gurr
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=OF730F618B.CA0D7588-ONC2256B13.0026E950@telaviv.ibm.com \
    --to=orodeh@il.ibm.com \
    --cc=caml-list@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).