Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Licensing issues #18

Open
jpavlich opened this issue Oct 4, 2022 · 4 comments
Open

Licensing issues #18

jpavlich opened this issue Oct 4, 2022 · 4 comments
Labels
resource-library This is not related to standards but to processes and should be moved to the knowledge repository

Comments

@jpavlich
Copy link
Member

jpavlich commented Oct 4, 2022

Since there are many GPL R packages, the probability to having to reuse one of them is relatively high. In fact, we have found some very useful packages that are GPL.
The blueprint states that we should aim for more liberal licenses (MIT or similar). However, if we want to take advantage of all existing packages, it might be better to use GPL.
For practical reasons I would prefer to go for GPL, but I would like to have an agreement on this matter: should the blueprint be changed to explicitly indicate that GPL is also an acceptable license for our packages? Or do we have compelling reasons to stay with liberal licenses and avoid using GPL packages?

@Bisaloo
Copy link
Member

Bisaloo commented Oct 4, 2022

We've had a similar discussion back when I was in epiforecasts with @sbfnk. We didn't reach an agreement about MIT vs GPL but the slides of this discussion might be useful to anyone who is not familiar with the topic: https://hugogruson.fr/licenses_talk.

Two reactions to the initial message:

  • I agree it is usually good to follow what is done in the community but strictly speaking, the fact that many packages use the GPL only forces us to use the GPL ourselves if we copy code from them.
  • I believe it is very important to stick to a common license. RStudio started by using multiple different licenses throughout their repos. This turned out to be quite confusing and they ended up going through a major relicensing a couple of years ago. It seemed to be quite painful and I think we should avoid it if we can by choosing a common license from the start.

@jpavlich
Copy link
Member Author

jpavlich commented Oct 4, 2022

@Bisaloo you are right, I had a misconception about GPL. My concern was that we would be forced to use GPL if we reused GPL libraris, which I guess it's incorrect.

After digging a little deeper I found that MIT license is compatible with GPL so, to my understanding, we can use GPL libs and release our code under MIT. Am I right? If so, then we do not need to continue this discussion, as we can stick to MIT and not have any of the issues I mentioned.

@Bisaloo
Copy link
Member

Bisaloo commented Oct 4, 2022

we can use GPL libs and release our code under MIT.

Yes, this is correct.

We would have to use GPL only if we copy / adapt code from a GPL package, or from base R itself (since R is released under the GPL v2).

If so, then we do not need to continue this discussion, as we can stick to MIT and not have any of the issues I mentioned.

Glad we clarified the absence of technical necessity to switch to GPL but I still believe this issue brings up a valid point. Even if we don't have to switch to the GPL, some people might prefer it over MIT so it's good to have a discussion 🙂.

@Bisaloo
Copy link
Member

Bisaloo commented Feb 16, 2023

Linking this here for memory. The conversation above also applies to packages LinkingTo Rcpp, as explained in the Rcpp FAQ:

1.5 What licenses can I choose for my code?

The Rcpp package is licensed under the terms of the GNU GPL 2 or later, just like R itself. A key goal of the Rcpp package
is to make extending R more seamless. But by linking your code against R (as well as Rcpp), the combination is bound by
the GPL as well. This is very clearly stated at the FSF website:

Linking a GPL covered work statically or dynamically with other modules is making a combined work based
on the GPL covered work. Thus, the terms and conditions of the GNU General Public License cover the whole
combination.

So you are free to license your work under whichever terms you find suitable (provided they are GPL-compatible, see the
FSF site for details). However, the combined work will remain under the terms and conditions of the GNU General Public
License. This restriction comes from both R which is GPL-licensed as well as from Rcpp and whichever other GPL-licensed
components you may be linking against

https://dirk.eddelbuettel.com/code/rcpp/Rcpp-FAQ.pdf

@Bisaloo Bisaloo added resource-library This is not related to standards but to processes and should be moved to the knowledge repository and removed discussion labels Jul 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
resource-library This is not related to standards but to processes and should be moved to the knowledge repository
Projects
None yet
Development

No branches or pull requests

2 participants