caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Florian Hars <hars@bik-gmbh.de>
To: Pierre Weis <pierre.weis@inria.fr>
Cc: caml-list@inria.fr
Subject: [Caml-list] A plea for clear licenses (Was: date manipulation library)
Date: Fri, 19 Sep 2003 16:48:08 +0200	[thread overview]
Message-ID: <3F6B1728.3010903@bik-gmbh.de> (raw)
In-Reply-To: <200309171517.RAA32651@pauillac.inria.fr>

            "Do not write a new license if it is possible to use one of
             the ones listed here."
            (http://www.oreilly.com/catalog/opensources/book/perens.html)

Pierre Weis wrote:
> And check htmlc since it can be used for every thing you like: you
> just have to distribute the original source files of the library and
> the LICENSE file.

What you say isn't what the license says. It says (if you get past the 
infinite recursion between point a- and b-, that is) that you can either 
distribute:

- the original, unaltered source
- a compiled version of the original, unaltered source
- a derived work in the form of the original, unaltered source together
   with a patch against this original, unaltered source, for the receiver
   to compile. ("consists of" is stronger than "contains").

It doesn't allow you to distribute compiled versions of derived works 
like, for example, a program that uses the date manipulation library 
included with htmlc.

Maybe the intention was different, but the wording is so terribly 
unclear that nothing more can be deduced from this document.

See also point 5 of http://people.debian.org/~bap/dfsg-faq.html on how 
to choose a free license.

As far as I can see, there are three viable, essentially different 
license choices for ocaml library code:

1. Plain GPL, if you want to make the library and all derivatives free
    in the GNU sense.

2. LGPL plus linking exception, if you want to keep the library free,
    but want to allow commercial use. This is the license of the ocaml
    standard library, and using it as a default makes it easier to
    combine different libraries in a project. You should only use another
    license if you really know why you do it (for example, to achieve the
    effects of point 1 and 3).

    Note that because of the way the ocaml linker works the plain LGPL
    may or may not be equivalent to the plain GPL for ocaml code. Some
    lawyers (those of IBM, for example) think that you should always
    distribute code that uses LGPL code under 6b) of the LGPL and link
    the code dynamically to steer clear of possible problems. But this is
    not possible with ocaml. And re-linking a compiled object with a
    modified version of a library can result in the linker complaining
    about inconsistent interface assumptions for all but the most trivial
    changes, which makes it very difficult to distribute a compiled
    program in accordance with 6a) of the LGPL, which leaves you with
    distribution of the source as the only option.
    (Of course you can refactor your aplication into a functor and
    distribute a source file that instatiates this functor with the LGPL
    library, but this is not necessarily what I would call 'elegant'.)

3. BSD/X11-style, if you want to make your library free in the BSD
    sense.

Using anything else will just add to the confusion, splinter the 
language community, turn the grass yellow and make your hair fall out.

Yours, Florian Hars.

-------------------
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/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


  reply	other threads:[~2003-09-19 14:48 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-09-15 14:37 [Caml-list] date manipulation library Alan Schmitt
2003-09-15 14:48 ` Antoine Schweitzer-Chaput
2003-09-15 15:21 ` Xavier Leroy
2003-09-15 15:40   ` Alan Schmitt
2003-09-15 16:38   ` David Brown
2003-09-15 15:22 ` Julien Signoles
2003-09-15 18:34   ` Stefano Zacchiroli
2003-09-15 18:45     ` Maxence Guesdon
2003-09-15 23:27     ` Julien Signoles
2003-09-16  7:20       ` Stefano Zacchiroli
2003-09-16  7:32         ` Mattias Waldau
2003-09-16  8:29           ` Benjamin Geer
2003-09-16 18:21             ` [Caml-list] Will Emacs camldebug-mode need an update for 3.07? Mattias Waldau
2003-09-15 15:25 ` [Caml-list] date manipulation library Matthieu Sozeau
2003-09-17  7:57 ` Pierre Weis
2003-09-17  8:24   ` Mattias Waldau
2003-09-17 15:17     ` Pierre Weis
2003-09-19 14:48       ` Florian Hars [this message]
2003-09-20 14:22         ` [Caml-list] Re: A plea for clear licenses (Was: date manipulation library) Pierre Weis
2003-09-20 18:42         ` [Caml-list] " skaller
2003-09-21 16:33           ` Richard Jones
2003-09-23  6:28           ` [Caml-list] A plea for clear licenses Florian Hars
2003-09-23 23:17             ` Rafael 'Dido' Sevilla
2003-09-23 23:29               ` Michael Beach
2003-09-17  9:19   ` [Caml-list] date manipulation library Stefano Zacchiroli
2003-09-17 15:28     ` Pierre Weis

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=3F6B1728.3010903@bik-gmbh.de \
    --to=hars@bik-gmbh.de \
    --cc=caml-list@inria.fr \
    --cc=pierre.weis@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).