|
From: | Wahaj |
Subject: | Re: using GPL api to be used in a properietary software |
Date: | Mon, 14 Mar 2005 14:00:24 +0500 |
Hi All,
Well it has been a short time that I have started
understanding GPL. Some of the things are getting clearer now.
My original comment was:
1) We can create an exe of the GPLed
API and call it from a properietary application. The exe gets the parameters
performs its tasks and the calling application can get the output
The above seems OK as the exe (called it
GPL-exe) of the GPLed API is a seperate application and is being called by
a properietary application. GPL-exe will be based on GPL license and the
properietary have its own.
2) Dynamically link the GPLed library
where we provide the necessary dlls of the GPLed library and don't bundle it
inside our code. We simply use it. Any other application on the machine can also
use it. Now this is some thing confusing. According the FAQ
of GNU
"However, in many cases you can
distribute the GPL-covered software alongside your proprietary system. To do
this validly, you must make sure that the free and non-free programs communicate
at arms length, that they are not combined in a way that would make them
effectively a single program. "
In case of 1) there are surely at arms length where
as in 2) it seems that they are at arms length. ARMS LENGTH means "that they are not combined in a way that would
make them effectively a single program". Now if we are not statically linking
rather dynamically linking, we are surely using the GPLed libraries but we need
to see whether they become a single program or not. If the GPLed API is not
statically built with the properietary application then any other application on
a system can use the GPLed API seperately too without going through the
properietary software so the GPLed library can be used seperately by other
applications.
Also in the FAQ its written
" If the two programs remain well separated, like the compiler and
the kernel, or like an editor and a shell, then you can treat them as two
separate programs--but you have to do it properly. The issue is simply one of
form: how you describe what you are doing. Why do we care about this? Because we
want to make sure the users clearly understand the free status of the
GPL-covered software in the collection. "
Now the compiler is dependent upon Kernel but
Kernel can be used seperately by other applications too so if the Compiler is
properietary and the kernal is GPLed then its OK wether we use case 1) or 2)
above provided they are not One single package where GPLed code can't be used
seperately.
In both 1) and 2) the properietary application is dependent on GPLed code.
So keeping in view that GPLed libraries can be used by other applications on a
system 1) and 2) becomes ligitimate. Am I right ?
Regards,
Wahaj
|
[Prev in Thread] | Current Thread | [Next in Thread] |