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

GPL-2 (no later version) and GPL-3+ files linked to same binary #13

Closed
smoe opened this issue Sep 18, 2020 · 14 comments
Closed

GPL-2 (no later version) and GPL-3+ files linked to same binary #13

smoe opened this issue Sep 18, 2020 · 14 comments

Comments

@smoe
Copy link

smoe commented Sep 18, 2020

Hello,

We have prepared a Debian package for rcpphnsw. Our peer review now pointed us to the license of
https://github.com/jlmelville/rcpphnsw/blob/master/inst/include/RcppPerpendicular/RcppPerpendicular.h (GPL version 2) that is in conflict with the license of the remainder of your source tree (GPL version 3 or later). This blocks the acceptance of your package in the Debian archive and with it also all its reverse dependencies, which we ran into for the Covid-19 hackathon for Debian.

As an interim quick fix, would you possibly find it acceptable to change your license to GPL version 2 or later? Additionally/alternatively, maybe you could get a permission from the authors of RcppPerpendicular.h to redistribute your derivative work as GPL version 3+?

These are the two ideas that came to my mind, there may be others. Our concerns about contributing to the research on the pandemic aside, it would also just be nice to see this cleaned up.

Many thanks and kind regards,
Steffen

@jlmelville
Copy link
Owner

Thanks for bringing this to my attention @smoe.

@LTLA @SamGG @dselivanov @yxngl are you ok with having your contributions relicensed to GPL2 or later?

@dselivanov
Copy link
Contributor

I'm fine.

@LTLA
Copy link
Contributor

LTLA commented Sep 18, 2020

Also fine by me. I can't even remember what I contributed here, it can't have been all that much.

@SamGG
Copy link
Contributor

SamGG commented Sep 18, 2020

If you are OK, I am OK.
As far as I remember, my contribution concerns tests and discussions. I thank you again for having elevated me to the role of contributor.
In general, I have no problem with releasing my own code under LGPL in order to help everybody that need it, even private companies that sell software for academic research.

@jlmelville
Copy link
Owner

@smoe I spoke with the original authors of that code (RcppParallel) and they have relicensed their package to GPL 2 or later. So in turn I am able to relicense the file to GPL 2 or later also. The master branch of this repo has been updated to version 0.3.0.9000 and RcppPerpendicular.h now notes that it is GPL 2 or later (with the typical notice in the comments). Is that sufficient for your needs? If you require a new CRAN release that might take a little longer. I would like to avoid making another submission to CRAN so soon after the last one, particular as there are no code changes.

@smoe
Copy link
Author

smoe commented Sep 19, 2020

@jlmelville Thank you and your contributors tons for your swift action. The source code for debian was taken from github, where we are informed when you assign a new tag and one of the maintainers (we are organized as a team) then updates the package. You have not tagged that update but I can proceed with that change in your repo.

On a sidenote, with RcppPerpendicular.h now distributed under terms of the GPL-2+, which on my end was unexpected to happen such quickly, I must admit, in my understanding this is now compatible with your original GPL-3+ license. Please give this another mental spin. I am then ready to reupload either way.

@jlmelville
Copy link
Owner

On a sidenote, with RcppPerpendicular.h now distributed under terms of the GPL-2+, which on my end was unexpected to happen such quickly, I must admit, in my understanding this is now compatible with your original GPL-3+ license. Please give this another mental spin. I am then ready to reupload either way.

@smoe I agree with your interpretation, and I am no longer planning to relicense the package as a whole (although thank you to my fellow contributors for their swift responses). That was a plan B because I was also not expecting such a swift response from the RcppParallel maintainers. If the current state of the master branch meets your needs we can close this issue.

@jlmelville
Copy link
Owner

@smoe in case it helps with your housekeeping I made a new release and with it a tag: https://github.com/jlmelville/rcpphnsw/releases/tag/v0.3.0.9000

@smoe
Copy link
Author

smoe commented Sep 19, 2020

I just had a quick check and found DESCRIPTION to say

License: GPL-3

while the README states "GPL-3 or later". To clarify, please have it

License: GPL (>= 3)

or maybe GPL-3+? But this is missing on https://cran.r-project.org/doc/manuals/R-exts.html#The-DESCRIPTION-file to which https://r-pkgs.org/description.html points.

@jlmelville
Copy link
Owner

@smoe this is an interesting question but one that I am not qualified to answer.

GPL (>= 3) isn't a valid identifier for the License field, so we can't do that. There's just GPL3. But I actually don't know if that implies GPL3 only or GPL3+later. The link at https://www.r-project.org/Licenses/ points to https://www.r-project.org/Licenses/GPL-3.

Unfortunately it's not clear to me where I would even ask for clarification on that matter.

@smoe
Copy link
Author

smoe commented Sep 19, 2020

And our energies should be invested elsewhere. Since GPL (>= 2) is apparently a valid identifier (https://cran.r-project.org/doc/manuals/R-exts.html#The-DESCRIPTION-file) I am rather confident that so is GPL (>= 3), too. I found https://stackoverflow.com/questions/61484580/correct-format-for-input-of-license-into-description-document-of-own-r-package which seems to confirm this.

Thank you again. I am happy.

@jlmelville
Copy link
Owner

Apologies @smoe, you are correct. GPL (>= 3) does pass R checks as a valid specifier, so I have changed the DESCRIPTION to this. The tag at https://github.com/jlmelville/rcpphnsw/releases/tag/v0.3.0.9001 reflects this.

@smoe
Copy link
Author

smoe commented Sep 19, 2020

Uploaded.

Please ping me if there is something else that you would like to see redistributed in Debian+Ubuntu.

@smoe smoe closed this as completed Sep 19, 2020
@SamGG
Copy link
Contributor

SamGG commented Sep 19, 2020

@smoe James has done such a great work, which could useful to a large audience. It's super to include in Debian repo.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants