Note I'm not asking for any legal advice here obviously, simply what the 
intention of the R foundation is with regard to allowing commercial connection 
to R.

I've looked at various threads on the r-devel archive and it looks like this 
may have been discussed before, but as far as could tell, not to any great 
resolution, and not, it seems, specifically covering this angle.



In the doc\COPYRIGHTS file it is made clear that the intention is that you can 
write R packages that include functions implemented in C (and hence are 
provided in native libraries linked to R.dll) and distribute them under 
licenses not compatible with GPL. This was achieved by making the relevant 
header files available under the LGPL. This was an explicit change that was 
made in February 2001, and the intention was to allow for DLLs that require the 
API header files for compilation and are linked against R.dll to not be 
"infected" with the GPL.

However the Rembedded.h header file isn't included in the list in the 
doc\COPYRIGHTS file, and the copyright statement in the Rembedded.h header file 
lists the GPL and not the LGPL as the relevant license.  So it doesn't look 
like it was the intention to allow that I be able to use the R invocation API 
to launch R and embed it in a product (such as a new GUI, or other such 
integration) and ship that product under a license not compatible with GPL. Is 
this correct? Or is it the intention that I be able to write a commercial 
front-end of some kind for R?



My understanding of LGPL is that ALL of the source files that go into R.dll 
(and indeed all libraries that R.dll itself linked to, apart from those covered 
by the GPL system library exception) would need to be released under LGPL in 
order to allow me to link to R.dll and not have my program subject to GPL. If 
that weren't the situation then I could take a library covered by GPL, write a 
different interface to it, put LGPL on those headers compile up a new DLL and 
I've then got LGPL access to a library previously released under GPL, which 
can't be the intention, otherwise LGPL would drive a coach and horses through 
GPL. This would apply to native libraries (dlls) providing functions in addon 
packages too, and so hence I'm not sure I necessarily understand how simply 
putting LGPL on the header files is sufficient to achieve the intention.



There is provision in the GPL license (it's mentioned in the FAQ) for providing 
for linking to a GPL library through one specific interface by providing 
specific exception text in the copyright header in all of the files that make 
up the library. That would only be possible if the copyright holders of all 
relevant GPL code agreed to that, as that would be an extra grant to the 
license. So if R linked to any third party GPL code, this wouldn't be possible 
I don't think.

So I guess the question here is what the intention is of the R foundation with 
respect to the limitations or freedoms that they are intending to allow. After 
all, as the copyright owners they aren't going to sue if a use falls within 
their intention, even if on a strict interpretation of the license such use 
wouldn't be allowed.



So it seems to be the intention that I can write a DLL to provide R functions 
in an add on package, which requires linkage to R.dll. Not convinced that the 
license it set up right to cover that, but that appears to be the intention. 
Question is whether at the other end, at the invocation API end, whether it is 
the intention to be able to use the invocation API and link to R.dll without my 
program being subjected to GPL.



Note that I'm not talking here about anything to do with code written in the 
language of R. This is purely concerned with treating R as a library with an 
interface and wanting to link to that interface and whether the intention or 
the actuality of the license allow that.



Thanks!




        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to