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

Double license under MPL 2 and LGPL 3 #23

Closed
garro95 opened this issue Sep 24, 2020 · 9 comments
Closed

Double license under MPL 2 and LGPL 3 #23

garro95 opened this issue Sep 24, 2020 · 9 comments

Comments

@garro95
Copy link
Owner

garro95 commented Sep 24, 2020

Dear contributors,
Because of how Cargo works, it is currently easier to statically link external crates.

The GNU LGPL license, however, impose to link dynamically.

I am opening this issue to get your consent about double licensing this crate under both the LGPL and the MPL.

The Mozilla Public License is still a weak copyleft license, similar to the LGPL, but allowing static linking to software with a different license.

@lnicola @tsionyx @BourgondAries @ocecaco @petr-tik

@lnicola
Copy link
Contributor

lnicola commented Sep 24, 2020

Apache-2/MIT is more popular in the Rust ecosystem, but it's fine if you prefer MPL.


I hereby consent to the relicensing of my contribution to this repository under LGPL 3 and MPL 2.0.

@ocecaco
Copy link
Contributor

ocecaco commented Sep 24, 2020

Sure, I consent to licensing under LGPL 3 and MPL 2.0 as well.

@petr-tik
Copy link
Contributor

petr-tik commented Oct 4, 2020

Makes sense.

I hereby consent to the relicensing of my contribution to this repository under LGPL 3 and MPL 2.0.

@tsionyx
Copy link
Contributor

tsionyx commented Oct 6, 2020

I am agreed with relicensing of my contribution too.

@kstrafe
Copy link
Contributor

kstrafe commented Dec 13, 2020

I consent to licensing under LGPL 3 and MPL 2.0 as well.

@garro95
Copy link
Owner Author

garro95 commented Dec 16, 2020

This crate is now licensed under both the LGPL 3 and the MPL 2.0, at user's opinion

@garro95 garro95 closed this as completed Dec 16, 2020
@DK26
Copy link

DK26 commented Jan 6, 2023

I may be wrong because I relied on ChatGPT to check this out for me (let me know if you know better), but it seems that both LGPL 3 and MPL 2.0, require that we allow the user to modify and replace the library as they see fit. This is of course a little more problematic to comply with when using a single executable (Rust). This may require hacks to turns the library into a dynamically linked one or provide the full source code to the user in order for them to compile the project themselves.

This basically means that if you try to use this library in a closed-source project in Rust, you must hack into a dynamically link solution (such as .dll file) or else you are violating the license. This should be considered as this is very limiting the use case of the library to fit mainly an open-source project. Unless this is what the project intended to begin with of course.

@lnicola
Copy link
Contributor

lnicola commented Jan 7, 2023

That's true for LGPL, but not for MPL. From https://www.mozilla.org/en-US/MPL/2.0/FAQ/:

This allows, for example, programs using MPL-licensed code to be statically linked to and distributed as part of a larger proprietary piece of software, which would not generally be possible under the terms of stronger copyleft licenses.

From what I've seen, ChatGPT often gives wrong, but confident-sounding answers, so one should be a little discerning when applying its advice.

You can work see in the issue description at the top that the motivation for relicensing to MPL 2.0 was allowing static linking in the way you describe.

@DK26
Copy link

DK26 commented Jan 7, 2023

That's true for LGPL, but not for MPL. From https://www.mozilla.org/en-US/MPL/2.0/FAQ/:

This allows, for example, programs using MPL-licensed code to be statically linked to and distributed as part of a larger proprietary piece of software, which would not generally be possible under the terms of stronger copyleft licenses.

From what I've seen, ChatGPT often gives wrong, but confident-sounding answers, so one should be a little discerning when applying its advice.

You can work see in the issue description at the top that the motivation for relicensing to MPL 2.0 was allowing static linking in the way you describe.

Yeah, I figured this might be a mistake. Thanks for the quick answer. I had to make sure that ChatGPT was the one that is wrong and not the OP because of the OP intend and for me to consider the crate.

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

7 participants