Skip to content
Prev 2326 / 12125 Next

[R-pkg-devel] Licensing of an R package

Hi Martyn,

Thanks for your very clear explanation. I now understand the point that Duncan was making.

However, just to clarify point 4). 

I understand that a GPL license means that I cannot distribute a binary that combines both asreml and asremlPlus, which asreml would not allow anyway. 

However, under a GPL license, can I distribute a binary of asremlPlus on its own as long as the source for asremlPlus is available, which it is from the same web site as the binary and from Github? I would have thought so because this is exactly what CRAN does in distributing Windows binaries of packages.

Cheers,

  Chris


-----Original Message-----
From: Martyn Plummer [mailto:plummerm at iarc.fr] 
Sent: Tuesday, 23 January 2018 4:26 AM
To: Chris Brien; edd at debian.org; murdoch.duncan at gmail.com
Cc: r-package-devel at r-project.org
Subject: Re: [R-pkg-devel] Licensing of an R package
On Fri, 2018-01-19 at 20:28 +0000, Chris Brien wrote:
It is not as bad as you think. 

The FSF admits that sometimes you need to link to a non-free library.
They just ask you not to do it if a free replacement is available:
https://www.gnu.org/licenses/gpl-faq.en.html#FSWithNFLibs

As Duncan points out, your choice of license does not affect what you can do with it. As copyright holder, you can do what you like (modulo restrictions placed on you by the asreml license). The question is what rights you want to confer to other people.

GPL is based on copyright law, so the rights and obligations it confers come into effect only when the software is distributed (or "conveyed"
in the updated language of GPL 3) to a third party. These rights and obligations also apply to any derived works, which means both modified source code and binary packages created from the source code.

With a GPL license, anyone has the right to do the following with your asremlPlus package:

1) Distribute the source package.

2) Distribute modified versions of the source package under the same GPL conditions.

3) Install and use the asremlPlus package linked to the asreml library.
 

What they cannot do with a standard GPL license is:

4) Distribute a binary package of asremlPlus linked to asreml

Distributing a binary package of asremlPlus under the GPL comes with the obligation to provide the source code to asreml which, of course, cannot be done.

It should also be noted that the license terms of asreml itself may prevent distribution of a binary package of asremlPlus.

However, if there are no such restrictions then nothing prevents you as sole copyright holder from creating your own (dynamically linked) binaries and distributing them to your users.

If you do want to give your users rights to distribute binary packages then you may add an explicit exception to the GPL to your software license. The FSF provides a template to add this exception to your
license:

https://www.gnu.org/licenses/gpl-faq.en.html#GPLIncompatibleLibs

Martyn