Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
[Caml-list] Announce: Schoca-0.2.3 released
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2004-10-25 (14:35)
From: Stefan Monnier <monnier@i...>
Subject: Re: Announce: Schoca-0.2.3 released
>> 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.