-
-
Notifications
You must be signed in to change notification settings - Fork 42
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
Split gpl package #31
Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
recipe/meta.yaml
Outdated
- include/sqlite3* # [not win] | ||
- share/man/man1/sqlite3* # [not win] | ||
- lib/libsqlite3* # [not win] | ||
- lib/pkgconfig/sqlite3.pc # [not win] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jakirkham I feel like all these lines are just going to cause future pain for packagers. Is there a way to simplify things?
recipe/meta.yaml
Outdated
- name: sqlite | ||
files: | ||
- bin/sqlite3 # [not win] | ||
- Library/bin/sqlite3.exe # [win] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jakirkham I really just want to take the "compliment" of these files.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess now it is pretty clean.
@jakirkham @ocefpaf @scopatz @bgruening Thank you for your comments on PR #30. I think this PR addresses all the issues and takes a step in the right direction in terms of compliance. Depending on the feedback I receive from you guys I'll add a GPL license file for the |
recipe/meta.yaml
Outdated
- sqlite3 --version | ||
about: | ||
home: http://www.sqlite.org/ | ||
license: GPL-3.0 # [not win] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think that it is OK to change the license here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You mean the win/not win flag?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I mean that I don't think it is OK to advertise that a license covers a package that the original authors did not intend
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That is, readline is clearly GPL'd and so SQLite should retain its license
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is important to note that because you are using sqlite+readline, there are 2 authors. And the GPL license is viral by design, and makes the product as a whole GPL.
The source can still be found under Public domain. But this distribution, compiled by conda-forge is GPL. (Unless you claim that APIs are not copyrighted like you did below).
recipe/meta.yaml
Outdated
# By compiling with readline, the /bin/sqlite3 executable becomes | ||
# subject to the GPL | ||
# Therefore, we decide to split it to make it clear | ||
# That the other software is not. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think that this is strictly true, or at least it is open to legal interpretation. The GPL certainly claims that (dynamically) linking will make the joint program GPL. However, this does not necessarily follow, as when you link the only part of the code that is used is the API, which is non-copyrightable.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That is fair, but there is no compatible library that has a compatible API (yet) on conda-forge so that argument is rather weak.
I think that along with the dependency on readline
, it is hard to argue against the fact that the final product, that arrives on the user's computer is not using GPL code.
Implement @scopatz's suggestions
@scopatz, hopefully I incorporated all the mods you requested. The script is also much improved to ensure that we don't need to keep updating things. Let me know what you think. |
Superseeded by conda-forge/staged-recipes#6550 |
Superseeds #30 (suggested using libedit instead)
Fixes #29
Splits the package into a GPL'ed portion (the binary) and the non-gpl'ed portion (the library). See results from ldd.
(I didn't test it with windows or mac, lets see what the CI's say)
The binary is compiled with readline support, so it must have a GPLv3 license.
Notes from the discussion in #30
@bgruening suggested looking at how debian packages things
I am unfamiliar with debian packaging, but it doesn't seem that they list a license in their package.
They they split their package into an executable package and library.
Checklist
0
(if the version changed)conda-smithy
XREF:
Issue on Continuum repo: