Re: GPL v LGPL for libraries
> I really don't buy the argument that a library has different
> qualifications for licensing than a free application. In both cases,
> you should be free to use the code in your own free application.
Good point. My claim is actually that we do _not_ treat them the same way.
We require that application impose no limitations on its invocation, while
allow the library to do that.
Here is some close-to-reality example.
Suppose we have GPL'd library, say libnlp, that contains a routine
char* get_stem(char* s);
the purpose of this routine is to return a stem (root) of the english word
supplied as an argument. (Such a routine actually exists and fortunately in a
public domain, not GPL'd :)
Now, at some point in my application I want to do exacltly this - extract a
stem from the word, which is a tiny step in all the processing my application
does. I can do it the following easy way:
char *s,*w;
w="driving";
s=get_stem(w);
and finally link it with -lnlp flag.
In case my application is not GPL'd the above is illegal.
Now, to get around this, I clreate a tiny GPL'd program as follows:
getstem.c:
#include ....
int main(int argc,char* argv[]){
printf("%s\n",get_stem(argv[1]));
rerurn 0;
} /*no error checking, sorry :) */
and link it with -lnsl
And in my main program I just have to use
char* getstem="/usr/lib/myapp/getstem";
char* w="driving";
char* buffer=(char*)malloc(strlen(getstem)+strlen(w)+10);
sprintf(buffer,"%s %s",getstem,w);
FILE *sf=popen(buffer);
fgets(buffer,strlen(buffer),sf);
fclose(sf);
char* s=buffer;
Now everything is legal. But is there anything substantially different
in these two cases? Except for implementation details, of course.
Thanks,
Alex Y.
--
_
_( )_
( (o___ +-------------------------------------------+
| _ 7 | Alexander Yukhimets |
\ (") | http://pages.nyu.edu/~aqy6633/ |
/ \ \ +-------------------------------------------+
Reply to: