[Rd] Terminology clarification (Re: GPL and R Community Policies (Rcpp)
edd at debian.org
Thu Dec 2 22:35:59 CET 2010
There are repeated claims concerning a "Rcpp fork". Let's address both terms
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  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.
Finally, as Ravi wrote:
On 2 December 2010 at 10:36, Ravi Varadhan wrote:
| So, Dominick - please cheer up and try to find some solace in that your work
| has had an influence on the R community!
I have even older emails (from 2005/2006) where the author complains that no
other R packages use what was then Rcpp. The code changed a lot, but there
is still some pride to be had in an idea living on, even if (as Peter wrote)
someone else picks up "your" ball and runs with it.
Dirk Eddelbuettel | edd at debian.org | http://dirk.eddelbuettel.com
More information about the R-devel