On Aug 6, 2010, at 1:31 PM, Tom Quarendon wrote:

> I was going by the stated intention of the R foundation (to hold and 
> administer the copyright for R software and documentation), but it doesn't 
> make any odds really, I'm not wanting to change the license terms, as I say, 
> just understand what the intended license grant is.
> The fact remains though that it appears to be the intention to allow you to 
> write an add-on package and distribute it with a non GPL license. That much 
> is made clear, though it also appears (at least with my understanding of 
> GPL/LGPL) that simply putting LGPL on the relevant header files is 
> insufficient, the R.dll itself is still covered by GPL, and that's what 
> matters. So my question was one of, was it the intention to ALSO allow 
> connection "at the other end" as it where, that it to use the invocation API 
> and not just the API to register functions, evaluate expressions etc. It 
> appears not to be (otherwise the LGPL would have been added to Rembedded.h as 
> well), but I was hoping to get that clarified.
> As I say, it's my belief that R.dll is actually covered by GPL and that the 
> LGPL on the relevant header files is irrelevant, but that's just my 
> interpretation of GPL. And if there is any third party code built in as part 
> of R (don't know whether there is) that is also GPL, then that's even more 
> reason to believe that R.dll has to be covered by GPL, and not LGPL.

I think you're pretty much on the mark there. 

As for the original intention, insofar as there was a unique one (multiple 
people were involved and not all were paying equal attention): If I remember 
correctly, the situation at the time was that there were packages with 
non-commercial use clauses which we didn't want to expressly forbid, and we 
didn't want the inclusion of header files _in itself_ to enforce any particular 
license, and this is why we put the LGPL on them. 

I'm not quite sure, but I think we also had some commercial usages in mind -- I 
certainly remember that we had r-help questions from people with binary 
packages that locked them into an ancient version of R. 

I don't think we were completely aware at the time that header files is not the 
whole story, and that the compatibility status of a package to some extent 
depends on what the package does, and the borderlines are quite blurry. This is 
a discussion very similar to that of plugins for other programs: If a 
proprietary plugin provides add-on functionality (e.g. access to a commercial 
database), then it is probably OK, if a plugin is de facto using the program, 
and everything it links to, as a library without which the plugin has no 
independent meaning, then it is very probably not OK. 

The official FSF position on such matters is described in the GPL-FAQ 
http://www.gnu.org/licenses/gpl-faq.html, although as far as I know, there is 
no actual legal precedent.

> 
> 
> -----Original Message-----
> From: Duncan Murdoch [mailto:murdoch.dun...@gmail.com]
> Sent: 06 August 2010 12:16
> To: Tom Quarendon
> Cc: r-help@r-project.org
> Subject: Re: [R] Is R GPL or LGPL (or can I write a commercial front end to 
> R)?
> 
> Tom Quarendon wrote:
>> I think you're misunderstanding me, or I am you.
>> I'm not wanting to change the license under which R is distributed (though 
>> if it is dual licensed to anybody already that would be interesting), simply 
>> trying to understand the intention of the license grant. It is clearly 
>> stated that it is the intention that you be able to write a addon package 
>> and release it under a non-GPL license. I think I understand the effect of 
>> the GPL and LGPL (or at least I have my opinion) as it pertains to R, and as 
>> far as I understand GPL and LGPL I don't see it allows the intended grant of 
>> being able to link to R.dll to write an add-on package and release that 
>> package as non-GPL.
>> Also, as you say, there are potentially many copyright holders to consider. 
>> The R foundation holds the copyright of all of the R source code,
> 
> No, that's not true.  You need to look at the copyright statements in
> each individual file to know who the copyright holder is for that file.
> In some cases the R Foundation is the copyright holder, but more often
> it is not.  For example, if I grep for Copyright in the main source
> directory, I see a lot of different lines, including these:
> 
> RNG.c: *  Copyright (C) 1995, 1996  Robert Gentleman and Ross Ihaka
> RNG.c: *  Copyright (C) 1997--2007  The R Development Core Team
> RNG.c:   Copyright (C) 1997, 1999 Makoto Matsumoto and Takuji Nishimura.
> 
> R does not request copyright transfer, only GPL licensing from the
> copyright holder.  This makes it really impractical to ask what the
> intentions are:  there are just too many people involved.  I can tell
> you that I wouldn't object to what you are proposing, but I can't speak
> for Robert or Ross or Makoto or Takuji or the rest of the Core team or
> the other copyright holders of other files.
> 
> Duncan Murdoch
> 
>> but there may be other third party libraries that are included as part of R 
>> (for example there might be a math library somewhere, or a graphics library 
>> -- don't know, just examples I can think of), and the license to those will 
>> matter with respect to whether R.dll could ever be released under LGPL. But 
>> beyond that, at some level it isn't the license that matters but the 
>> intention. If the intention is to allow something, then the R foundation 
>> won't sue even if the letter of the license prohibits it (clearly they could 
>> change their minds, but you know what I mean).
>> So, as I say, I'm not after legal opinion, simply what the intention of the 
>> foundation is, or the commonly understood intention. I believe that there 
>> are commercial products that do exactly what I was describing (I believe 
>> that there are commercial products, not GPL licensed, that operate as front 
>> ends to R, using the invocation API, and not just invoking the R 
>> executable), so at least someone somewhere thinks it's OK. Since the mailing 
>> list is the only communication channel I'm aware of I'm using it. If you 
>> think there's a more appropriate communication channel, then I'll use it.
>> 
>> 
>> -----Original Message-----
>> From: Duncan Murdoch [mailto:murdoch.dun...@gmail.com]
>> Sent: 06 August 2010 11:47
>> To: Tom Quarendon
>> Cc: r-help@r-project.org
>> Subject: Re: [R] Is R GPL or LGPL (or can I write a commercial front end to 
>> R)?
>> 
>> Tom Quarendon wrote:
>> 
>>> 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 can't speak for the R Foundation, but I can say that its intentions
>> aren't all you have to consider.  R has many copyright owners.  You need
>> to get permission from all of them if you want a special license, so the
>> easiest thing is to stay with a GPL v2 compatible license.  If you don't
>> want to do that, then you could go ahead with some other license and see
>> what happens, but it might not be until your project becomes popular
>> that someone decides to take action.  So in the latter case I'd get a
>> legal opinion, not a mailing list opinion, before I invested a lot of
>> time or money.
>> 
>> Duncan Murdoch
>> 
>> 
>>> 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.
>>> 
>>> 
>> 
>> 
>> 
>> 
>> __________ Information from ESET NOD32 Antivirus, version of virus signature 
>> database 5346 (20100806) __________
>> 
>> The message was checked by ESET NOD32 Antivirus.
>> 
>> http://www.eset.com
>> 
>> 
>> 
>> __________ Information from ESET NOD32 Antivirus, version of virus signature 
>> database 5346 (20100806) __________
>> 
>> The message was checked by ESET NOD32 Antivirus.
>> 
>> http://www.eset.com
>> 
>> 
> 
> 
> 
> 
> __________ Information from ESET NOD32 Antivirus, version of virus signature 
> database 5346 (20100806) __________
> 
> The message was checked by ESET NOD32 Antivirus.
> 
> http://www.eset.com
> 
> 
> 
> __________ Information from ESET NOD32 Antivirus, version of virus signature 
> database 5346 (20100806) __________
> 
> The message was checked by ESET NOD32 Antivirus.
> 
> http://www.eset.com
> 
> ______________________________________________
> 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.

-- 
Peter Dalgaard
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Phone: (+45)38153501
Email: pd....@cbs.dk  Priv: pda...@gmail.com

______________________________________________
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