Skip to content

[R-pkg-devel] Package Etiquette

4 messages · Joseph Wood, Duncan Murdoch, Dirk Eddelbuettel +1 more

#
Hi all,



I?m a new developer and this is my first post. I have a question regarding
package development with regards to duplication of functionality. I read
the posting guide (https://www.r-project.org/posting-guide.html) and didn?t
see anything addressing this.


Is this the right place to ask?



Kind Regards,

Joseph Wood
#
On 08/09/2018 9:11 PM, Joseph Wood wrote:
Probably.
But your posts should be in plain text, not HTML.  This message is 
perfectly readable, but once you start putting code or formatted content 
into an HTML message, it will be mangled by the mailing list.

Duncan Murdoch
#
Hi Joseph,
On 8 September 2018 at 21:11, Joseph Wood wrote:
| I?m a new developer and this is my first post. I have a question regarding
| package development with regards to duplication of functionality. I read
| the posting guide (https://www.r-project.org/posting-guide.html) and didn?t
| see anything addressing this.

I sense that by actually asking the question (good move!) you already have an
inkling about the answer.  So indeed, _ex ante_ and with the caveat about
missing details and not knowing more: it is generally a bad thing.

Every now and then we manage to avoid it.  Eg I once had an (incomplete and
tentative but functional) package to have R interface the (awesome !!)
MessagePack binary serialization format (using C++ via Rcpp).  Then I spotted
a new package by Travers doing very similar things (in broader scope) via
R. So I suggested we joing forces, we did and the resulting package is much
better. So much so that we wrote a (not yet complete) paper about it too.

But it is a complex topic, and sometimes we need different approaches. And
the best person to ask may be the maintainer of the package you aim to
extend.   

The best answer may be in the _Writing R Extensions_ manual that came with
your copy of R.  It is the only "official" manual for package development.

| Is this the right place to ask?

Quite possibly, as it is the list about package development. Some more
pertinent detail may help, and as mentioned, maybe first talking to the
maintainer may not be a bad idea.

But to close: it is not formally forbidden, and duplication _happens_.  Good
judgement always helps, sometimes good judgement is informed by observing
best (prior) practice. And/or by asking here.

Hope this helps, Dirk
#
On 2018-09-09 09:30, Dirk Eddelbuettel wrote:
????? I wrote and use sos::findFn to find other packages and functions 
that seem to do the same or similar things.? A search for software and 
books on splines led to an invitation to help maintain and improve the 
"fda" package, and then to another invitation to collaborate on a book 
on "Functional data analysis with R and Matlab".? Another search got me 
named the maintainer of the "Ecdat" package, in which I've since fixed 
bugs while adding my own material.


 ????? Other searches led to functions in other packages I use in the 
FinTS package.? For that, I use, cite, and compare similar functions in 
other packages.? My philosophy, like Dirk's I think, is that if someone 
else has a function that seems to do what I want, I'd rather let them 
maintain it.? I will copy it only if I really need something different 
that they don't provide and don't want to provide.? If I copied 
something otherwise, the two copies would likely eventually get out of 
sync.? Then other users (and I myself) would have trouble determining 
which version to use.? What a mess. I'll let an existing package author 
worry about maintaining what s/he has already written and maintained.? I 
can worry about other things.


 ????? Hope this helps.
 ????? Spencer Graves