|Subject:||Re: using GPL api to be used in a properietary software|
|Date:||Mon, 14 Mar 2005 14:00:24 +0500|
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 ?
|[Prev in Thread]||Current Thread||[Next in Thread]|