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

Make libgmp dependency optional #1

Merged
merged 2 commits into from
Jun 6, 2017
Merged

Make libgmp dependency optional #1

merged 2 commits into from
Jun 6, 2017

Conversation

steveatinfincia
Copy link
Contributor

Hi :)

I've moved the code that requires linking with libgmp behind a feature (but made it the default).

This makes the Plain encryption type the only one available when libgmp is not available, but that's OK for many use cases, and the pseudo-TLS design in the Secret Service specification is more or less only intended for preventing secrets from being swapped to disk anyway, which can be solved in other ways.

This was needed for a few reasons:

  1. Linking with libgmp on some Rust targets, like x86_64-unknown-linux-musl, requires building it separately rather than just installing the distro version, which is almost always going to be built to work with gnu libc. That would be fine in many cases, as it's not that hard to build things (and libdbus also has to be built the same way), but...

  2. Linking Apache 2.0 licensed code with, and using, a LGPLv3/GPLv3 library like libgmp presents a licensing issue that might be resolvable in some cases. Dynamically linking to it may be ok if you choose to use libgmp under the LGPLv3 or if libgmp qualifies for the system library exception to the GPLv3, but that wouldn't work for a musl library/binary anyway as it would have to be statically linked.

As an aside, libdbus would also present these issues in some cases, but it's dual licensed under the AFL 2.1, which makes some things easier (static linking libdbus itself), and some things harder, as it is completely incompatible with the GPL so nothing else licensed under the GPL could be linked at all.

@hwchen
Copy link
Owner

hwchen commented Apr 26, 2017 via email

@hwchen
Copy link
Owner

hwchen commented May 18, 2017

Thanks again! I'm going to merge, but first wanted to ask if you wanted to make some notes in the docs and the readme about this feature. If not, I'm also happy to.

@steveatinfincia
Copy link
Contributor Author

@hwchen sure I can add some notes tonight :)

@hwchen
Copy link
Owner

hwchen commented Jun 5, 2017

Hi @steveatinfincia, I'd like to get this merged in the next day or two, so if you don't add notes I'll probably just do it myself. No problem if you can't get to it, I appreciate the work you already did.

@steveatinfincia
Copy link
Contributor Author

@hwchen sorry about that, have been insanely busy lately. Writing it up right now :)

@hwchen
Copy link
Owner

hwchen commented Jun 6, 2017

No problem, thanks so much!

@hwchen hwchen merged commit 31ddddc into hwchen:master Jun 6, 2017
@steveatinfincia steveatinfincia deleted the nogmp branch June 6, 2017 01:15
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

Successfully merging this pull request may close these issues.

2 participants