[Rd] Licensing concerns in porting S-Plus code to R libraries

Duncan Murdoch murdoch.duncan at gmail.com
Tue Oct 16 15:02:31 CEST 2012

On 12-10-15 8:38 PM, Chris Green wrote:
> I used S-Plus for many years, and developed lots of code for my research.
> When I switched to R a few years ago, I ported most of my S-Plus code over
> to R for my own use. Now that some of this code is quite polished, I would
> like to make it available as an R package on CRAN.
> Some of my S-Plus code, however, was based on Insightful S-Plus functions;
> for instance, I took a Trellis function, and modified to suit my needs. In
> some cases the modifications are minor (e.g., adding extra functionality,
> changing colors), while in other cases I've made substantial changes (e.g.,
> a new function that just uses the techniques of the internal function).
> Furthermore, in porting the code to R, I of course had to make further
> changes (e.g., Trellis functions for lattice/grid functions, new C code to
> replace internal S-Plus routines to which I did not have the source code).
> I wondering if anyone can provide some guidance here as to what I can
> release without running afoul of any user agreement that may have come with
> S-Plus long ago. I'm assuming other package developers, especially those
> that were S-Plus users long ago, have encountered this issue and can advise
> me on what to do.

For the functions that just use the same techniques but are new code, 
you probably don't need to worry.  But for the ones that include 
non-trivial amounts of S-PLUS code, you probably need permission from 
the copyright holder to release them.

I would write to Tibco (the current owners of S-PLUS) and ask permission 
to release your functions under the GPL.  Include copyright notices for 
them as well as for yourself.  You should include copies of the 
functions that are based on their work, so they know how much you are 
asking for.

You can also offer to release them under some other open license, if 
they'd prefer that.

I have no idea how receptive they'll be to this offer, but I think it's 
worth a try.  If they say no, then you should rewrite (or better still, 
get someone else to rewrite, based on your specs) those functions that 
use their code so they're all new.

Duncan Murdoch

More information about the R-devel mailing list