[Rcpp-devel] [Rd] Terminology clarification (Re: GPL and R Community Policies (Rcpp)

Dominick Samperi djsamperi at gmail.com
Thu Dec 2 23:50:51 CET 2010

While we are on the subject of terminology, it is important to remember
that Rcpp is a C++ library, and this is often confused with Rcpp the
package. I changed the package name to limit confusion on this
point, but the package name was changed back to Rcpp for the "fork" (or
"branch", not sure what else to call it). The one constant in all of
this is Rcpp the C++ library.

On Thu, Dec 2, 2010 at 5:23 PM, Dominick Samperi <djsamperi at gmail.com>wrote:

> On Thu, Dec 2, 2010 at 4:35 PM, Dirk Eddelbuettel <edd at debian.org> wrote:
>> There are repeated claims concerning a "Rcpp fork".  Let's address both
>> terms
>> in turn.
>> i)  Rcpp was used in November 2008 as the name for a re-launch of a
>> package
>>    which had seen releases on CRAN in 2005/2006 during which it was also
>>    renamed to RcppTemplate. Hence no package of name Rcpp had existed for
>>    years; the package's own author had moved on to anther name
>> (RcppTemplate
>>    as it were).  As such, no other package conflicted with the name.
>>    To my knowledge, there is no 'namespace reservation into eternity' for
>>    project names their very authors have liberated. If I missed a
>> precedent,
>>    I would appreciate a pointer.
>>    We still use the name Rcpp today (in what is an almost entirely
>> rewritten
>>    package with vastly expanded functionality) as it is useful in
>>    communicating the basic purpose: integrating R and C++.
>> ii) The usage of "fork" is simply wrong.  As running 'dict fork' on my
>> Unix
>>    machine shows (among many other entries covering anything from the
>> eating
>>    utensil to the system call):
>>        fork In the open-source community, a fork is what occurs when two
>> (or
>>           more) versions of a software package's source code are being
>> developed
>>           in parallel which once shared a common code base, and these
>> multiple
>>           versions of the source code have irreconcilable differences
>> between
>>           them. This should not be confused with a development branch,
>> which may
>>           later be folded back into the original source code base. Nor
>> should it
>>           be confused with what happens when a new distribution of Linux
>> or some
>>           other distribution is created, because that largely assembles
>> pieces
>>           than can and will be used in other distributions without
>> conflict.
>>           Forking is uncommon; in fact, it is so uncommon that individual
>>           instances loom large in hacker folklore. Notable in this class
>> were the
>>           http://www.xemacs.org/About/XEmacsVsGNUemacs.html (Emacs/XEmacs
>> fork),
>>           the GCC/EGCS fork (later healed by a merger) and the forks among
>> the
>>           FreeBSD, NetBSD, and OpenBSD operating systems.
>>    Note the "when two (or more) versions of a software package's source
>> code
>>    are being developed in parallel".
>>    Ergo, a "fork" would have required another living project with on-going
>>    development.  But the code previously known at Rcpp/RcppTemplate was
>>    anything but "living", this can easily be verified by looking at the
>>    (preferably time-sorted) directory at CRAN (see link [1] below).
>> So let's please stop calling this a "fork" of Rcpp.  The Rcpp /
>> RcppTemplate
>> project was not live in late 2008; we changed that and started a relaunch
>> under the (unused !!) name Rcpp which now, a good two years later, looks
>> pretty healthy with four contributor and growing use within the R
>> community.
>> Rcpp has been almost completely rewritten and enhanced, but I fail to see
>> the
>> bitterness of its original author.  There could be some pride in seeing
>> ideas
>> re-used.  But to each their own.
>> Lastly, for the associated 'remove my name' request: I have emails from
>> 2008
>> requesting this (which I accomodated), I also have emails from 2009 that
>> requested the reversal (also accomodated).  This is getting old.
> OK, since you are so accomodating, then please remove all reference to
> my name from Rcpp as I do not want to be subject to arbitrary revisions of
> my status. I may not have the right to say how my prior work will be used,
> but I think I have the right to ask that my name not be used in the way
> it is used in the recent update.
> On the "fork" question, in November of 2009 you were maintaining
> an old version of my software for your own purposes because I did
> not have time to contribute updates to CRAN. The changes that
> you made were minimal (as a diff would show). GPL permits you
> to do this. Whether you call this a fork or not is a language issue.
> In November of 2009 I released an update with many improvements
> including object mapping support that was missing from my old
> software and from the version that you were maintaining. I asked
> you to remove the version you were maintaining so there would
> be only one Rcpp library, and you refused, invited Romain to
> join the project, and added many of the features that I had just
> released. Thus the real "fork" occured in November 2009.
> Dominick
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/rcpp-devel/attachments/20101202/1deea344/attachment.htm>

More information about the Rcpp-devel mailing list