[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Licensing issues
- To: Grigory Entin <Grigory.Entin@arcadia.spb.ru>
- Subject: Re: Licensing issues
- From: Jose Orlando Pereira <jop@di.uminho.pt>
- Date: Wed, 22 Nov 2000 16:59:33 +0000
- Cc: xtl@lsd.di.uminho.pt
- Delivered-To: mailing list xtl@lsd.di.uminho.pt
- In-Reply-To: <B641D222.4319%Grigory.Entin@arcadia.spb.ru>
- Mailing-List: contact xtl-help@lsd.di.uminho.pt; run by ezmlm
- Organization: Universidade do Minho
- References: <B641D222.4319%Grigory.Entin@arcadia.spb.ru>
On Wednesday 22 November 2000 16:42, you wrote:
>
> Ups, seems I still not understand. Hope you're right.. ;)
>
> If that _voids_ that clause it does not mean that it voids the license.
It voids the clause that would invalidate usage in closed source
thus... validates the usage in closed source.
Consider the following C lib licensed under the LGPL:
foo.h:
------
#define MACRO(x) y(x)
void y(int i);
foo.c:
------
#include <foo.h>
void y(int i) {
return i+1;
}
used in the following closed source project:
closed.c:
---------
#include <foo.h>
int main() {
MACRO(1);
}
In this situation the LGPL forces you to distribute closed.o or
dynamically link to foo.so. Notice that it doesn't force you to
recompile in the event of the redefinition of MACRO().
Now consider the following version of foo library:
foo.h:
------
#define MACRO(x) ((x)+1)
If used in a closed source project, you have precisely the
same obligations as before. Which in this situation are none
as there is nothing to link and relink. Only compilation is
involved.
XTL uses only purely compile time constructs, although some
of them are not macros but templates. As such, the LGPL can not
force you to relink simply because there is nothing to relink and
LGPL does not mention recompiling to acomodate changes in header
files.
--
Jose Orlando Pereira
* mailto:jop@di.uminho.pt * http://gsd.di.uminho.pt/~jop *