[Rd] About ParallelR and licensing of packages
Fellows, Ian
ifellows at ucsd.edu
Mon Apr 27 07:24:31 CEST 2009
Matthew,
I can only assume that because you posted this to R Devel that you wish for general commentary. So far as I am able to tell, Revolutions has acted in the best of faith regarding respecting the GPL license and the R community. It is unfortunate that premature claims like yours may scare off future commercial vendors who wish to respect the IP of contributors.
Without knowing much about it's implementation, it seems to me that your claim that ParallelR is somehow a derivative of data.table seems implausible to the extreme. How exactly do you think that their parallel code 'requires' your package to work? And if you don't know, don't you think that it might have been a little premature to make a big public fuss about it?
>This potential dispute is between myself only and REvolution. You must engage with me directly by answering the questions above with respect to data.table. It is a matter for you whether you answer publicly, via your lawyers or
>privately to me. It is my understanding that any other GPL'd R library owners is also entitled to establish, either now or in the future, whether they are also potentially in dispute with you on the same basis as above. There are up
>to 1,700 distinct R libraries, each of which could potentially generate 1,700 claims of breach of contract on you. One of those is the R Foundation, who as license holder for the library "base" have stated they will make a public
>statement in due course. That is a matter for the R Foundation, and them alone. In my potential dispute with you, under English law I have 6 years between the date of any as yet unknown breach of contract and the date by
>which I must serve notice on you and submit particulars of claim to the court. My lawyers cannot start to draft particulars of claim until we have established we are actually in dispute.
Dr. Ripley noted earlier in this thread that base is considered part of the language. As for your mythical storm of 1700 breaches of contract,... that would only be the case if either, 1700 packages were directly called, and required by the parts of REvolutions that are proprietary, or 1700 package maintainers misunderstood the GPL.
>4. Whether or not I felt legally obligated to release data.table under the GPL, because it was or was not derived from the R library "base", or any other point of FSF guidance, is irrelevant to my potential dispute with you regarding
> data.table. The fact is I released data.table under the GPL.
again, base would seem to be part of the language.
>5. Denise has stated to be a long-time supporter of the FSF and has served on the board of the Open Source Initiative since 2001. In what manner does support of FSF extend? Holding such affiliations may create a conflict o
>f interest with regard to my potential claim against you. It is feasible, if we are in dispute of course, that my lawyers could at a future date ask Denise to relinquish either the FSF affiliation or employment by you. I had already
> communicated with the FSF for example before the email from Denise, so you may be privy to such communication, potentially causing a conflict or interest.
It seems a bit arrogant to claim that you might be able legally force a private individual who has committed no crime to change what people or organizations that they associate with. You could of course "ask" that she relinquish associations, but that is not up to you or your lawyers. That is between the FSF and her.
Ian
________________________________________
From: r-devel-bounces at r-project.org [r-devel-bounces at r-project.org] On Behalf Of Matthew Dowle [mdowle at mdowle.plus.com]
Sent: Sunday, April 26, 2009 7:21 PM
To: Danese Cooper
Cc: r-devel at r-project.org
Subject: Re: [Rd] About ParallelR and licensing of packages
Dear Danese,
Without prejudice save as to costs
I am the author of the R library "data.table". I released data.table under the provisions of the General Public License (GPL). This email is to notify REvolution that we may be in dispute. If we are in dispute then I am entitled to issue litigation proceedings against REvolution for breach of contract.
To establish if we are in fact in dispute, please answer the following :
1. Does REvolution R Enterprise include the library data.table ?
2. Has REvolution R Enterprise been distributed yet, for example has REvolution sold a copy ?
3. If it was distributed, was it distributed under a GPL-compatible license ?
FSF guidance : http://www.fsf.org/licensing/licenses/gpl-faq.html#GPLInProprietarySystem
Notwithstanding a potential dispute on the basis above, please also answer the following :
4. Has REvolution distributed any program code, written in R or any other language or environment or otherwise, which uses the library data.table, for example by calling functions that are provided by data.table at run time ?
5. If so, was such program code distributed under a GPL compatible license ?
FSF guidance :
http://www.fsf.org/licensing/licenses/gpl-faq.html#IfInterpreterIsGPL (3rd paragraph)
http://www.fsf.org/licensing/licenses/gpl-faq.html#IfLibraryIsGPL
http://www.fsf.org/licensing/licenses/gpl-faq.html#NFUseGPLPlugins
I am making every effort to agree with you that we are not in dispute. I have several suggestions which may avoid dispute, for example you could remove data.table from REvolution R Enterprise. You could confirm that the aggregate work REvolution R Enterprise is released under a GPL-compatible license. There may well be other solutions you could suggest. You could decide to postpone distribution of REvolution R Enterprise until all potential disputes are resolved. If I have not heard from you or your representatives within 21 days of today 26 April 2009 then I will instruct my legal representatives to establish whether there is a dispute. Alternatively you can confirm we are in dispute and I will start to accrue legal costs immediately thereon. Any such costs will themselves form part of the claim. I intend to be as open and forthcoming with you about costs as my lawyers permit me.
This potential dispute is between myself only and REvolution. You must engage with me directly by answering the questions above with respect to data.table. It is a matter for you whether you answer publicly, via your lawyers or privately to me. It is my understanding that any other GPL'd R library owners is also entitled to establish, either now or in the future, whether they are also potentially in dispute with you on the same basis as above. There are up to 1,700 distinct R libraries, each of which could potentially generate 1,700 claims of breach of contract on you. One of those is the R Foundation, who as license holder for the library "base" have stated they will make a public statement in due course. That is a matter for the R Foundation, and them alone. In my potential dispute with you, under English law I have 6 years between the date of any as yet unknown breach of contract and the date by which I must serve notice on you and submit particulars of claim to the cou!
rt. My lawyers cannot start to draft particulars of claim until we have established we are actually in dispute.
I remind you of the contract by which you are bound by me of your distributing of my library, or your distributing of programs (yours or otherwise) which use my library :
Licensing FAQ page: http://www.fsf.org/licenses/gpl-faq.html
Text of the GNU GPL: http://www.fsf.org/copyleft/gpl.html
Text of the GNU LGPL: http://www.fsf.org/copyleft/lgpl.html
FSF license list page: http://www.fsf.org/licenses/license-list.html
I look forward to your response.
I have 5 further points to add, each of which may be relevant with respect to my potential dispute with you.
1. NetworkSpaces (library 'nws')
This is very welcome. I look forward to using it and I look forward to seeing many other GPL'd libraries being distributed that use it. REvolution released nws under the GPL, the same license as data.table is released under. This is a material fact that may be relevant in our potential dispute. It will be difficult for REvolution to argue in court in defence of my claim, that either you do not agree with the FSF's GPL license, you do not agree with the FSF guidance, or you were not aware of the differences between GPL and LGPL, for example, since your firm has already relied on the GPL license to protect your library, and the CRAN repository as a method to impose the license. You would find it hard to argue that no contract has been signed with a wet signature for example, since you did not impose that requirement on R users for your own library 'nws'. Your difficulty would be further compounded if you were yourself the claimant against another entity which had distributed !
non-GPL work which used the library nws.
2. SFLC
The guidance from the FSF on this matter is above. It goes further than your summary of SFLC's counsel. As we are both holders of FSF licenses, I suggest we should both follow the FSF guidance as a standard. This would of course be a matter for our lawyers to establish in due course, if it turns out we are in dispute.
3. Precedent for CRAN package license status
The onus is on you to prove precedent, since your apparent claim of precedent would be your defence in the potential case against you from the R Foundation or indeed in my case against you. There are several steps required to prove precedent in my person opinion :
i. You must prove that distribution actually took place. The existence of a package on CRAN does not prove it has been distributed. In the same way that the REvolution R Enterprise web page exists on your website does not prove you have distributed that product. It is possible that there are packages on CRAN that no entity has ever downloaded. Such non-distributed packages could not breach R's GPL, regardless of their license status.
ii. Then you must prove that the R Foundation knew about such distribution. The distribution may have taken place off-CRAN, or a host of other reasons.
iii. Then you must prove that such distribution event did actually breach R's GPL license, and that the R Foundation knew they would have been able to prove that. However, the following guidance from the FSF would appear to suggest that any added restrictions can be removed by the user (the person using such package) anyway : http://www.fsf.org/licensing/licenses/gpl-faq.html#NoMilitary. So there would be no breach of GPL in this instance even though the package author attempted to add restrictions.
iv. Then you must prove that the R Foundation did not, and can not in the future, bring legal action against the particular distribution occurrence. Under English law a claimant has 6 years from the date of breach of contract in which to file particulars of claim with the court. The R Foundation may well have already been taking action. Nobody knows other than the R Foundation. It could take a long time before the R Foundation is able to clarify their position. I see no rush.
Once you had proved each and every point i-iv above, the particular details of such proved precedent would apply, and those only. So for example, you might be able to end up being allowed to submit an R library to CRAN with a potentially GPL-incompatible license, just like the others you claim set precedent, but that would be all. As far as I am aware, for a package to be accepted on CRAN it must include all its source code, regardless of its license file. That may or may not be acceptable to any potential commercial strategy you are proposing.
To labour this point, you appear to claim that precedent has been set that allows you to bundle R along with GPL'd add-on packages along with your own non-GPL'd packages, and distribute such bundle under a non-GPL license, distributed off-CRAN. You also or alternatively perhaps claim that precedent has been set that allows you to distribute your own proprietary R library 'foreach' and 'iterators' using a non-CRAN distribution mechanism. Such precedent claims are frankly laughable in my personal opinion.
One reason your potential defence of legal precedent with respect to the R Foundation's potential claim on you, involves me, is that in a future potential dispute with you about a future potential package I might release under GPL, you might claim in your defence that I have created president by not issuing proceedings against you now. Therefore your potential claim of defence with the R Foundation mean that I would be advised to start proceedings against you now, to avert a similar potential claim of defence in the future. This is notwithstanding the fact that such claims of legal precedent in defence of your particular potential breach are laughable anyway. Then you must consider all other authors of R packages whose packages you intend to bundle, and you have the same difficulty with them. In short, your claims of precedent in defence of R Foundation potential dispute with you, may potentially create a case for legal costs incurred now by the set of distinct owners of t!
he apx 1,700 package authors who will require to consult legal advisers as to their positions, as to the best way to avoid compromising their entitlements due to inaction now. I advise you to act swiftly therefore.
4. Whether or not I felt legally obligated to release data.table under the GPL, because it was or was not derived from the R library "base", or any other point of FSF guidance, is irrelevant to my potential dispute with you regarding data.table. The fact is I released data.table under the GPL.
5. Denise has stated to be a long-time supporter of the FSF and has served on the board of the Open Source Initiative since 2001. In what manner does support of FSF extend? Holding such affiliations may create a conflict of interest with regard to my potential claim against you. It is feasible, if we are in dispute of course, that my lawyers could at a future date ask Denise to relinquish either the FSF affiliation or employment by you. I had already communicated with the FSF for example before the email from Denise, so you may be privy to such communication, potentially causing a conflict or interest.
6. On the 22nd April 2009 at 00:30 hours I posted item 4 to the "GPL and ParallelR" thread on the R Evolution Forum. This item has not yet appeared on your Forum. Why is this? I refer to the post in which I said I was moving the thread to r-devel.
7. The apparent lack of court judgements with regard to the GPL license is not in my opinion a weakness of any potential legal action against you. On the contrary. The measure of the success of the GPL license, and the FSF's guidance, should in my opinion be the number of disputes that have been avoided due to the GPL license provisions being abided to thus far. Perhaps reasonable lower and upper bounds could be put on this number, using R of course.
8. Whether or not the GPL is an advantageous strategy for either the R community or REvolution is a matter of debate for everyone involved. Such debate is however irrelevant to my potential dispute with you. We must first establish that all parties will abide by the FSF's guidance on GPL. Once that is established we can move on to discuss re-licensing, or dual-licensing to LGPL. I would again refer you to the FSF's guidance on that also: http://www.fsf.org/licensing/licenses/why-not-lgpl.html. Whether or not I have the option to license data.table under LGPL may or may not depend on the license of the base package to which data.table in turn links to. It may be relevant in my potential dispute with you whether or not your packages 'foreach' and 'iterators' link to base, if you potentially make new claims of precedent in that regard in the future for example.
The opinions and statements in this email are my own, and my own only. For completeness, I will repeat in public that I support REvolution and have every respect for all your members of staff. I consider myself a potential source of revenue for you. You must however abide by the provisions of the GPL license.
Yours sincerely,
Matthew
P.S. If you are an interested 3rd party reading the letter above and are now worried about using R due to fear of a potential litigation against you, then the following 2 links should allay your fears. I am unable to think of anything that could be more clear than this.
http://www.fsf.org/licensing/licenses/gpl-faq.html#InternalDistribution
http://www.fsf.org/licensing/licenses/gpl-faq.html#GPLRequireSourcePostedPublic
P.P.S. There are several nodes in the previous threads that I could respond to individually. It would take too long to do so. I believe I have read everything on the threads (thanks to all) and tried to respond accordingly to any outstanding point above. For example point 3.iii may help with several points raised.
[[alternative HTML version deleted]]
______________________________________________
R-devel at r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
More information about the R-devel
mailing list