Short Open Source Q&A with Revolution Analytics

July 14, 2010
By

(This article was first published on BioStatMatt » R, and kindly contributed to R-bloggers)

I recently e-mailed David Smith of Revolution Analytics with a few questions about their relationship with the R-project, and how they handle R‘s source code. David mentioned, and I’m flattered that my email motivated an additional page on the Revolution website. Beyond this, I have no other relationship with the company.

I’d like to thank David and Revolution for their openness and willingness to interact with the open-source R community. David kindly responded with the following (reproduced with permission):

Q. Is Revolution R a “downstream” project of the R-project?
A. No. Our model is Open Core: we bundle proprietary components with the open-source R project. We do sometimes make minor changes to the R source code when we distribute R, but you couldn’t consider this a “downstream version”: we always update from the latest sources for R from the R Project (and re-incorporate any of our changes to the new version, where necessary). In general our preference is to contribute changes to R directly to the R project, which we’ve done several times in the past and will continue to do so.

Q. Can the community see Revolution’s changes/additions to R source code?
A. Certainly — all the changes are listed in the ChangeLog file in the GPL sources we distribute; we provide a link to those sources via email when you download Revolution R, and also from http://www.revolutionanalytics.com/downloads/

Q. How does Revolution sell programs that use R source code? Isn’t there a license issue?
A. We use an Open Core software model, which is an established business model around open-source software. Mark Radcliffe, the General Legal Counsel for the Open Source Initiative, helps us ensure we comply with all aspects of the GPLv2. He’s written about Open Core models here: http://lawandlifesiliconvalley.com/blog/?p=485

The ‘Open Core’ model (in my shallow understanding), is an emerging business strategy for companies using open-source software. In contrast with the strategy of say, Canonical (Ubuntu), businesses operating under the Open Core model will offer an open-source ‘base’ package, and then a commercially licensed suite of enhancements to the base package. In the case of Revolution R, the base package is simply R (perhaps with minor changes of the type David mentions above). The commercial enhancements to Revolution include, for example, the use of Intel’s Math Kernel Library (MKL) and compiling under an Intel compiler.

I took a moment to browse Revolution’s modifications to version 2.10.1 of R‘s source code (obtained from the link above). The changes between the two trees involved 92 files, 1010 insertions, and 224 deletions (according to diff). Browsing through the changes, I found most to be related to the Intel compiler, its extensions, and the MKL. In addition to file changes, there were many additional files. The changes and additions involved a total 544 files, 208691 insertions, and 319 deletions (according to diff). The majority of additional files result from the inclusion of the open-source JPEG library by the Independent JPEG Group, libpng, libtiff, and several other Windows-related fixes and extensions.

To leave a comment for the author, please follow the link and comment on their blog: BioStatMatt » R.

R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...



If you got this far, why not subscribe for updates from the site? Choose your flavor: e-mail, twitter, RSS, or facebook...

Tags: ,

Comments are closed.

Search R-bloggers


Sponsors

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)