Hello, I want to use a function from another package (which is GPL>=3), about 20 lines of code, in my own package. I somewhat hesitate to depend on the entire package just for this single function, but of course I want to credit the original authors. What would be the best way to do that? Where should I put that credit? Or should I proceed completely different? Best, Felix
On 03/14/2013 03:34 AM, Felix Sch?nbrodt wrote:> I want to use a function from another package (which is GPL>=3), > about 20 lines of code, in my own package. I somewhat hesitate to > depend on the entire package just for this single function, but of > course I want to credit the original authors. > > What would be the best way to do that? Where should I put that > credit? Or should I proceed completely different?You could use 'Imports' if you will always use that code for your package. You could use 'Suggests' with appropriate tests to see if it is available if you only need it occasionally, or for only one function. If you wish to fork the original code and include the code directly in your package, then your package will also need to be GPL>=3, you will need to list the authors of that code as Contributors in your DESCRIPTION file, and I would strongly recommend that you place this code in a separate .R file in your package, with a separate Copyright and License comment block in that separate file stating the origins and license for this code snippet. That should satisfy both the spirit and the letter of the GPL. Cheers, Brian -- Brian G. Peterson http://braverock.com/brian/ Ph: 773-459-4973 IM: bgpbraverock
On Thu, Mar 14, 2013 at 8:34 AM, Felix Sch?nbrodt <nicebread at gmx.net> wrote:> Hello, > > I want to use a function from another package (which is GPL>=3), about 20 lines of code, in my own package. > I somewhat hesitate to depend on the entire package just for this single function, but of course I want to credit the original authors. > > What would be the best way to do that? Where should I put that credit? Or should I proceed completely different?Why so shy about the name and location of this function? I think I've seen cases like this before, where a package has a handy little function that has use outside the context of the package. In that case I think the best thing is often for that function to be taken out of that package completely, and put in a new package, because it isn't so tightly coupled to the aims of the package. Obviously this is overkill for one function, but its possible there's a few functions, or that they are handy enough to belong somewhere else, such as the plotrix package if its a little plotting function, or in one of Hadley's packages if it has an underscore in the name. Barry