caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] License Conditions for OCaml
@ 2001-11-09  4:30 Patrick M Doane
  2001-11-09  4:48 ` Rafael 'Dido' Sevilla
                   ` (4 more replies)
  0 siblings, 5 replies; 81+ messages in thread
From: Patrick M Doane @ 2001-11-09  4:30 UTC (permalink / raw)
  To: caml-list

Earlier this year there was a discussion about the problems of using LGPL
for the OCaml run-time system and associated libraries.

It was suggested that some of the constraints in the LGPL were not
intended. To quote a page from the Caml website:

  "The LGPL puts no restrictions at all on programs linked with LGPL-ed
libraries. Thus, users are free to distribute (or not) OCaml-generated
binaries under whatever conditions they like."

>From my reading of the LGPL, which seems to correspond with the opinions
of others on the list, this just isn't true.  If I develop an application
with OCaml, I must distribute that application with source code.  This
isn't acceptable for commercial development and I'd really hope that the
intention is for OCaml to be used outside of academia.

Will this problem be fixed for the 3.03 release?

Patrick

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


^ permalink raw reply	[flat|nested] 81+ messages in thread
* RE: [Caml-list] License Conditions for OCaml
@ 2001-11-09 15:55 Dave Berry
  0 siblings, 0 replies; 81+ messages in thread
From: Dave Berry @ 2001-11-09 15:55 UTC (permalink / raw)
  To: Patrick M Doane, Julian Assange; +Cc: Sven, Michael Welsh Duggan, Caml-list

I believe the intent of the section of the LGPL that Patrick is quoting
is to prevent unscrupulous people from incorporating an LGPL'd library
into a library of their own and distributing it free from the terms of
the LGPL.  Clearly this scenario would be a way of breaking the intent
of the licence.  I don't believe this section is intended to cover
applications.

Why does intent matter?  Three reasons:

1. The issue of morality.
2. The likelihood (or otherwise) of the FSF to sue.
3. Possibly even law, in some countries.

The underlying problem is that the LGPL is designed for
dynamically-linked libraries, and O'Caml is statically linked.  It's a
square peg and a round hole.  IM(limited)O, the best way to fix it is to
make OCaml use dynamic linking.

Dave.

-----Original Message-----
From: Patrick M Doane [mailto:patrick@watson.org]
Sent: 09 November 2001 15:40
To: Julian Assange
Cc: Sven; Michael Welsh Duggan; Caml-list
Subject: Re: [Caml-list] License Conditions for OCaml


On Fri, 9 Nov 2001, Julian Assange wrote:

>
> All this legalise is very interesting, but in the end, as with all
legalise
> there is only one important issue:
>
>      a) Who has the motivation, resources and standing to fuck with
you?
>
> Hint: it's not INRIA.

The issue of morality is very important to me and cannot be ignored.
Besides, the FSF has plenty of motivation and resources.

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


^ permalink raw reply	[flat|nested] 81+ messages in thread
* Re: [Caml-list] License Conditions for OCaml
@ 2001-11-28 20:29 John Field
  2001-11-28 22:08 ` Al Christians
  2001-11-29  1:25 ` james woodyatt
  0 siblings, 2 replies; 81+ messages in thread
From: John Field @ 2001-11-28 20:29 UTC (permalink / raw)
  To: caml-list

Xavier Leroy wrote:

> 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 of these look great to me.

> 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.

This would certainly appear to meet the objections IBM's lawyers had.

> > ... 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?

No, I don't think the distinction between library and user code was
ambiguous.  The ambiguities I was referring to relate to the requirements
imposed on implementers to accommodate re-linking, and to the rights
it grants to users of the re-linked 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.

Personally, I agree that prohibitions on reverse-engineering are a
waste of time.  On the other hand, the lawyers seem to regard the LGPL
clause that _explictly_ allows reverse-engineering as sort of an
open-ended invitation to mischief.

> > 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?

All of their objections were related to the re-linking requirement, so
unless its removal somehow introduced new issues, I would _think_ that
the result would be acceptable.

> 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.

