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.