From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id 7B6EDBC3F for ; Mon, 25 Oct 2004 16:35:28 +0200 (CEST) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id i9PEZSUs024830 for ; Mon, 25 Oct 2004 16:35:28 +0200 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 QAA23733 for ; Mon, 25 Oct 2004 16:35:27 +0200 (MET DST) Received: from main.gmane.org (main.gmane.org [80.91.229.2]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id i9PEZQFH024822 for ; Mon, 25 Oct 2004 16:35:26 +0200 Received: from list by main.gmane.org with local (Exim 3.35 #1 (Debian)) id 1CM5wU-0000bk-00 for ; Mon, 25 Oct 2004 16:35:26 +0200 Received: from asado.iro.umontreal.ca ([132.204.24.84]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 25 Oct 2004 16:35:26 +0200 Received: from monnier by asado.iro.umontreal.ca with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 25 Oct 2004 16:35:26 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: caml-list@inria.fr From: Stefan Monnier Subject: Re: Announce: Schoca-0.2.3 released Date: Mon, 25 Oct 2004 10:35:22 -0400 Message-ID: References: <1098642597.3075.32.camel@pelican.wigram> <20041025025832.GA1582@old.davidb.org> <20041025.123834.26988978.garrigue@math.nagoya-u.ac.jp> <20041025050127.GA3599@old.davidb.org> <417CB289.1010700@exomi.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Complaints-To: usenet@sea.gmane.org X-Gmane-NNTP-Posting-Host: asado.iro.umontreal.ca User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/21.3.50 (gnu/linux) Cancel-Lock: sha1:bjZcI6H+nV8hx+iGEbUFAiTJAlM= Sender: news X-Miltered: at concorde with ID 417D0F30.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Miltered: at concorde with ID 417D0F2E.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; umontreal:01 gpl:01 gpl:01 api:01 linux's:01 gmp:01 gmp:01 api:01 ...:98 ...:98 custom-made:98 exception:01 functions:01 functions:01 kernel:01 X-Spam-Checker-Version: SpamAssassin 3.0.0 (2004-09-13) on yquem.inria.fr X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.0.0 X-Spam-Level: >> The GPL only coveres distribution, not execution. GPL code can be linked >> with even proprietary code as long as the result isn't distributed at all. > This is getting fairly offtopic, but I thought it might be worth mentioning > that this is not quite so clear-cut. Indeed. The issue is that if you use functions which can only be provided by GPL'd code, then you've basically linked your code to GPL'd code, whether the linking happens before or after distribution. Basically, it's like the GPL extends to the API. > On the other hand, a similar practice is commonly accepted for Linux > kernel modules. But that's only because Linus expressly said so publically (which has legal significance similar to annotating the COPYING file in the distribution to make an explicit exception). And note that Linus's position on this has evolved over time and nowadays the kernel has introduced a distinction between GPL'd and non-GPL'd modules (where some functions are only made available to GPL'd modules), because non-GPL'd modules were useful to Linux in the past, but now that Linux's market position is sufficiently strong it can require GPL'd modules. > Consider a situation where someone created a compatible but non-GPL > replacement for some major GPL library, and GPL-incompatible software that > could be linked against that library...or the original GPL library. > Lets say the original GPL library is sufficiently better that most users > link against it. > The above could be extended to turn any GPL program into a library first, > then create a crappy compatible library... > I really don't know what the legal interpretation of that would be. Following the GMP precedent (GMP was a GPL library and someone wanted to use it in a non-GPL product), the FSF managed to require the company to write the crappy implementation "fgmp" but was then satisfied. I.e. there's a clear precedent that shows you *can* indeed use the trick of writing a crappy compatible library. Note that writing crappy compatible library can be a non-negligible amount of work, tho, because it has to be at least somewhat functional to be of any significance. At that point most people prefer to write a custom-made library without the need to stick to a preexisting API, or else they change the license on their code to be compatible with the GPL. Stefan