FWIW, I will ask some of my colleagues who have more experience with
open source licenses than I do to see if there might be any other
licenses around (obviously not as commonly-used as the ones above)
that avoid LGPL re-linking problem.

-John

John Field
IBM T.J. Watson Research Center
http://www.research.ibm.com/people/j/jfield

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


^ permalink raw reply	[flat|nested] 81+ messages in thread
* Re: [Caml-list] License Conditions for OCaml
@ 2001-11-29  7:11 Ohad Rodeh
  0 siblings, 0 replies; 81+ messages in thread
From: Ohad Rodeh @ 2001-11-29  7:11 UTC (permalink / raw)
  To: caml-list

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


^ permalink raw reply	[flat|nested] 81+ messages in thread
* Re: [Caml-list] License Conditions for OCaml
@ 2001-11-29 19:49 David Gurr
  0 siblings, 0 replies; 81+ messages in thread
From: David Gurr @ 2001-11-29 19:49 UTC (permalink / raw)
  To: xavier.leroy; +Cc: caml-list

Xavier Leroy:
> 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.
 
 
Hi, could you give a similar description for your aims on licensing the
compiler code?  Thanks.  -D
-------------------
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


^ permalink raw reply	[flat|nested] 81+ messages in thread
* RE: [Caml-list] License Conditions for OCaml
@ 2001-11-30  1:18 Don Syme
  2001-11-30  1:59 ` Julian Assange
  0 siblings, 1 reply; 81+ messages in thread
From: Don Syme @ 2001-11-30  1:18 UTC (permalink / raw)
  To: gbacon, Julian Assange; +Cc: Xavier Leroy, John Field, caml-list

And what if the OCaml modification to the LGPL gave you an opt-out from
this clause as well?

Just poking legal fun...

;-)

-----Original Message-----
From: Greg Bacon [mailto:gbacon@fly.hiwaay.net] 
Sent: 29 November 2001 23:13
To: Julian Assange
Cc: Xavier Leroy; John Field; caml-list@inria.fr
Subject: Re: [Caml-list] License Conditions for OCaml 


In message <20011129230153.55D4D259D2@suburbia.net>,
    Julian Assange writes:

: > For a well-known counterexample, the Perl Kit is distributed either
: > under the terms of the Artistic License or the GPL.
: 
: This is not a counter example. "all of the work, or none of the work".
: 
: 
:                Code
:               /    \
:             /        \
:        GPLisation   Artification
: 
: At no stage does the Artistic License modify the GPL.

Dual licensing is an implicit modification of the GPL:

      5. You are not required to accept [the GPL], since you have not
    signed it.  However, nothing else grants you permission to modify or
    distribute the Program or its derivative works.  These actions are
    prohibited by law if you do not accept this License.  Therefore, by
    modifying or distributing the Program (or any work based on the
    Program), you indicate your acceptance of this License to do so, and
    all its terms and conditions for copying, distributing or modifying
    the Program or works based on it.

Greg
-------------------
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


^ permalink raw reply	[flat|nested] 81+ messages in thread
* RE: [Caml-list] License Conditions for OCaml
@ 2001-11-30  4:25 Gregory Morrisett
  0 siblings, 0 replies; 81+ messages in thread
From: Gregory Morrisett @ 2001-11-30  4:25 UTC (permalink / raw)
  To: caml-list

Why not make it illegal for a lawyer to read and/or interpret
the license?  That should solve most of the problems...

-Greg
-------------------
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


^ permalink raw reply	[flat|nested] 81+ messages in thread

end of thread, other threads:[~2001-12-11 14:44 UTC | newest]

Thread overview: 81+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-11-09  4:30 [Caml-list] License Conditions for OCaml 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 14:46       ` [Caml-list] ELF i386 dynamic linking patch. was: " Jeff Henrikson
2001-11-10  0:32         ` [Caml-list] " malc
2001-11-09  5:50 ` [Caml-list] " 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
2001-11-09 15:55 Dave Berry
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-29  7:11 Ohad Rodeh
2001-11-29 19:49 David Gurr
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-30  4:25 Gregory Morrisett

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).