[R] Is R GPL or LGPL (or can I write a commercial front end to R)?

Tom Quarendon tom.quarendon at teamwpc.co.uk
Fri Aug 6 18:14:22 CEST 2010


I think I've probably got what I need from this thread now ("get legal advice" :-) ).
Rest assured for those that are concerned (and thank you for your concern) that we'd get advice if we felt we needed it.

Thanks for all your responses!

Tom Quarendon.

-----Original Message-----
From: Marc Schwartz [mailto:marc_schwartz at me.com]
Sent: 06 August 2010 16:10
To: Tom Quarendon
Cc: Tal Galili; r-help at r-project.org
Subject: Re: [R] Is R GPL or LGPL (or can I write a commercial front end to R)?

Tom,

FWIW, since you appear to be representing World Programming in your queries (at least that is my inference given your e-mail domain), it would be prudent to get formal legal advice here and not place your company at legal and financial risk by basing decisions on comments (well intentioned though they may be) on an e-mail list.

You don't want to make key business decisions on "beliefs".

There are other commercial companies doing what you are proposing to do. However, the devil is in the details.

To an extent, the intentions of the various R related copyright holders do not matter. The copyright holders, who are not themselves software licensing lawyers, may not be fully cognizant of all of the legal implications of the licenses they used and how those licenses apply to specific situations. Their intentions, explicit and implicit, must be legally consistent with the licenses under which their code and R are released. The R Foundation cannot make a proactive decision to let you do something that is in violation of the GPL as the R Foundation would put itself at legal risk.

One of the key points in the GPL licensing scheme, is that one need not get the permission or the opinion of every copyright holder involved in the code that is desired to be used. Once the copyright holders have made the decision to release their code under the GPL, the only consideration is whether or not the subsequent use of that code by others is legally consistent with the GPL. I can't stop you from doing something with my GPL code, as long as you honor the GPL, even if I might disagree with the application of my code to a particular task (eg. http://www.gnu.org/licenses/gpl-faq.html#NoMilitary).

It is when you make the decision to build and distribute (at no cost or otherwise) closed source software on top of open source software that things get dicey.

Thus, what will matter in the end, at some point down the road when you have a closed source commercial R product, with revenues at risk, is whether or not the the R Foundation and/or the FSF, will contact you due to a violation of the GPL because of the **specific** way in which your closed source GUI interacts with R. The FSF will have an interest here, because R is a GNU project, not to mention, ensuring that the GPL is properly enforced.

The FSF has already shown that it will independently undertake such communications on behalf of GNU projects and enforcing the GPL license. That recently happened, for example, with GNU Go for iOS via the Apple App Store, resulting in the removal of that product. In addition (timing is everything), the Software Freedom Conservancy just won a judgement against Westinghouse due to a GPL violation:

  http://www.linuxplanet.com/linuxplanet/reports/7145/1/

While the details of these situations are not directly applicable to your query, it is a demonstration that GPL enforcement is moving forward in the courts and legal precedents are being established. In the end, all of that is good, because it will be helpful to others to better understand the legal boundaries and interpretations of the GPL as they apply to specific situations.

So there is a real risk to your company, dependent upon fairly low level programming and operational details, which can impact whether or not you can sell a closed source GUI that runs on top of R.

At the end of the day, you have a fiduciary responsibility to your company to seek formal legal advice. That is part of the cost of doing business and making informed decisions.

HTH,

Marc Schwartz


On Aug 6, 2010, at 8:42 AM, Tom Quarendon wrote:

> It wasn't the intention of the GPL I was really interested in, I believe I understand that (or at least I believe I understand the FSF view on things), it was the intention of the authors of R. I believe that the FSF view linking to a DLL creating a derived work and hence you are "infected" by the GPL. "If you want to use GPL code you can, as long as you're willing to be GPL yourself". This doesn't appear to square with the intention of the R authors to allow non-GPL add-on projects with native code.
>
>
>
> Tom Q.
>
>
>
> From: Tal Galili [mailto:tal.galili at gmail.com]
> Sent: 06 August 2010 12:28
> To: Tom Quarendon
> Cc: Duncan Murdoch; r-help at r-project.org
> Subject: Re: [R] Is R GPL or LGPL (or can I write a commercial front end to R)?
>
>
>
> From what I've seen on other OSS project, GPL can be a bit viral, making it (purposefully) difficult for someone to close the source code for free reuse.
>
>
>
> My tip for you would be to try and see what REvolution computing has been doing with their product (which is a repackaging of R with more code which is proprietary).
>
>
>
> Also, Richard Stallman (the author of GPL, and other one or two meaningful pieces of code, if to understate) gave a talk on "free software" and GPL during his talk on useR2010.  I don't think he'll say something that would directly answer your question.  But it could give you some insight to what such people "expect" with their GPL licence... it might be worth a listen:
>
> http://www.r-statistics.com/2010/07/richard-stallman-talkqa-at-the-user-2010-conference-audio-files-attached/
>
>
>
>
> On Fri, Aug 6, 2010 at 1:59 PM, Tom Quarendon <tom.quarendon at teamwpc.co.uk<mailto:tom.quarendon at teamwpc.co.uk>> 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, 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.duncan at gmail.com<mailto:murdoch.duncan at gmail.com>]
> Sent: 06 August 2010 11:47
> To: Tom Quarendon
> Cc: r-help at r-project.org<mailto:r-help at 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!
>>




__________ Information from ESET NOD32 Antivirus, version of virus signature database 5347 (20100806) __________

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com



__________ Information from ESET NOD32 Antivirus, version of virus signature database 5347 (20100806) __________

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com



More information about the R-help mailing list