caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Patrick M Doane <patrick@watson.org>
To: Will Benton <willb@cs.wisc.edu>
Cc: caml-list@inria.fr
Subject: Re: [Caml-list] License Conditions for OCaml
Date: Fri, 9 Nov 2001 00:35:11 -0500 (EST)	[thread overview]
Message-ID: <20011108235538.V73712-100000@fledge.watson.org> (raw)
In-Reply-To: <3BEB605D.78A04C4E@cs.wisc.edu>

On Thu, 8 Nov 2001, Will Benton wrote:

> Whoa, nelly!  I don't know that I'd characterize the LGPL as a
> "problem", but your reading of it is completely off the mark.  The LGPL
> requires that if you distribute an application linked to a library, that
> you must allow users to re-link against newer versions of the library
> that maintain interface compatibility, presumably by providing object
> files, bytecodes -- OR you must distribute an application that uses
> shared libraries.  It is C-centric, but I do not think it poses any
> problems.  (You must also redistribute any changes you make to the
> LGPLed library itself.)

OCaml doesn't provide support for shared libraries (although 3.03 does
provide some dynamic loading capabilities for bytecode only). So we
need to consider the portions of the license that apply for static
linking. The LGPL provides some rather contradictory statements in section
6 regarding that:

  1. you may also compile or link a "work that uses the Library" with the
     Library to produce a work containing portions of the Library, and
     distribute that work under terms of your choice, provided that the
     terms permit modification of the work for the customer's own use and
     reverse engineering for debugging such modifications.

This clause is enough to throw out most commercial applications. It is
standard industry practice to disallow reverse engineering. Most software
companies are going to resist changing this - and for good reason too.

Note that the license terms must also permit "modification of the work for
the customer's own use". I'm not sure of any way to comply with that
without providing source code.  Object files are certainly not suitable
for modification by customer use.

  2. Accompany the work with the complete corresponding machine-readable
     source code for the Library including whatever changes were used in
     the work (which must be distributed under Sections 1 and 2 above); and,
     if the work is an executable linked with the Library, with the complete
     machine-readable "work that uses the Library", as object code and/or
     source code, so that the user can modify the Library and then relink
     to produce a modified executable containing the modified Library.

Here it suggests that object code is sufficient but this can't be modified
for the customer's own use. Perhaps this contradiction invalidates this
section of the license, I don't know. I'm not a lawyer. The only
reasonable way I see to comply with these two points is to provide source
code.  Do you have any suggestions on how a user can modify object code
for their own use?

These issues aside, the LGPL is still a real pain to deal with.

  - The LGPL text must be included with the distribution.
  - All copyright notices for the product need to include the copyright
    notice for Inria
  - All these notices must also direct the user to the LPGL license
  - All source to the INRIA libraries and standard runtime must be
    included in the distribution. This is particularly annoying for
    Windows developers because that distribution doesn't come in source
    form.
  - All source code (or perhaps object code) for my application must
    be come with distributed.
  - Or, as an exception to the previous two, a written letter must be
    included with the product to be able to get those two.

This is a lot of hassle - nowhere near the suggestion that "the LGPL puts
no restrictions at all on programs linked with LGPL-ed binaries."

There are other license problems as well. In particular, some of the
libraries distributed with OCaml (like Str) are based on GPL code, but the
manual does not mention this and it would be very easy for a developer to
get into trouble because of that.

I'm sorry if this sounds like just a lot of complaining, but I'm sure
folks in the commercial world would rather pay a small fee to avoid these
issues entirely. Ideally, any OCaml executable (with the exception of this
created with ocamlmktop) should be unencumbered from license issues. I
believe this was the intent of the INRIA team, but this is not the current
situation.

-------------------
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-09  5:37 UTC|newest]

Thread overview: 81+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
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

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=20011108235538.V73712-100000@fledge.watson.org \
    --to=patrick@watson.org \
    --cc=caml-list@inria.fr \
    --cc=willb@cs.wisc.edu \
    /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).