On Jan 25, 2013, at 3:32 PM, Marc Schwartz wrote:

> 
> On Jan 25, 2013, at 12:16 PM, Christian Sigg <christ...@sigg-iten.ch> wrote:
> 
>> Dear Duncan
>> 
>>> I don't think my point contradicts the FSF interpretation.  I think they 
>>> were talking about using GPL modules in a program you distribute, with the 
>>> implication that you are distributing the modules along with your program.  
>>> However, I could be wrong.  If I am wrong and the FSF agrees with your 
>>> strong interpretation, then I do think they are wrong.
>> 
>> Let me again quote parts of the GPL FAQ:
>> 
>>> Another similar and very common case is to provide libraries with the 
>>> interpreter which are themselves interpreted. For instance, Perl comes with 
>>> many Perl modules, and a Java implementation comes with many Java classes. 
>>> These libraries and the programs that call them are always dynamically 
>>> linked together.
>>> 
>>> A consequence is that if you choose to use GPL'd Perl modules or Java 
>>> classes in your program, you must release the program in a GPL-compatible 
>>> way, regardless of the license used in the Perl or Java interpreter that 
>>> the combined Perl or Java program will run on. 
>> 
>> The second paragraph (applied to R) says that if I use a GPL'd R package, I 
>> must release the program in a GPL-compatible way. It makes no mention of 
>> distributing the GPLed modules along with the program. 
>> 
>> I think that this FAQ entry precisely exists because in an interpreted 
>> environment, it is possible to make use of the functionality of a GPLed 
>> package without copying code (in source or binary form) from that package 
>> into my program (beyond the API calls), as it would happen in static 
>> linking. The last sentence of the first paragraph unambiguously asserts that 
>> calling functionality from an R package is equivalent to dynamic linking of 
>> my program with the package. 
>> 
>> The preceding entry of the GPL FAQ has this to say:
>> 
>>> If a library is released under the GPL (not the LGPL), does that mean that 
>>> any software which uses it has to be under the GPL or a GPL-compatible 
>>> license? (#IfLibraryIsGPL)
>>> 
>>>   Yes, because the software as it is actually run includes the library.
>> 
>> There exist several licenses which modify the GPL explicitly to allow for 
>> dynamic linking to a GPLed library without having to release the program 
>> under the GPL (e.g. LGPL, Classpath Licence, GCC Runtime Library Exception. 
>> The following section again states that dynamic linking implies that a 
>> program and the package become effectively a single program, which needs to 
>> be released under the GPL:
>> 
>>> Can I release a non-free program that's designed to load a GPL-covered 
>>> plug-in? (#NFUseGPLPlugins)
>>> 
>>>  (...)
>>> 
>>>   If the program dynamically links plug-ins, and they make function calls 
>>> to each other and share data structures, we believe they form a single 
>>> program, which must be treated as an extension of both the main program and 
>>> the plug-ins. In order to use the GPL-covered plug-ins, the main program 
>>> must be released under the GPL or a GPL-compatible free software license, 
>>> and that the terms of the GPL must be followed when the main program is 
>>> distributed for use with these plug-ins.
>> 
>> 
>> I see nothing in the FAQ which would indicate that these points were only 
>> valid if the GPLed R package is distributed along with my program.
>> 
>> 
>>> If you write something that incorporates nothing of mine, I can't see how 
>>> my copyright could influence you at all.  If a user needs my code to make 
>>> yours useful, I don't see how any of that changes.  The GPL is quite clear 
>>> that it doesn't restrict people in how they use the code, it just gives 
>>> them rights to copy it (possibly in a modified form, if they follow the 
>>> rules).
>> 
>> I think I understand your position, and personally applied the same 
>> reasoning when reading the GPL. But the above quoted sections unambiguously 
>> concern usage and dynamic linking, and make no mention of copying code. 
>> 
>>> No, CRAN and the R Foundation have not published that.  I don't think 
>>> either group will publish a position.  You can guess the current beliefs of 
>>> the folks at CRAN by seeing what they do (under the reasonable assumption 
>>> that they do not think they are doing anything illegal), but those beliefs 
>>> might change.  The R Foundation does almost nothing, so it's a little more 
>>> inscrutable.
>> 
>> I already mentioned in my first email what I assume is the position of the 
>> CRAN maintainers and the R Foundation, i.e. that they believe that 
>> distributing non GPL-compatible packages which depend on GPL packages is not 
>> a violation of the GPL. But if my reading of the GPL FAQ has any merit, then 
>> the FSF has a different position. And because the R project is an official 
>> GNU project, the FSF interpretation of the GPL is important for the R 
>> project. A clarification of the position of the CRAN maintainers and the R 
>> Foundation would therefore be helpful.
>> 
>> Prof. Leisch explicitly mentions that discussions concerning such issues 
>> (e.g. combining R with non-free functionality) are taking place, and that a 
>> common position is sought with the intent of publishing it:
>> 
>>> Just a short clarification (by no means intended to stop the thread):
>>> as you can imagine we are discussing the matter internally in R Core
>>> and the Foundation, but there are different views and we want to
>>> consolidate before we make a public statement.  If all of us were of
>>> the same opinion we would already have made one.
>> 
>> 
>> 
>> 
>>>> Note that I am not asking for legal advice,
>>> 
>>> You should be.  If you really want to know whether they are using your code 
>>> illegally, or about whether your proposed use of other peoples code is 
>>> legal, you really should get legal advice.
>> 
>> This issue has been brought up several times, making it a frequently asked 
>> question (for some definitions of frequently :-). A clarification of the 
>> position of the CRAN maintainers and the R Foundation is valuable, and does 
>> not have to constitute legal advice.
>> 
>> Best regards,
>> Christian
> 
> 
> 
> Some additional points, if I may:
> 
> 1. The discussion that Christian points to which references Fritz' comments 
> is now going on 4 years old. I have seen nothing, to my recollection, that 
> represents a formal position being taken by the R Foundation on this issue.

I'm somewhat baffled that the one official statement that the R Foundation made 
specifically for this purpose is apparently being overlooked:

https://stat.ethz.ch/pipermail/r-devel/2009-May/053248.html

Cheers,
Simon




> Thus, I would not have any expectation that they will. If something has been 
> decided, it appears to be a default position to not change anything vis-a-vis 
> CRAN without sufficient motivation to do so, which would logically be legally 
> based at some level.
> 
> 2. As Christian notes, R is a GNU project and is therefore a high profile 
> project within the open source community. I take a certain level of comfort 
> that none of the FSF, any other open source advocacy organization or RMS 
> himself (who as we all know is not shy on these issues and who has spoken at 
> a useR meeting), has elected to take a negative position on this issue, 
> resulting in any change in the behavior of CRAN. In other words, there has 
> been no cease and desist communication regarding the distribution of non-GPL 
> compatible packages on CRAN or elsewhere for that matter. If there was, I 
> have no doubt that we all would have heard about it and those packages would 
> be off CRAN or other points of distribution by now. Given some of the 
> "energy" contained in prior communications on this issue, I would envision 
> that one or more of those previous participants would have taken it upon 
> themselves to proactively communicate their concerns to the FSF. Just saying.
> 
> 3. There are for-profit commercial vendors of R distributions who have built 
> proprietary components on top of R, who distribute R and other components, 
> including add-on packages, under multiple licensing scenarios. I have 
> absolutely no doubt that those vendors' corporate legal counsel have rendered 
> formal legal opinions suitable to the respective companies and their boards 
> of directors/investors/shareholders that a clear separation can be made 
> between R as a GPL application and other components that do not need to be 
> released under a GPL compatible license, given appropriate parameters.
> 
> So there appear to be two issues here:
> 
> 1. Should CRAN, as a distribution network for a GPL application, contain 
> non-GPL compatible packages. As I noted, that appears to be a philosophical 
> issue, with at least a de facto position being held by the R Foundation at 
> this time.
> 
> 2. Can non-GPL compatible packages for R even be created (even if "pure R"), 
> based upon the interpretation of the GPL that Christian has postulated? Any 
> third party R program is certainly going to call at minimum, base R functions 
> who's source code and/or compiled binaries are not contained in the user's 
> package/code. Thus there is an implicit dependency on base R functionality 
> other than the interpreter/parser itself. Given this, it seems to me that 
> this possible interpretation of the GPL applies even in the scenario where I 
> create an R package that does not depend upon someone else's CRAN package for 
> functionality. The significant and long standing precedent in the marketplace 
> would seem to indicate that the answer is Yes.
> 
> Regards,
> 
> Marc
> 
> 

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to