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 court. 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 the 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]]