On “Competition” in the R Ecosystem

[This article was first published on R – Win-Vector Blog, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

I’ve been thinking a bit on “competition” in the R ecosystem.

I guess the closest I can come to a fair and coherent view on “competition” in the R ecosystem is some variation of the following.

  • I, of course, should not be treating things as a competition. We are all doing work and hoping for a bit of public mind share.
  • We all want our own work to do well. So we are a little sad if other work supplants our work, and a little happy if our work is adopted. However, we must respect if our work is adopted, we are supplanting other work- the very thing we do not enjoy when it happens to us.

So, I’d definitely like to apologize for times I have not thought clearly and treated some aspects of the ecosystem as competition. It is when we are thinking hardest about ourselves we are mostly likely to offend others.

That being said, there is some context that I feel matters.

  • Please understand any new technique is always going to be asked to compare itself to both base-R and the tidyverse. These are natural questions. One has to walk a fine line between not mentioning these (and perhaps unfairly slighting them), or adding the comparison (and seeming pushy).
  • Size, distribution, and transparency matter. A new package that is promoted by a large company and/or immediately included in popular packages or meta-packages controlled the same authors can eliminate even the possibility of fair comparison to other work. Frankly I think there is some responsibility to take additional care and concern should be taken in these cases. Winner take all popularity tracking systems have similar risks (encouraging new users come to conclusions prior to looking at any alternatives).
  • Precedence in no way entitles one to priority. Sometimes our work is a later alternative to earlier work by others (and we do try to give credit in these situations), and sometimes others’ work is a later alternative to ours. And frankly sometimes base-R already does a good job, and we just missed it (though we are not alone in that, also one must take care to respect that base-R itself is a collection of other people’s contributions).

For example: our own wrapr dot-arrow pipe comes long after the magritter pipe. We try to keep the history clear, but frankly it takes some effort for work related to such a popular notation to be heard. I understand some are offended by our promotional effort, but we feel we have some valuable improvements to share (which can only be shown by comparison), and writing notes is the only platform we have.

As a contrary example: our own let() method comes before the rlang package, but has been formally criticized as being too similar to rlang. We’ve tried to write down some of the context, but really that should not be our task alone.

Of course there is a risk of a (hopefully breakable) negative cycle: what we do when frustrated, in turn frustrates others.

To leave a comment for the author, please follow the link and comment on their blog: R – Win-Vector Blog.

R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

Never miss an update!
Subscribe to R-bloggers to receive
e-mails with the latest R posts.
(You will not see this message again.)

Click here to close (This popup will not appear again)