From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id QAA03764; Fri, 19 Sep 2003 16:48:20 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id QAA09288 for ; Fri, 19 Sep 2003 16:48:19 +0200 (MET DST) Received: from grisu.bik-gmbh.de (grisu.bik-gmbh.de [217.110.154.194]) by concorde.inria.fr (8.11.1/8.11.1) with ESMTP id h8JEmIj26114; Fri, 19 Sep 2003 16:48:18 +0200 (MET DST) Received: from bik-gmbh.de ([192.168.125.193]) by grisu.bik-gmbh.de (8.12.6p2/8.12.6) with ESMTP id h8JEmD5h064966; Fri, 19 Sep 2003 16:48:13 +0200 (CEST) (envelope-from hars@bik-gmbh.de) Message-ID: <3F6B1728.3010903@bik-gmbh.de> Date: Fri, 19 Sep 2003 16:48:08 +0200 From: Florian Hars User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5) Gecko/20030917 X-Accept-Language: en-us, de-de, en MIME-Version: 1.0 To: Pierre Weis CC: caml-list@inria.fr Subject: [Caml-list] A plea for clear licenses (Was: date manipulation library) References: <200309171517.RAA32651@pauillac.inria.fr> In-Reply-To: <200309171517.RAA32651@pauillac.inria.fr> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, hits=-2.6 required=5.0 tests=EMAIL_ATTRIBUTION,IN_REP_TO,QUOTED_EMAIL_TEXT,REFERENCES, REPLY_WITH_QUOTES,USER_AGENT_MOZILLA_UA,X_ACCEPT_LANG version=2.55 X-Spam-Checker-Version: SpamAssassin 2.55 (1.174.2.19-2003-05-19-exp) X-Loop: caml-list@inria.fr X-Spam: no; 0.00; florian:01 hars:01 hars:01 bik-gmbh:01 plea:01 perens:01 pierre:01 weis:01 recursion:01 gpl:01 derivatives:01 lgpl:01 lgpl:01 gpl:01 dynamically:01 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk "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